Ticket #542 (closed defect: fixed)

Opened 9 years ago

Last modified 9 years ago

Multi-series stitching is incorrect

Reported by: curtis Owned by: melissa
Priority: major Milestone: bio-formats-4.2.1
Component: bio-formats Severity: serious
Keywords: Cc:
Blocked By: Blocking:

Description

When stitching a dataset with multiple image series distributed across multiple files:

$ cd 'wiscscan/jayne/long term test xyz'
$ showinf -stitch 'test longterm xyz_C1_TP1_SP0.tiff'

The file pattern is correctly detected. However, Bio-Formats only acknowledges two series, based on SP1 and SP2 file sets—the SP0 files are apparently ignored.

It also gets the axes wrong:

$ java loci.formats.AxisGuesser 'test longterm xyz_C1_TP1_SP0.tiff'
File = /Volumes/data/wiscscan/jayne/long term test xyz/test longterm xyz_C1_TP1_SP0.tiff
Pattern = /Volumes/data/wiscscan/jayne/long term test xyz/test longterm xyz_C<1-2>_TP<1-114>_SP<0-2>.tiff
Pattern is valid.
Reading first file 
[Fatal Error] :1:1: Content is not allowed in prolog.
Reading IFDs
Populating metadata
Checking comment style
Populating OME metadata
[done]
	dimOrder = XYCZT (uncertain)
	sizeZ = 1
	sizeT = 20
	sizeC = 1
Axis types:
	<1-2>	C (prefix = test longterm xyz_C)
	<1-114>	T (prefix = _TP)
	<0-2>	? (prefix = _SP)
Adjusted dimension order = XYCTZ (uncertain)

The misdetected "sizeT = 20" for a single TIFF is expected, but because the dimension order is uncertain, that axis should be remapped to Z rather than stacking with the 114 external T elements (which is what's happening).

Change History

comment:1 Changed 9 years ago by melissa

  • Status changed from new to closed
  • Resolution set to fixed

(In [7021]) Updated FileStitcher and FilePattern to better handle multi-series datasets in which the series axis is spread across multiple files. Closes #296, closes #542.

Note that datasets such as S<0-2>_T<0-10>.lif with each file containing multiple series are still unsupported. However, attempting to stitch datasets of this type will result in an informative exception.

Note: See TracTickets for help on using tickets.