Task #10261 (closed)
Opened 7 years ago
Closed 6 years ago
BUG:Zeiss ZVI ROIs not consistently detected
| Reported by: | omero-qa | Owned by: | rleigh |
|---|---|---|---|
| Priority: | minor | Milestone: | Unscheduled |
| Component: | Bio-Formats | Version: | n.a. |
| Keywords: | n.a. | Cc: | kmichel@…, mlinkert |
| Resources: | n.a. | Referenced By: | n.a. |
| References: | n.a. | Remaining Time: | n.a. |
| Sprint: | n.a. |
Description
https://www.openmicroscopy.org/qa2/qa2/qa/feedback/4882/
Both ZVI files contains ROIs (verified with AxioVision? 4.8).
One of the ZVI files (20110209_region4_1841_atp.zvi) contains 6 ROIs; these don't show up in ImageJ. The other contains 18 ROIs, but none show up in ImageJ, and are missing from the OME-XML metadata, unlike the other.
In axiovision, exporting as Zeiss-TIFF results in the ROIs being exported in the Layers block, but neither file is imported correctly.
So it looks like there's a parsing bug in Zeiss-ZVI reading, at least for some files. And in Zeiss-TIFF for some (maybe all) files.
Change History (5)
comment:1 Changed 7 years ago by rleigh
- Component changed from from QA to Bio-Formats
- Status changed from new to accepted
comment:2 Changed 7 years ago by rleigh
comment:3 Changed 7 years ago by rleigh
- Cc mlinkert-x added
comment:4 Changed 6 years ago by rleigh
comment:5 Changed 6 years ago by rleigh
- Resolution set to fixed
- Status changed from accepted to closed
The following patch:
commit ff26f049788f58e451a3638a6b80e1ac4fa41039 Author: Roger Leigh <r.leigh@dundee.ac.uk> Date: Wed Jan 30 17:14:10 2013 +0000 ZeissZVIReader: Add layer early to avoid ROI loss if exception thrown diff --git a/components/bio-formats/src/loci/formats/in/ZeissZVIReader.java b/components/bio-formats/src/loci/formats/in/ZeissZVIReader.java index cb7dde8..96c1928 100644 --- a/components/bio-formats/src/loci/formats/in/ZeissZVIReader.java +++ b/components/bio-formats/src/loci/formats/in/ZeissZVIReader.java @@ -467,6 +467,7 @@ public class ZeissZVIReader extends BaseZeissReader { } Layer nlayer = new Layer(); + layers.add(nlayer); for (int shape=0; shape<roiOffsets.size(); shape++) { Shape nshape = new Shape(); @@ -531,7 +532,6 @@ public class ZeissZVIReader extends BaseZeissReader { nlayer.shapes.add(nshape); } - layers.add(nlayer); s.close(); }Makes the code more robust--by adding the layer at the start, we don't lose the layer content if an exception is thrown. However, the actual problem here is that 20110209_region1_1505_atp.zvi gets an
after reading 6 ROIs. Since the file contains 18 ROIs, it looks like there's most likely something wrong with the offsets used to parse the ROIs?