diff --git a/src/main/java/dev/zarr/zarrjava/experimental/ome/MultiscaleImage.java b/src/main/java/dev/zarr/zarrjava/experimental/ome/MultiscaleImage.java index 3911360..eb25d17 100644 --- a/src/main/java/dev/zarr/zarrjava/experimental/ome/MultiscaleImage.java +++ b/src/main/java/dev/zarr/zarrjava/experimental/ome/MultiscaleImage.java @@ -3,9 +3,11 @@ import dev.zarr.zarrjava.ZarrException; import dev.zarr.zarrjava.core.Node; import dev.zarr.zarrjava.experimental.ome.metadata.MultiscalesEntry; +import dev.zarr.zarrjava.experimental.ome.metadata.OmeroMetadata; import dev.zarr.zarrjava.store.StoreHandle; import dev.zarr.zarrjava.utils.Utils; +import javax.annotation.Nullable; import java.io.IOException; import java.util.ArrayList; import java.util.Collections; @@ -37,6 +39,18 @@ public interface MultiscaleImage { */ int getScaleLevelCount() throws ZarrException; + /** + * Returns the OmeroMetadata if present, or null if not. + */ + @Nullable + OmeroMetadata getOmeroMetadata(); + + /** + * Returns the bioformats2raw.layout property if present, or null if not + */ + @Nullable + Integer getBioformats2rawLayout(); + /** * Returns the axis names of the first multiscale entry. */ diff --git a/src/main/java/dev/zarr/zarrjava/experimental/ome/v0_4/MultiscaleImage.java b/src/main/java/dev/zarr/zarrjava/experimental/ome/v0_4/MultiscaleImage.java index ae6095c..9de5b16 100644 --- a/src/main/java/dev/zarr/zarrjava/experimental/ome/v0_4/MultiscaleImage.java +++ b/src/main/java/dev/zarr/zarrjava/experimental/ome/v0_4/MultiscaleImage.java @@ -30,7 +30,7 @@ public final class MultiscaleImage extends OmeV2Group implements MultiscalesMeta @Nullable private OmeroMetadata omeroMetadata; @Nullable - private Integer bioformats2rawLayout; + private final Integer bioformats2rawLayout; private MultiscaleImage( @Nonnull StoreHandle storeHandle, @@ -83,6 +83,7 @@ public dev.zarr.zarrjava.store.StoreHandle getStoreHandle() { return this.storeHandle; } + @Override @Nullable public OmeroMetadata getOmeroMetadata() { return omeroMetadata; @@ -93,6 +94,7 @@ public void setOmeroMetadata(@Nullable OmeroMetadata omeroMetadata) throws IOExc persistAttributes(); } + @Override @Nullable public Integer getBioformats2rawLayout() { return bioformats2rawLayout; diff --git a/src/main/java/dev/zarr/zarrjava/experimental/ome/v0_5/MultiscaleImage.java b/src/main/java/dev/zarr/zarrjava/experimental/ome/v0_5/MultiscaleImage.java index 9623cf5..3f45375 100644 --- a/src/main/java/dev/zarr/zarrjava/experimental/ome/v0_5/MultiscaleImage.java +++ b/src/main/java/dev/zarr/zarrjava/experimental/ome/v0_5/MultiscaleImage.java @@ -13,6 +13,7 @@ import dev.zarr.zarrjava.v3.GroupMetadata; import javax.annotation.Nonnull; +import javax.annotation.Nullable; import java.io.IOException; import java.util.Collections; import java.util.List; @@ -68,12 +69,14 @@ public MultiscalesEntry getMultiscalesEntry(int i) throws ZarrException { return omeMetadata.multiscales.get(i); } - @javax.annotation.Nullable + @Override + @Nullable public dev.zarr.zarrjava.experimental.ome.metadata.OmeroMetadata getOmeroMetadata() { return omeMetadata.omero; } - @javax.annotation.Nullable + @Override + @Nullable public Integer getBioformats2rawLayout() { return omeMetadata.bioformats2rawLayout; } diff --git a/src/main/java/dev/zarr/zarrjava/experimental/ome/v0_6/MultiscaleImage.java b/src/main/java/dev/zarr/zarrjava/experimental/ome/v0_6/MultiscaleImage.java index 69b2747..327f718 100644 --- a/src/main/java/dev/zarr/zarrjava/experimental/ome/v0_6/MultiscaleImage.java +++ b/src/main/java/dev/zarr/zarrjava/experimental/ome/v0_6/MultiscaleImage.java @@ -18,6 +18,7 @@ import dev.zarr.zarrjava.v3.GroupMetadata; import javax.annotation.Nonnull; +import javax.annotation.Nullable; import java.io.IOException; import java.util.ArrayList; import java.util.Collections; @@ -85,12 +86,14 @@ public MultiscalesEntry getMultiscalesEntry(int i) throws ZarrException { return omeMetadata.multiscales.get(i); } - @javax.annotation.Nullable + @Override + @Nullable public dev.zarr.zarrjava.experimental.ome.metadata.OmeroMetadata getOmeroMetadata() { return omeMetadata.omero; } - @javax.annotation.Nullable + @Override + @Nullable public Integer getBioformats2rawLayout() { return omeMetadata.bioformats2rawLayout; } diff --git a/src/main/java/dev/zarr/zarrjava/v3/GroupMetadata.java b/src/main/java/dev/zarr/zarrjava/v3/GroupMetadata.java index 7d3dd85..56414a2 100644 --- a/src/main/java/dev/zarr/zarrjava/v3/GroupMetadata.java +++ b/src/main/java/dev/zarr/zarrjava/v3/GroupMetadata.java @@ -17,7 +17,7 @@ public final class GroupMetadata extends dev.zarr.zarrjava.core.GroupMetadata { @JsonProperty("node_type") public final String nodeType = "group"; @JsonProperty("consolidated_metadata") - public final String consolidatedMetadata = null; + public final Object consolidatedMetadata = null; @Nullable public final Attributes attributes;