loci.formats.in

## Class ZeissCZIReader

- java.lang.Object
- - loci.formats.FormatHandler
  - - loci.formats.FormatReader
    - - loci.formats.in.ZeissCZIReader

- All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable, ICompressedTileReader, IFormatHandler, IFormatReader, IMetadataConfigurable, IPyramidHandler

      public class ZeissCZIReader
      extends FormatReader

  ZeissCZIReader is the file format reader for Zeiss .czi files.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `(package private) class` | `ZeissCZIReader.Attachment` Segment with ID "ZISRAWATTACH".
    `(package private) class` | `ZeissCZIReader.AttachmentDirectory` Segment with ID "ZISRAWATTDIR".
    `(package private) static class` | `ZeissCZIReader.AttachmentEntry`
    `(package private) static class` | `ZeissCZIReader.Channel`
    `(package private) static class` | `ZeissCZIReader.Coordinate`
    `(package private) static class` | `ZeissCZIReader.DimensionEntry`
    `(package private) class` | `ZeissCZIReader.Directory` Segment with ID "ZISRAWDIRECTORY".
    `(package private) class` | `ZeissCZIReader.DirectoryEntry`
    `(package private) class` | `ZeissCZIReader.FileHeader` Segment with ID "ZISRAWFILE".
    `(package private) class` | `ZeissCZIReader.Metadata` Segment with ID "ZISRAWMETADATA".
    `(package private) class` | `ZeissCZIReader.Segment` Top-level class that implements logic common to all types of Segment.
    `(package private) class` | `ZeissCZIReader.SubBlock` Segment with ID "ZISRAWSUBBLOCK".

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private java.lang.String` | `acquiredDate`
    `private int` | `acquisitions`
    `private java.lang.String` | `airPressure`
    `private static int` | `ALIGNMENT`
    `static boolean` | `ALLOW_AUTOSTITCHING_DEFAULT`
    `static java.lang.String` | `ALLOW_AUTOSTITCHING_KEY`
    `private int` | `angles`
    `private static int` | `BGR_24`
    `private static int` | `BGR_48`
    `private static int` | `BGR_FLOAT`
    `private static int` | `BGRA_8`
    `private java.util.ArrayList<java.lang.String>` | `binnings`
    `private static int` | `BUFFER_SIZE`
    `private java.util.ArrayList<ZeissCZIReader.Channel>` | `channels`
    `private java.lang.String` | `co2Percent`
    `private static int` | `COMPLEX`
    `private static int` | `COMPLEX_FLOAT`
    `private java.lang.String` | `correctionCollar`
    `private static java.lang.String` | `CZI_MAGIC_STRING`
    `private java.lang.String` | `description`
    `private java.util.ArrayList<java.lang.String>` | `detectorIDs`
    `private java.util.ArrayList<java.lang.String>` | `detectorRefs`
    `private java.util.ArrayList<ZeissCZIReader.Attachment>` | `extraImages`
    `private java.util.ArrayList<java.lang.String>` | `fieldNames`
    `private java.lang.String` | `gain`
    `private java.util.ArrayList<java.lang.String>` | `gains`
    `private static int` | `GRAY_DOUBLE`
    `private static int` | `GRAY_FLOAT`
    `private static int` | `GRAY16`
    `private static int` | `GRAY32`
    `private static int` | `GRAY8` Pixel type constants.
    `private boolean` | `hasDetectorSettings`
    `private static int` | `HEADER_SIZE`
    `private java.lang.String` | `humidity`
    `private java.lang.String[]` | `illuminationLabels`
    `private int` | `illuminations`
    `private java.lang.String` | `imageName`
    `private java.util.ArrayList<java.lang.String>` | `imageNames`
    `static boolean` | `INCLUDE_ATTACHMENTS_DEFAULT`
    `static java.lang.String` | `INCLUDE_ATTACHMENTS_KEY`
    `private java.util.HashMap<ZeissCZIReader.Coordinate,java.util.ArrayList<java.lang.Integer>>` | `indexIntoPlanes`
    `private static int` | `JPEG`
    `private static int` | `JPEGXR`
    `private java.util.HashMap<java.lang.String,java.lang.String>` | `lightSourceIDs`
    `private static int` | `LZW`
    `private int` | `maxResolution`
    `private java.lang.String` | `medium`
    `private int` | `mosaics`
    `private java.lang.String` | `objectiveSettingsID`
    `private javax.xml.parsers.DocumentBuilder` | `parser`
    `private java.lang.String[]` | `phaseLabels`
    `private int` | `phases`
    `private java.util.HashMap<java.lang.Integer,java.lang.String>` | `pixels`
    `private java.util.ArrayList<ZeissCZIReader.SubBlock>` | `planes`
    `private int` | `plateColumns`
    `private java.util.ArrayList<java.lang.String>` | `platePositions`
    `private int` | `plateRows`
    `private int` | `positions`
    `private ome.units.quantity.Length[]` | `positionsX`
    `private ome.units.quantity.Length[]` | `positionsY`
    `private ome.units.quantity.Length[]` | `positionsZ`
    `private java.lang.Boolean` | `prestitched`
    `private int` | `previousChannel`
    `private java.lang.String` | `refractiveIndex`
    `static boolean` | `RELATIVE_POSITIONS_DEFAULT`
    `static java.lang.String` | `RELATIVE_POSITIONS_KEY`
    `private java.lang.String[]` | `rotationLabels`
    `private int` | `rotations`
    `private int` | `scaleFactor`
    `private int` | `scanDim`
    `private java.util.ArrayList<ZeissCZIReader.Segment>` | `segments`
    `private MetadataStore` | `store`
    `private java.lang.String` | `temperature`
    `private int[]` | `tileHeight`
    `private int[]` | `tileWidth`
    `private ome.units.quantity.Time` | `timeIncrement`
    `private java.util.ArrayList<java.lang.Double>` | `timestamps`
    `static boolean` | `TRIM_DIMENSIONS_DEFAULT`
    `static java.lang.String` | `TRIM_DIMENSIONS_KEY`
    `private static int` | `UNCOMPRESSED` Compression constants.
    `private java.lang.String` | `userDisplayName`
    `private java.lang.String` | `userEmail`
    `private java.lang.String` | `userFirstName`
    `private java.lang.String` | `userInstitution`
    `private java.lang.String` | `userLastName`
    `private java.lang.String` | `userMiddleName`
    `private java.lang.String` | `userName`
    `private java.lang.String` | `zoom`
    `private static int` | `ZSTD_0`
    `private static int` | `ZSTD_1`
    `private ome.units.quantity.Length` | `zStep`

    - ### Fields inherited from class loci.formats.FormatReader

      `core, coreIndex, datasetDescription, domains, fillColor, filterMetadata, flattenedResolutions, group, hasCompanionFiles, in, indexedAsRGB, metadata, metadataStore, normalizeData, resolution, saveOriginalMetadata, series, suffixNecessary, suffixSufficient, THUMBNAIL_DIMENSION`

    - ### Fields inherited from class loci.formats.FormatHandler

      `COMPRESSION_SUFFIXES, currentId, format, LOGGER, metadataOptions, suffixes`

    - ### Fields inherited from interface loci.formats.IFormatReader

      `CAN_GROUP, CANNOT_GROUP, MUST_GROUP`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ZeissCZIReader()` Constructs a new Zeiss .czi reader.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `allowAutostitching()`
    `private void` | `assignPlaneIndices()`
    `private void` | `calculateDimensions()`
    `private void` | `calculateDimensions(int coreIndex, boolean xyOnly)`
    `boolean` | `canReadAttachments()`
    `private boolean` | `checkPALM(java.lang.String xml)`
    `void` | `close(boolean fileOnly)` Closes the currently open file.
    `private void` | `convertPixelType(CoreMetadata ms0, int pixelType)`
    `private void` | `convertPixelType(int pixelType)`
    `private byte[]` | `decode12BitCamera(byte[] data, int maxBytes)`
    `short[][]` | `get16BitLookupTable()` Gets the 16-bit color lookup table associated with the most recently opened image.
    `byte[][]` | `get8BitLookupTable()` Gets the 8-bit color lookup table associated with the most recently opened image.
    `protected java.util.ArrayList<java.lang.String>` | `getAvailableOptions()` Returns the list of available metadata options.
    `java.lang.Byte` | `getFillColor()` Return the fill value for undefined pixels.
    `private org.w3c.dom.Element` | `getFirstNode(org.w3c.dom.Element root, java.lang.String name)`
    `private java.lang.String` | `getFirstNodeValue(org.w3c.dom.Element root, java.lang.String name)`
    `private org.w3c.dom.NodeList` | `getGrandchildren(org.w3c.dom.Element root, java.lang.String name)`
    `private org.w3c.dom.NodeList` | `getGrandchildren(org.w3c.dom.Element root, java.lang.String child, java.lang.String name)`
    `int` | `getOptimalTileHeight()` Returns the optimal sub-image height for use with openBytes.
    `int` | `getOptimalTileWidth()` Returns the optimal sub-image width for use with openBytes.
    `java.lang.String[]` | `getSeriesUsedFiles(boolean noPixels)` Returns an array of filenames needed to open the current series.
    `protected void` | `initFile(java.lang.String id)` Initializes the given file (parsing header information, etc.).
    `boolean` | `isThisType(loci.common.RandomAccessInputStream stream)` Checks if the given stream is a valid stream for this file format.
    `private java.lang.String` | `normalizeColor(java.lang.String color)`
    `byte[]` | `openBytes(int no, byte[] buf, int x, int y, int w, int h)` Obtains a sub-image of the specified image plane into a pre-allocated byte array.
    `private void` | `parseObjectives(org.w3c.dom.NodeList objectives)`
    `private int` | `populateCircles(org.w3c.dom.NodeList circles, int roi, int shape)`
    `private int` | `populateLines(org.w3c.dom.NodeList lines, int roi, int shape)`
    `private void` | `populateOriginalMetadata(org.w3c.dom.Element root, java.util.Deque<java.lang.String> nameStack)`
    `private int` | `populatePolylines(org.w3c.dom.NodeList polylines, int roi, int shape, boolean closed)`
    `private int` | `populateRectangles(org.w3c.dom.NodeList rectangles, int roi, int shape)`
    `private void` | `readAttachments()`
    `private ZeissCZIReader.Segment` | `readSegment(java.lang.String filename)`
    `private void` | `readSegments(java.lang.String id)`
    `private int` | `readVarint(loci.common.RandomAccessInputStream stream)`
    `boolean` | `storeRelativePositions()`
    `private void` | `translateDisplaySettings(org.w3c.dom.Element root)`
    `private void` | `translateExperiment(org.w3c.dom.Element root)`
    `private void` | `translateHardwareSettings(org.w3c.dom.Element root)`
    `private void` | `translateInformation(org.w3c.dom.Element root)`
    `private void` | `translateLayers(org.w3c.dom.Element root)`
    `private void` | `translateMetadata(java.lang.String xml)`
    `private void` | `translateScaling(org.w3c.dom.Element root)`
    `boolean` | `trimDimensions()`

    - ### Methods inherited from class loci.formats.FormatReader

      `addGlobalMeta, addGlobalMeta, addGlobalMeta, addGlobalMeta, addGlobalMeta, addGlobalMeta, addGlobalMeta, addGlobalMeta, addGlobalMeta, addGlobalMetaList, addMeta, addMetaList, addSeriesMeta, addSeriesMeta, addSeriesMeta, addSeriesMeta, addSeriesMeta, addSeriesMeta, addSeriesMeta, addSeriesMeta, addSeriesMeta, addSeriesMetaList, close, coreIndexToSeries, fileGroupOption, flattenHashtables, getAcquisitionMode, getAdvancedSeriesUsedFiles, getAdvancedUsedFiles, getArcType, getBinning, getBitsPerPixel, getCompression, getContrastMethod, getCoreIndex, getCoreMetadataList, getCorrection, getCurrentCore, getCurrentFile, getDatasetStructureDescription, getDetectorType, getDimensionOrder, getDimensionOrder, getDomains, getEffectiveSizeC, getExperimentType, getFilamentType, getFillRule, getFilterType, getFontFamily, getFontStyle, getGlobalMeta, getGlobalMetadata, getIlluminationType, getImageCount, getImmersion, getIndex, getIndex, getLaserMedium, getLaserType, getMarker, getMedium, getMetadataStore, getMetadataStoreRoot, getMetadataValue, getMicrobeamManipulationType, getMicroscopeType, getModuloC, getModuloT, getModuloZ, getNamingConvention, getPixelType, getPixelType, getPossibleDomains, getPulse, getRequiredDirectories, getResolution, getResolutionCount, getRGBChannelCount, getRotationTransform, getSeries, getSeriesCount, getSeriesMeta, getSeriesMetadata, getSeriesMetadataValue, getSeriesUsedFiles, getSizeC, getSizeT, getSizeX, getSizeY, getSizeZ, getThumbSizeX, getThumbSizeY, getTileColumns, getTileRows, getUnderlyingReaders, getUsedFiles, getUsedFiles, getZCTCoords, getZCTModuloCoords, hasCompanionFiles, hasFlattenedResolutions, isFalseColor, isGroupFiles, isIndexed, isInterleaved, isInterleaved, isLittleEndian, isMetadataComplete, isMetadataFiltered, isNormalized, isOrderCertain, isOriginalMetadataPopulated, isRGB, isSingleFile, isThisType, isThisType, isThisType, isThumbnailSeries, isUsedFile, makeFilterMetadata, openBytes, openBytes, openBytes, openPlane, openThumbBytes, readPlane, readPlane, readPlane, reopenFile, seriesToCoreIndex, setCoreIndex, setFillColor, setFlattenedResolutions, setGroupFiles, setId, setMetadataFiltered, setMetadataStore, setNormalized, setOriginalMetadataPopulated, setResolution, setSeries, updateMetadataLists`

    - ### Methods inherited from class loci.formats.FormatHandler

      `checkSuffix, checkSuffix, getFormat, getMetadataOptions, getNativeDataType, getSuffixes, getSupportedMetadataLevels, setMetadataOptions`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface loci.formats.IFormatHandler

      `getFormat, getNativeDataType, getSuffixes`

    - ### Methods inherited from interface loci.formats.IMetadataConfigurable

      `getMetadataOptions, getSupportedMetadataLevels, setMetadataOptions`

    - ### Methods inherited from interface loci.formats.ICompressedTileReader

      `getTileCodec, getTileCodecOptions, openCompressedBytes, openCompressedBytes`

