Class OmeAxisUtils

java.lang.Object
sc.fiji.snt.io.OmeAxisUtils

public class OmeAxisUtils extends Object
Utility for setting ImgPlus axes from OME metadata (OME-XML or OME-Zarr). Supports both bioformats2raw and OME-NGFF layouts.
  • Field Details

  • Constructor Details

    • OmeAxisUtils

      public OmeAxisUtils()
  • Method Details

    • detectLayout

      public static String detectLayout(String zarrPath)
      Detect the OME-ZARR layout type for a local path.
      Parameters:
      zarrPath - path to zarr directory
      Returns:
      layout type: LAYOUT_BIOFORMATS2RAW, LAYOUT_OME_NGFF, or LAYOUT_UNKNOWN
    • getDatasetPath

      public static String getDatasetPath(String layout, int level, int series)
      Get the N5/Zarr dataset path for a given layout and level.
      Parameters:
      layout - layout type
      level - resolution level (0 = full resolution)
      series - series index (only used for bioformats2raw)
      Returns:
      dataset path string
    • getZattrsPath

      public static String getZattrsPath(String layout, String zarrPath, int series)
      Get the path to .zattrs containing multiscales metadata.
      Parameters:
      layout - layout type
      zarrPath - root zarr path
      series - series index (only used for bioformats2raw)
      Returns:
      path to .zattrs file
    • setAxesFromOmeXml

      public static OmeAxisUtils.OmeMetadata setAxesFromOmeXml(net.imagej.ImgPlus<?> imgPlus, String xmlPath) throws Exception
      Set axes on ImgPlus from OME-XML file.
      Parameters:
      imgPlus - image to set axes on
      xmlPath - path to METADATA.ome.xml
      Returns:
      parsed metadata
      Throws:
      Exception
    • setAxesFromOmeZarrAttrs

      public static OmeAxisUtils.OmeMetadata setAxesFromOmeZarrAttrs(net.imagej.ImgPlus<?> imgPlus, String zattrsPath) throws IOException
      Set axes on ImgPlus from OME-Zarr .zattrs file (level 0).
      Parameters:
      imgPlus - image to set axes on
      zattrsPath - path to .zattrs
      Returns:
      parsed metadata, or null if no multiscales found
      Throws:
      IOException
    • setAxesFromOmeZarrAttrs

      public static OmeAxisUtils.OmeMetadata setAxesFromOmeZarrAttrs(net.imagej.ImgPlus<?> imgPlus, String zattrsPath, int level) throws IOException
      Set axes on ImgPlus from OME-Zarr .zattrs file for a specific resolution level.
      Parameters:
      imgPlus - image to set axes on
      zattrsPath - path to .zattrs
      level - resolution level (0 = full resolution)
      Returns:
      parsed metadata, or null if no multiscales found
      Throws:
      IOException
    • setAxesFromZarr

      public static OmeAxisUtils.OmeMetadata setAxesFromZarr(net.imagej.ImgPlus<?> imgPlus, String zarrPath)
      Set ImgPlus axes from OME-Zarr metadata (local or remote), level 0.
      Parameters:
      imgPlus - image to set axes on
      zarrPath - local path or URL to zarr root
      Returns:
      parsed metadata, or null if metadata not found
    • setAxesFromZarr

      public static OmeAxisUtils.OmeMetadata setAxesFromZarr(net.imagej.ImgPlus<?> imgPlus, String zarrPath, int level)
      Set ImgPlus axes from OME-Zarr metadata (local or remote) at specific level.
      Parameters:
      imgPlus - image to set axes on
      zarrPath - local path or URL to zarr root
      level - resolution level (0 = full resolution)
      Returns:
      parsed metadata, or null if metadata not found
    • setAxesFromZarr

      public static OmeAxisUtils.OmeMetadata setAxesFromZarr(net.imagej.ImgPlus<?> imgPlus, String zarrPath, int level, int series)
      Set ImgPlus axes from OME-Zarr metadata (local or remote) at specific level and series.
      Parameters:
      imgPlus - image to set axes on
      zarrPath - local path or URL to zarr root
      level - resolution level (0 = full resolution)
      series - series index for multi-series datasets (bioformats2raw)
      Returns:
      parsed metadata, or null if metadata not found
    • parseOmeXml

      public static OmeAxisUtils.OmeMetadata parseOmeXml(String xmlPath) throws Exception
      Parse OME-XML metadata file.
      Throws:
      Exception
    • parseOmeXmlString

      public static OmeAxisUtils.OmeMetadata parseOmeXmlString(String xmlContent) throws Exception
      Parse OME-XML from string content (for remote files).
      Throws:
      Exception
    • parseOmeZarrAttrs

      public static OmeAxisUtils.OmeMetadata parseOmeZarrAttrs(String zattrsPath) throws IOException
      Parse OME-Zarr .zattrs file (level 0).
      Throws:
      IOException
    • parseOmeZarrAttrs

      public static OmeAxisUtils.OmeMetadata parseOmeZarrAttrs(String zattrsPath, int level) throws IOException
      Parse OME-Zarr .zattrs file at specific level.
      Throws:
      IOException
    • parseOmeZarrAttrsString

      public static OmeAxisUtils.OmeMetadata parseOmeZarrAttrsString(String jsonContent)
      Parse OME-Zarr .zattrs from string content (level 0).
    • parseOmeZarrAttrsString

      public static OmeAxisUtils.OmeMetadata parseOmeZarrAttrsString(String jsonContent, int level)
      Parse OME-Zarr .zattrs from string content at specific resolution level.
      Parameters:
      jsonContent - JSON content from .zattrs file
      level - resolution level (0 = full resolution)
      Returns:
      parsed metadata with level-specific scales, or null if no multiscales found