diff --git a/components/bio-formats/src/loci/formats/in/PrairieReader.java b/components/bio-formats/src/loci/formats/in/PrairieReader.java index 502970d05d3..5b285219b6d 100644 --- a/components/bio-formats/src/loci/formats/in/PrairieReader.java +++ b/components/bio-formats/src/loci/formats/in/PrairieReader.java @@ -106,6 +106,8 @@ public class PrairieReader extends FormatReader { private Double zoom; + private boolean timeSeries = false; + // -- Constructor -- /** Constructs a new Prairie TIFF reader. */ @@ -257,6 +259,7 @@ public void close(boolean fileOnly) throws IOException { zoom = null; waitTime = null; relativeTimes.clear(); + timeSeries = false; } } @@ -306,6 +309,11 @@ else if (checkSuffix(id, CFG_SUFFIX)) { if (checkSuffix(id, XML_SUFFIX)) { core[0].sizeT = getImageCount() / (getSizeZ() * getSizeC()); + if (timeSeries && getSizeT() == 1 && getSizeZ() > 1) { + core[0].sizeT = getSizeZ(); + core[0].sizeZ = 1; + } + files = new String[f.size()]; f.copyInto(files); if (tiff == null) { @@ -488,6 +496,10 @@ public void startElement(String uri, String localName, String qName, if (qName.equals("PVScan")) { date = attributes.getValue("date"); } + else if (qName.equals("Sequence")) { + String type = attributes.getValue("type"); + timeSeries = "TSeries Timed Element".equals(type); + } else if (qName.equals("Frame")) { String index = attributes.getValue("index"); if (index != null) {