- - ### Field Detail

    - #### ALLOW_AUTOSTITCHING_KEY

          public static final java.lang.String ALLOW_AUTOSTITCHING_KEY

      See Also:
        Constant Field Values

    - #### ALLOW_AUTOSTITCHING_DEFAULT

          public static final boolean ALLOW_AUTOSTITCHING_DEFAULT

      See Also:
        Constant Field Values

    - #### INCLUDE_ATTACHMENTS_KEY

          public static final java.lang.String INCLUDE_ATTACHMENTS_KEY

      See Also:
        Constant Field Values

    - #### INCLUDE_ATTACHMENTS_DEFAULT

          public static final boolean INCLUDE_ATTACHMENTS_DEFAULT

      See Also:
        Constant Field Values

    - #### TRIM_DIMENSIONS_KEY

          public static final java.lang.String TRIM_DIMENSIONS_KEY

      See Also:
        Constant Field Values

    - #### TRIM_DIMENSIONS_DEFAULT

          public static final boolean TRIM_DIMENSIONS_DEFAULT

      See Also:
        Constant Field Values

    - #### RELATIVE_POSITIONS_KEY

          public static final java.lang.String RELATIVE_POSITIONS_KEY

      See Also:
        Constant Field Values

    - #### RELATIVE_POSITIONS_DEFAULT

          public static final boolean RELATIVE_POSITIONS_DEFAULT

      See Also:
        Constant Field Values

    - #### ALIGNMENT

          private static final int ALIGNMENT

      See Also:
        Constant Field Values

    - #### HEADER_SIZE

          private static final int HEADER_SIZE

      See Also:
        Constant Field Values

    - #### CZI_MAGIC_STRING

          private static final java.lang.String CZI_MAGIC_STRING

      See Also:
        Constant Field Values

    - #### BUFFER_SIZE

          private static final int BUFFER_SIZE

      See Also:
        Constant Field Values

    - #### UNCOMPRESSED

          private static final int UNCOMPRESSED

      Compression constants.
      See Also:
        Constant Field Values

    - #### JPEG

          private static final int JPEG

      See Also:
        Constant Field Values

    - #### LZW

          private static final int LZW

      See Also:
        Constant Field Values

    - #### JPEGXR

          private static final int JPEGXR

      See Also:
        Constant Field Values

    - #### ZSTD_0

          private static final int ZSTD_0

      See Also:
        Constant Field Values

    - #### ZSTD_1

          private static final int ZSTD_1

      See Also:
        Constant Field Values

    - #### GRAY8

          private static final int GRAY8

      Pixel type constants.
      See Also:
        Constant Field Values

    - #### GRAY16

          private static final int GRAY16

      See Also:
        Constant Field Values

    - #### GRAY_FLOAT

          private static final int GRAY_FLOAT

      See Also:
        Constant Field Values

    - #### BGR_24

          private static final int BGR_24

      See Also:
        Constant Field Values

    - #### BGR_48

          private static final int BGR_48

      See Also:
        Constant Field Values

    - #### BGR_FLOAT

          private static final int BGR_FLOAT

      See Also:
        Constant Field Values

    - #### BGRA_8

          private static final int BGRA_8

      See Also:
        Constant Field Values

    - #### COMPLEX

          private static final int COMPLEX

      See Also:
        Constant Field Values

    - #### COMPLEX_FLOAT

          private static final int COMPLEX_FLOAT

      See Also:
        Constant Field Values

    - #### GRAY32

          private static final int GRAY32

      See Also:
        Constant Field Values

    - #### GRAY_DOUBLE

          private static final int GRAY_DOUBLE

      See Also:
        Constant Field Values

    - #### store

          private MetadataStore store

    - #### pixels

          private java.util.HashMap<java.lang.Integer,java.lang.String> pixels

    - #### segments

          private java.util.ArrayList<ZeissCZIReader.Segment> segments

    - #### planes

          private java.util.ArrayList<ZeissCZIReader.SubBlock> planes

    - #### indexIntoPlanes

          private java.util.HashMap<ZeissCZIReader.Coordinate,java.util.ArrayList<java.lang.Integer>> indexIntoPlanes

    - #### rotations

          private int rotations

    - #### positions

          private int positions

    - #### illuminations

          private int illuminations

    - #### acquisitions

          private int acquisitions

    - #### mosaics

          private int mosaics

    - #### phases

          private int phases

    - #### angles

          private int angles

    - #### maxResolution

          private int maxResolution

    - #### imageName

          private java.lang.String imageName

    - #### acquiredDate

          private java.lang.String acquiredDate

    - #### description

          private java.lang.String description

    - #### userDisplayName

          private java.lang.String userDisplayName

    - #### userName

          private java.lang.String userName

    - #### userFirstName

          private java.lang.String userFirstName

    - #### userLastName

          private java.lang.String userLastName

    - #### userMiddleName

          private java.lang.String userMiddleName

    - #### userEmail

          private java.lang.String userEmail

    - #### userInstitution

          private java.lang.String userInstitution

    - #### temperature

          private java.lang.String temperature

    - #### airPressure

          private java.lang.String airPressure

    - #### humidity

          private java.lang.String humidity

    - #### co2Percent

          private java.lang.String co2Percent

    - #### correctionCollar

          private java.lang.String correctionCollar

    - #### medium

          private java.lang.String medium

    - #### refractiveIndex

          private java.lang.String refractiveIndex

    - #### timeIncrement

          private transient ome.units.quantity.Time timeIncrement

    - #### zoom

          private java.lang.String zoom

    - #### gain

          private java.lang.String gain

    - #### channels

          private java.util.ArrayList<ZeissCZIReader.Channel> channels

    - #### binnings

          private java.util.ArrayList<java.lang.String> binnings

    - #### detectorRefs

          private java.util.ArrayList<java.lang.String> detectorRefs

    - #### timestamps

          private java.util.ArrayList<java.lang.Double> timestamps

    - #### gains

          private transient java.util.ArrayList<java.lang.String> gains

    - #### lightSourceIDs

          private transient java.util.HashMap<java.lang.String,java.lang.String> lightSourceIDs

    - #### detectorIDs

          private transient java.util.ArrayList<java.lang.String> detectorIDs

    - #### positionsX

          private ome.units.quantity.Length[] positionsX

    - #### positionsY

          private ome.units.quantity.Length[] positionsY

    - #### positionsZ

          private ome.units.quantity.Length[] positionsZ

    - #### previousChannel

          private int previousChannel

    - #### prestitched

          private java.lang.Boolean prestitched

    - #### objectiveSettingsID

          private java.lang.String objectiveSettingsID

    - #### hasDetectorSettings

          private boolean hasDetectorSettings

    - #### scanDim

          private int scanDim

    - #### rotationLabels

          private java.lang.String[] rotationLabels

    - #### phaseLabels

          private java.lang.String[] phaseLabels

    - #### illuminationLabels

          private java.lang.String[] illuminationLabels

    - #### parser

          private transient javax.xml.parsers.DocumentBuilder parser

    - #### extraImages

          private java.util.ArrayList<ZeissCZIReader.Attachment> extraImages

    - #### tileWidth

          private int[] tileWidth

    - #### tileHeight

          private int[] tileHeight

    - #### scaleFactor

          private int scaleFactor

    - #### zStep

          private transient ome.units.quantity.Length zStep

    - #### plateRows

          private transient int plateRows

    - #### plateColumns

          private transient int plateColumns

    - #### platePositions

          private transient java.util.ArrayList<java.lang.String> platePositions

    - #### fieldNames

          private transient java.util.ArrayList<java.lang.String> fieldNames

    - #### imageNames

          private transient java.util.ArrayList<java.lang.String> imageNames

  - ### Constructor Detail

    - #### ZeissCZIReader

          public ZeissCZIReader()

      Constructs a new Zeiss .czi reader.

  - ### Method Detail

    - #### isThisType

          public boolean isThisType(loci.common.RandomAccessInputStream stream)
                             throws java.io.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:
        `java.io.IOException`
      See Also:
        `IFormatReader.isThisType(RandomAccessInputStream)`

    - #### getSeriesUsedFiles

          public java.lang.String[] getSeriesUsedFiles(boolean noPixels)

      Description copied from interface: `IFormatReader`
      Returns an array of filenames needed to open the current series. If the 'noPixels' flag is set, then only files that do not contain pixel data will be returned. The first element in the array is expected to be the path passed to `IFormatHandler.setId(String)`, if appropriate based upon 'noPixels'. The remaining elements are expected to be in a consistent order; if a directory listing is necessary to build the list then it should be sorted first.
      Specified by:
        `getSeriesUsedFiles` in interface `IFormatReader`
      Overrides:
        `getSeriesUsedFiles` in class `FormatReader`
      See Also:
        `IFormatReader.getSeriesUsedFiles(boolean)`

    - #### get8BitLookupTable

          public byte[][] get8BitLookupTable()
                                      throws FormatException,
                                             java.io.IOException

      Description copied from interface: `IFormatReader`
      Gets the 8-bit color lookup table associated with the most recently opened image. If no image planes have been opened, or if `IFormatReader.isIndexed()` returns false, then this may return null. Also, if `IFormatReader.getPixelType()` returns anything other than `FormatTools.INT8` or `FormatTools.UINT8`, this method will return null.
      Specified by:
        `get8BitLookupTable` in interface `IFormatReader`
      Overrides:
        `get8BitLookupTable` in class `FormatReader`
      Throws:
        `FormatException`
        `java.io.IOException`

    - #### get16BitLookupTable

          public short[][] get16BitLookupTable()
                                        throws FormatException,
                                               java.io.IOException

      Description copied from interface: `IFormatReader`
      Gets the 16-bit color lookup table associated with the most recently opened image. If no image planes have been opened, or if `IFormatReader.isIndexed()` returns false, then this may return null. Also, if `IFormatReader.getPixelType()` returns anything other than `FormatTools.INT16` or `FormatTools.UINT16`, this method will return null.
      Specified by:
        `get16BitLookupTable` in interface `IFormatReader`
      Overrides:
        `get16BitLookupTable` in class `FormatReader`
      Throws:
        `FormatException`
        `java.io.IOException`

    - #### getFillColor

          public java.lang.Byte getFillColor()

      Description copied from interface: `IFormatReader`
      Return the fill value for undefined pixels. The default implementation in IFormatReader always returns 0.
      Specified by:
        `getFillColor` in interface `IFormatReader`
      Overrides:
        `getFillColor` in class `FormatReader`
      See Also:
        `If the fill value was set explicitly, use that. Otherwise, return 255 (white) for RGB data with a pyramid, and 0 in all other cases. RGB data with a pyramid can reasonably be assumed to be a brightfield slide.`

    - #### openBytes

          public byte[] openBytes(int no,
                                  byte[] buf,
                                  int x,
                                  int y,
                                  int w,
                                  int h)
                           throws FormatException,
                                  java.io.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.
        `java.io.IOException` - if there was a problem reading the file.
      See Also:
        `IFormatReader.openBytes(int, byte[], int, int, int, int)`

    - #### close

          public void close(boolean fileOnly)
                     throws java.io.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:
        `java.io.IOException`

    - #### getOptimalTileWidth

          public int getOptimalTileWidth()

      Description copied from interface: `IFormatReader`
      Returns the optimal sub-image width for use with openBytes.
      Specified by:
        `getOptimalTileWidth` in interface `IFormatReader`
      Overrides:
        `getOptimalTileWidth` in class `FormatReader`

    - #### getOptimalTileHeight

          public int getOptimalTileHeight()

      Description copied from interface: `IFormatReader`
      Returns the optimal sub-image height for use with openBytes.
      Specified by:
        `getOptimalTileHeight` in interface `IFormatReader`
      Overrides:
        `getOptimalTileHeight` in class `FormatReader`

    - #### getAvailableOptions

          protected java.util.ArrayList<java.lang.String> getAvailableOptions()

      Description copied from class: `FormatReader`
      Returns the list of available metadata options.
      Overrides:
        `getAvailableOptions` in class `FormatReader`

    - #### initFile

          protected void initFile(java.lang.String id)
                           throws FormatException,
                                  java.io.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.
        `java.io.IOException` - if an I/O error occurs processing the file

    - #### allowAutostitching

          public boolean allowAutostitching()

    - #### canReadAttachments

          public boolean canReadAttachments()

    - #### trimDimensions

          public boolean trimDimensions()

    - #### storeRelativePositions

          public boolean storeRelativePositions()

    - #### readSegments

          private void readSegments(java.lang.String id)
                             throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### readAttachments

          private void readAttachments()
                                throws FormatException,
                                       java.io.IOException

      Throws:
        `FormatException`
        `java.io.IOException`

    - #### calculateDimensions

          private void calculateDimensions()

    - #### calculateDimensions

          private void calculateDimensions(int coreIndex,
                                           boolean xyOnly)

    - #### assignPlaneIndices

          private void assignPlaneIndices()

    - #### translateMetadata

          private void translateMetadata(java.lang.String xml)
                                  throws FormatException,
                                         java.io.IOException

      Throws:
        `FormatException`
        `java.io.IOException`

    - #### checkPALM

          private boolean checkPALM(java.lang.String xml)
                             throws FormatException,
                                    java.io.IOException

      Throws:
        `FormatException`
        `java.io.IOException`

    - #### translateInformation

          private void translateInformation(org.w3c.dom.Element root)
                                     throws FormatException

      Throws:
        `FormatException`

    - #### translateScaling

          private void translateScaling(org.w3c.dom.Element root)

    - #### translateDisplaySettings

          private void translateDisplaySettings(org.w3c.dom.Element root)
                                         throws FormatException

      Throws:
        `FormatException`

    - #### translateLayers

          private void translateLayers(org.w3c.dom.Element root)

    - #### translateHardwareSettings

          private void translateHardwareSettings(org.w3c.dom.Element root)
                                          throws FormatException

      Throws:
        `FormatException`

    - #### populateRectangles

          private int populateRectangles(org.w3c.dom.NodeList rectangles,
                                         int roi,
                                         int shape)

    - #### populatePolylines

          private int populatePolylines(org.w3c.dom.NodeList polylines,
                                        int roi,
                                        int shape,
                                        boolean closed)

    - #### populateLines

          private int populateLines(org.w3c.dom.NodeList lines,
                                    int roi,
                                    int shape)

    - #### populateCircles

          private int populateCircles(org.w3c.dom.NodeList circles,
                                      int roi,
                                      int shape)

    - #### translateExperiment

          private void translateExperiment(org.w3c.dom.Element root)
                                    throws FormatException

      Throws:
        `FormatException`

    - #### getFirstNode

          private org.w3c.dom.Element getFirstNode(org.w3c.dom.Element root,
                                                   java.lang.String name)

    - #### getGrandchildren

          private org.w3c.dom.NodeList getGrandchildren(org.w3c.dom.Element root,
                                                        java.lang.String name)

    - #### getGrandchildren

          private org.w3c.dom.NodeList getGrandchildren(org.w3c.dom.Element root,
                                                        java.lang.String child,
                                                        java.lang.String name)

    - #### getFirstNodeValue

          private java.lang.String getFirstNodeValue(org.w3c.dom.Element root,
                                                     java.lang.String name)

    - #### populateOriginalMetadata

          private void populateOriginalMetadata(org.w3c.dom.Element root,
                                                java.util.Deque<java.lang.String> nameStack)

    - #### readSegment

          private ZeissCZIReader.Segment readSegment(java.lang.String filename)
                                              throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### convertPixelType

          private void convertPixelType(int pixelType)
                                 throws FormatException

      Throws:
        `FormatException`

    - #### convertPixelType

          private void convertPixelType(CoreMetadata ms0,
                                        int pixelType)
                                 throws FormatException

      Throws:
        `FormatException`

    - #### parseObjectives

          private void parseObjectives(org.w3c.dom.NodeList objectives)
                                throws FormatException

      Throws:
        `FormatException`

    - #### decode12BitCamera

          private byte[] decode12BitCamera(byte[] data,
                                           int maxBytes)
                                    throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### readVarint

          private int readVarint(loci.common.RandomAccessInputStream stream)
                          throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### normalizeColor

          private java.lang.String normalizeColor(java.lang.String color)

Copyright © 2026 Open Microscopy Environment