Warning: Can't synchronize with repository "(default)" (/home/git/ome.git does not appear to be a Git repository.). Look in the Trac log for more information.
Notice: In order to edit this ticket you need to be either: a Product Owner, The owner or the reporter of the ticket, or, in case of a Task not yet assigned, a team_member"

Task #10261 (closed)

Opened 11 years ago

Closed 11 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 11 years ago by rleigh

  • Component changed from from QA to Bio-Formats
  • Status changed from new to accepted

comment:2 Changed 11 years ago by rleigh

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

java.io.EOFException: Attempting to read beyond end of file

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?

comment:3 Changed 11 years ago by rleigh

  • Cc mlinkert-x added

comment:5 Changed 11 years ago by rleigh

  • Resolution set to fixed
  • Status changed from accepted to closed
Note: See TracTickets for help on using tickets. You may also have a look at Agilo extensions to the ticket.

1.3.13-PRO © 2008-2011 Agilo Software all rights reserved (this page was served in: 0.63100 sec.)

We're Hiring!