Task #10773 (closed)
Bug: ND2 dimensionality
Reported by: | omero-qa | Owned by: | mlinkert |
---|---|---|---|
Priority: | minor | Milestone: | 5.0.3 |
Component: | Bio-Formats | Version: | 4.4.8 |
Keywords: | ND2Reader | Cc: | enno.oldewurtel@…, kc.su@…, Richard.Mort@…, s.i.g.carvalhal@…, Tiao_Xie@… |
Resources: | n.a. | Referenced By: | https://trello.com/c/ArelsNBe/51-bug-nd2-bio-formats |
References: | n.a. | Remaining Time: | n.a. |
Sprint: | n.a. |
Description
https://www.openmicroscopy.org/qa2/qa2/qa/feedback/5042/
Comment: Both nd2 files have the same configuration with 8 multipoints (diff xy points) and 3 lambda channels.
4.4.6 loci_tools only reads the first 7 xy points of "8xyPoints_3channels_00_30m001_latelyOnly7xyIdentified.nd2",
while 4.4.2 loci_tools identifies all 8 xy points.
For "8xyPoints_3channels_00_30m235_all8xyIdentified.nd2" all 8 multipoints are read out for both loci_tools version.
For both files the multipoints are either identified as z-planes (version 4.4.6) or timepoints (version 4.4.2)
% showinf -nopix -omexml -novalid 5042/8xyPoints_3channels_00_30m235_all8xyIdentified.nd2 Checking file format [Nikon ND2] Initializing reader ND2Reader initializing /Users/rleigh/Desktop/5042/8xyPoints_3channels_00_30m235_all8xyIdentified.nd2 NativeND2Reader initializing /Users/rleigh/Desktop/5042/8xyPoints_3channels_00_30m235_all8xyIdentified.nd2 Searching for blocks Parsing block 'ND2 FILE SIG' 0% Parsing block 'ImageMetadat' 0% Parsing block 'ImageCalibra' 0% Parsing block 'ImageMetadat' 0% Parsing block 'ImageCalibra' 0% Parsing block 'ImageMetadat' 0% Parsing block 'ImageAttribu' 0% Parsing block 'ImageDataSeq' 0% Parsing block 'ImageDataSeq' 13% Parsing block 'ImageDataSeq' 25% Parsing block 'ImageDataSeq' 37% Parsing block 'ImageDataSeq' 50% Parsing block 'ImageDataSeq' 62% Parsing block 'ImageDataSeq' 74% Parsing block 'ImageDataSeq' 87% Parsing block 'ImageMetadat' 99% Parsing block 'ImageEventsL' 99% Parsing block 'ImageTextInf' 99% Exception in thread "main" java.lang.NumberFormatException: For input string: "078915,03,2013002111101112134020" at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1222) at java.lang.Double.valueOf(Double.java:475) at java.lang.Double.<init>(Double.java:567) at loci.formats.in.ND2Handler.parseKeyAndValue(ND2Handler.java:637) at loci.formats.in.NativeND2Reader.initFile(NativeND2Reader.java:523) at loci.formats.FormatReader.setId(FormatReader.java:1333) at loci.formats.DelegateReader.setId(DelegateReader.java:267) at loci.formats.ImageReader.setId(ImageReader.java:757) at loci.formats.ReaderWrapper.setId(ReaderWrapper.java:564) at loci.formats.tools.ImageInfo.testRead(ImageInfo.java:1013) at loci.formats.tools.ImageInfo.main(ImageInfo.java:1058) % showinf -nopix -omexml -novalid 5042/8xyPoints_3channels_00_30m001_latelyOnly7xyIdentified.nd2 Checking file format [Nikon ND2] Initializing reader ND2Reader initializing /Users/rleigh/Desktop/5042/8xyPoints_3channels_00_30m001_latelyOnly7xyIdentified.nd2 NativeND2Reader initializing /Users/rleigh/Desktop/5042/8xyPoints_3channels_00_30m001_latelyOnly7xyIdentified.nd2 Searching for blocks Parsing block 'ND2 FILE SIG' 0% Parsing block 'ImageMetadat' 0% Parsing block 'ImageCalibra' 0% Parsing block 'ImageMetadat' 0% Parsing block 'ImageCalibra' 0% Parsing block 'ImageMetadat' 0% Parsing block 'ImageAttribu' 0% Parsing block 'ImageDataSeq' 0% Parsing block 'ImageDataSeq' 13% Parsing block 'ImageDataSeq' 25% Parsing block 'ImageDataSeq' 37% Parsing block 'ImageDataSeq' 50% Parsing block 'ImageDataSeq' 62% Parsing block 'ImageDataSeq' 74% Parsing block 'ImageDataSeq' 87% Parsing block 'ImageMetadat' 99% Parsing block 'ImageEventsL' 99% Parsing block 'ImageTextInf' 99% Exception in thread "main" java.lang.NumberFormatException: For input string: "078914,03,2013200112101112134020" at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1222) at java.lang.Double.valueOf(Double.java:475) at java.lang.Double.<init>(Double.java:567) at loci.formats.in.ND2Handler.parseKeyAndValue(ND2Handler.java:637) at loci.formats.in.NativeND2Reader.initFile(NativeND2Reader.java:523) at loci.formats.FormatReader.setId(FormatReader.java:1333) at loci.formats.DelegateReader.setId(DelegateReader.java:267) at loci.formats.ImageReader.setId(ImageReader.java:757) at loci.formats.ReaderWrapper.setId(ReaderWrapper.java:564) at loci.formats.tools.ImageInfo.testRead(ImageInfo.java:1013) at loci.formats.tools.ImageInfo.main(ImageInfo.java:1058)
Change History (15)
comment:1 Changed 11 years ago by rleigh
- Component changed from from QA to Bio-Formats
comment:2 Changed 11 years ago by rleigh
comment:3 Changed 11 years ago by mlinkert
- Milestone changed from Unscheduled to OMERO-4.4.8
- Owner changed from mlinkert-x to mlinkert
- Summary changed from Bug: ND2 NumberFormatException and dimensionality to Bug: ND2 dimensionality
Exception was fixed with https://github.com/openmicroscopy/bioformats/pull/478; no longer a regression from 4.4.6.
comment:4 Changed 11 years ago by rleigh
The NumberFormatException? is gone with #478. However, there's still a regression in the detection of the image dimensions/total plane count. Here only 21 planes/7 Z/T are being picked up rather than 24/8. We are also likely chosing Z or T when neither are appropriate. Should the "multipoint" be a separate state position, in which case these should be separate images?
8xyPoints_3channels_00_30m001_latelyOnly7xyIdentified.nd2
- 4.4.7-pre:
Image count = 21 RGB = false (1) Interleaved = false Indexed = false (false color) Width = 960 Height = 720 SizeZ = 7 SizeT = 1 SizeC = 3
- v4.4.2:
Image count = 24 RGB = false (1) Interleaved = false Indexed = false (false color) Width = 960 Height = 720 SizeZ = 1 SizeT = 8 SizeC = 3
8xyPoints_3channels_00_30m235_all8xyIdentified.nd2
- 4.4.7-pre:
Image count = 24 RGB = false (1) Interleaved = false Indexed = false (false color) Width = 960 Height = 720 SizeZ = 8 SizeT = 1 SizeC = 3
- v4.4.2:
Image count = 24 RGB = false (1) Interleaved = false Indexed = false (false color) Width = 960 Height = 720 SizeZ = 1 SizeT = 8 SizeC = 3
comment:5 Changed 11 years ago by mlinkert
I guess I meant that it's not a regression from 4.4.6. We're not going to have time to put this in 4.4.7, so it will have to wait until at least next week.
comment:6 Changed 11 years ago by rleigh
That sounds fine.
comment:8 Changed 11 years ago by mlinkert
Another example is the latest addition to nd2/richard/.
comment:9 Changed 11 years ago by mlinkert
- Cc Richard.Mort@… added
- Version set to 4.4.8
comment:10 Changed 11 years ago by mlinkert
- Cc s.i.g.carvalhal@… added
- Milestone changed from OMERO-4.4.x to 5.0.0-beta3
See also the .nd2 file in /ome/team/pwalczysko/from Sara/Ex9 ALADIN WT KO KI 31_07_2013/, which should contain multiple stage positions, timepoints, and Z sections. Also for this file, the field index may be incorrect, as the planes are out of order.
comment:11 Changed 11 years ago by mlinkert
- Cc Tiao_Xie@… added
See also the dataset in nd2/tiao, which should have 10 T x 2 C.
comment:12 Changed 10 years ago by mlinkert
- Milestone changed from 5.1.0 to 5.0.3
Moving up to 5.0.3 so that this is resolved sooner.
comment:13 Changed 10 years ago by jamoore
- Referenced By set to https://trello.com/c/ArelsNBe/51-bug-nd2-bio-formats
comment:14 Changed 10 years ago by mlinkert
- Resolution set to fixed
- Status changed from new to closed
PR opened for inclusion in 5.0.3: https://github.com/openmicroscopy/bioformats/pull/1182
comment:15 Changed 10 years ago by Melissa Linkert <melissa@…>
(In [6fc4b0e51d5e3ca8c575544524bcf25eae929d1f/bioformats.git] on branch develop) ND2: set SizeT to the number of offsets if there is no dimension metadata
See #10773.
Note that the NumberFormatException? is a regression from 4.4.6, in addition to the original issue reported by the submitter.