Class ZeissXRMReader

All Implemented Interfaces:
Closeable, AutoCloseable, ICompressedTileReader, IFormatHandler, IFormatReader, IMetadataConfigurable, IPyramidHandler

public class ZeissXRMReader extends FormatReader
ZeissXRMReader is the file format reader for Zeiss X-Ray Microscopy .txm and .txrm files.
  • Field Details

  • Constructor Details

    • ZeissXRMReader

      public ZeissXRMReader()
      Constructs a new Zeiss XRM reader.
  • Method Details

    • isThisType

      public boolean isThisType(loci.common.RandomAccessInputStream stream) throws IOException
      Description copied from interface: IFormatReader
      Checks if the given stream is a valid stream for this file format. The number of bytes read is format-dependent.
      Specified by:
      isThisType in interface IFormatReader
      Overrides:
      isThisType in class FormatReader
      Parameters:
      stream - A RandomAccessInputStream representing the file to check. The first byte in the stream is assumed to be the first byte in the file.
      Returns:
      true if the file represented by the stream can be read by this reader; false otherwise.
      Throws:
      IOException
    • openBytes

      public byte[] openBytes(int no, byte[] buf, int x, int y, int w, int h) throws FormatException, IOException
      Description copied from interface: IFormatReader
      Obtains a sub-image of the specified image plane into a pre-allocated byte array.
      Specified by:
      openBytes in interface IFormatReader
      Specified by:
      openBytes in class FormatReader
      Parameters:
      no - the plane index within the current series.
      buf - a pre-allocated buffer.
      x - X coordinate of the upper-left corner of the sub-image
      y - Y coordinate of the upper-left corner of the sub-image
      w - width of the sub-image
      h - height of the sub-image
      Returns:
      the pre-allocated buffer buf for convenience.
      Throws:
      FormatException - if there was a problem parsing the metadata of the file.
      IOException - if there was a problem reading the file.
      See Also:
    • close

      public void close(boolean fileOnly) throws IOException
      Description copied from interface: IFormatReader
      Closes the currently open file. If the flag is set, this is all that happens; if unset, it is equivalent to calling Closeable.close().
      Specified by:
      close in interface IFormatReader
      Overrides:
      close in class FormatReader
      Throws:
      IOException
    • initFile

      protected void initFile(String id) throws FormatException, IOException
      Description copied from class: FormatReader
      Initializes the given file (parsing header information, etc.). Most subclasses should override this method to perform initialization operations such as parsing metadata.
      Overrides:
      initFile in class FormatReader
      Throws:
      FormatException - if a parsing error occurs processing the file.
      IOException - if an I/O error occurs processing the file
    • handleTXMMetadata

      private void handleTXMMetadata(String name, loci.common.RandomAccessInputStream stream) throws IOException
      Parse metadata fields specific to .txm files.
      Throws:
      IOException
    • handleTXRMMetadata

      private void handleTXRMMetadata(String name, loci.common.RandomAccessInputStream stream) throws IOException
      Parse metadata fields specific to .txrm files.
      Throws:
      IOException
    • initPOIService

      private void initPOIService() throws FormatException, IOException
      Throws:
      FormatException
      IOException
    • getPixelType

      private int getPixelType(int dataType) throws FormatException
      Convert an XRM data type to a Bio-Formats pixel type.
      Throws:
      FormatException
    • getMetadataPixelType

      private String getMetadataPixelType(int dataType) throws FormatException
      Throws:
      FormatException
    • readAsString

      private String readAsString(loci.common.RandomAccessInputStream stream) throws IOException
      Throws:
      IOException
    • getYesNo

      private String getYesNo(loci.common.RandomAccessInputStream stream) throws IOException
      Throws:
      IOException
    • readAsDoubles

      private double[] readAsDoubles(loci.common.RandomAccessInputStream stream) throws IOException
      Throws:
      IOException
    • addMetadataList

      private void addMetadataList(double[] v, String key)
      Add each double value in an array to the original metadata table, using the given key. Double values are not formatted.
    • addMetadataList

      private void addMetadataList(double[] v, String key, boolean formatDoubles)
      Add each double value in an array to the original metadata table, using the given key. Double values are formatted to 2 decimal places if the formatDoubles parameter is true.
    • formatDouble

      private String formatDouble(double v)
      Format double value to 2 decimal places, rounding to nearest.