diff --git a/src/loci/formats/in/ZarrReader.java b/src/loci/formats/in/ZarrReader.java index efd2a31..86265db 100644 --- a/src/loci/formats/in/ZarrReader.java +++ b/src/loci/formats/in/ZarrReader.java @@ -82,6 +82,7 @@ import ome.xml.model.StructuredAnnotations; import ome.xml.model.primitives.NonNegativeInteger; import ome.xml.model.primitives.PositiveInteger; +import ome.xml.model.primitives.Timestamp; import loci.formats.services.OMEXMLService; import loci.formats.services.ZarrService; @@ -759,14 +760,28 @@ private void parsePlate(Map attr, String root, String key, Metad Map acquistion = (Map) acquisitions.get(a); Integer acqId = (Integer) acquistion.get("id"); String acqName = (String) acquistion.get("name"); - String acqStartTime = (String) acquistion.get("starttime"); + String acqDescription = (String) acquistion.get("description"); + Integer acqStartTime = (Integer) acquistion.get("starttime"); + Integer acqEndTime = (Integer) acquistion.get("endtime"); Integer maximumfieldcount = (Integer) acquistion.get("maximumfieldcount"); acqIdsIndexMap.put(acqId, a); store.setPlateAcquisitionID( MetadataTools.createLSID("PlateAcquisition", 0, acqId), 0, a); + if (acqName != null) { + store.setPlateAcquisitionName(acqName, 0, a); + } + if (acqDescription != null) { + store.setPlateAcquisitionDescription(acqDescription, 0, a); + } if (maximumfieldcount != null) { store.setPlateAcquisitionMaximumFieldCount(new PositiveInteger(maximumfieldcount), 0, a); } + if (acqStartTime != null) { + store.setPlateAcquisitionStartTime(new Timestamp(acqStartTime.toString()), 0, a); + } + if (acqEndTime != null) { + store.setPlateAcquisitionEndTime(new Timestamp(acqEndTime.toString()), 0, a); + } } }