-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Validate does not catch NaNs in Binary Tables #514
Comments
@agicquelb is this bug supposed to be for validate? if so, could you also add how you ran the tool and the version you are running? also, for uploading data, if you zip/tar the data/label up you can attach it. |
@jordanpadams yes it's for validate. I'm doing validate */*xml and the version is Version 2.2.0. attached are the zip files. |
@rchenatjpl can you help triage this for us? Is this an actual bug? |
Hi, @agicquelb , is there a PDS4 label to go with this? The .zip contained a .fit and a .lbl, which is PDS3. I believe the validate tool just ignores all the files in the directory and reports 0 errors. |
@jordanpadams @rchenatjpl attached is a zip file with the PDS4 label that I created. I never tried to validate PDS3 labels |
thanks @agicquelb @rchenatjpl it runs the PDS3 Volume Validator (it does not validate individual labels) |
Thanks, @agicquelb , that's great. Can you tell me where any NaN is - which Array_2D_Image (or Table_Binary), and within that, which Line and Sample (or record and field)? Or I could hunt down the binary. Or maybe that's where the work lies. I'll start hunting. |
@rchenatjpl For example the column L15S00FLUX in the EXTENSION_FLUX_TABLE |
I'll look at your last comment later tonight, @agicquelb
|
yes, I see it (NaN) called out in pds4_viewer but not validate. I'll check this tonight |
@agicquelb You are right, validate has a bug. It validates Array correctly but Table incorrectly. In the attachment, 4array.xml reads 4.bin as an array; 4table.xml reads 4.bin as a table. 4.png shows what pds4_viewer (correctly) thinks for each. Validate's output:
|
Similarly for 8-byte values
8.zip |
@jordanpadams Any update on this issue about the fact the validate doesn't catch NAN in Binary Tables? |
@agicquelb unfortunately, we are significantly behind in our backlog of bugs. this is in our plans for next build (June 2023), but as soon as we get this fixed, we can send you over a beta version to test out. sorry for the inconvenience. |
Reading through this ticket it seems that tables are not finding NaN and +/- Inf as arrays are. Am I reading this correctly? |
@al-niessner that sounds about right to me! |
@agicquelb @al-niessner @jordanpadams: Can we step back? Are NaN and Inf illegal in binary data? I should have asked this a year ago. In the PDS4 Standards doc, Table 5A-3, the row for ASCII_Real says "PDS does not allow ... INF... -INF...NaN". So I think it only applies to the ASCII data types, not the binary ones. If this is debatable, we should call others in. |
from Dick Simpson:
|
@al-niessner per you comment here, hopefully the discussion above resolves which is the right answer? |
My recollection is that “NaN” and “Inf” and other such identifiers are NOT legal in either ascii or binary data. For example, the number “666.66” in the string of bits file could be defined to be “error_constant”. So, each time “666.66” is located by s/w, the s/w knows that it represents “NaN” or ???. When identifying a specific number to represent one of the <special_constants>, the data supplier obviously must choose a number that is guaranteed NOT to be present in the “normal” range of numbers. Does this make sense ? <xs:complexType name="Field_Binary"> <xs:complexType name="Special_Constants"> |
I found Nan in Binary_Table. The validation tool didn't give me an error. I was looking at the data and I thought the nan. Is the validation tool not supposed to return an error? Also I can't upload file so I will see how I can send the example file to you.
Tightly coupled with #529 and #434
The text was updated successfully, but these errors were encountered: