loci.formats.in

## Class ZeissZVIReader

- java.lang.Object
- - loci.formats.FormatHandler
  - - loci.formats.FormatReader
    - - loci.formats.in.BaseZeissReader
      - - loci.formats.in.ZeissZVIReader

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

      public class ZeissZVIReader
      extends BaseZeissReader

  ZeissZVIReader is the file format reader for Zeiss ZVI files.
  Author:
    Melissa Linkert melissa at glencoesoftware.com

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class loci.formats.in.BaseZeissReader

      `BaseZeissReader.Charset, BaseZeissReader.Context, BaseZeissReader.DrawStyle, BaseZeissReader.FeatureType, BaseZeissReader.FillStyle, BaseZeissReader.Layer, BaseZeissReader.LineEndPositions, BaseZeissReader.LineEndStyle, BaseZeissReader.PointStyle, BaseZeissReader.Shape, BaseZeissReader.Tag, BaseZeissReader.TextAlignment`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected loci.common.RandomAccessInputStream` | `currentPlane`
    `protected int` | `currentPlaneIndex`
    `protected java.lang.String[]` | `files`
    `protected POIService` | `poi`
    `private static long` | `ROI_SIGNATURE`
    `static int` | `ZVI_MAGIC_BYTES`

    - ### Fields inherited from class loci.formats.in.BaseZeissReader

      `acquisitionDate, bpp, channelColors, channelIndices, channelName, cIndex, colCount, coordinates, detectorGain, detectorOffset, emWavelength, exposureTime, exWavelength, imageDescription, imageFiles, isJPEG, isZlib, lastPlane, layers, nextChName, nextEmWave, nextExWave, offsets, physicalSizeX, physicalSizeY, physicalSizeZ, rawCount, realHeight, realWidth, roiIDs, rowCount, stageX, stageY, tagsToParse, tileIndices, tiles, timepoint, timepointIndices, timestamps, zIndices`

    - ### 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
    `ZeissZVIReader()` Constructs a new ZeissZVI reader.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `close(boolean fileOnly)` Closes the currently open file.
    `protected void` | `countImages()`
    `protected void` | `fillMetadataPass1(MetadataStore store)` Read and store basic dimensions in model
    `protected void` | `fillMetadataPass3(MetadataStore store)` Read and store basic dimensions in model
    `protected void` | `fillMetadataPass5(MetadataStore store)` Read and store basic dimensions in model
    `private int` | `getImageNumber(java.lang.String dirName, int defaultNumber)`
    `private java.lang.String` | `getNextTag(loci.common.RandomAccessInputStream s)`
    `protected void` | `initFile(java.lang.String id)` Initializes the given file (parsing header information, etc.).
    `private void` | `initPOIService()`
    `protected void` | `initVars(java.lang.String id)`
    `boolean` | `isThisType(loci.common.RandomAccessInputStream stream)` Checks if the given stream is a valid stream for this file format.
    `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` | `parseROIs(loci.common.RandomAccessInputStream s, int imageNum, java.lang.String name, MetadataStore store)` Parse ROI data from the given RandomAccessInputStream and store it in the given MetadataStore.
    `protected java.lang.String` | `parseROIString(loci.common.RandomAccessInputStream s)`
    `private void` | `parseTags(int image, java.lang.String file, MetadataStore store)` Parse all of the tags in a stream.

    - ### Methods inherited from class loci.formats.in.BaseZeissReader

      `fillMetadataPass2, fillMetadataPass4, fillMetadataPass6, fillMetadataPass7, get16BitLookupTable, get8BitLookupTable, getOptimalTileHeight, initFileMain, parseColor, parseInt, parseInt, parseMainTags, storeROIs`

    - ### 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, getAvailableOptions, getBinning, getBitsPerPixel, getCompression, getContrastMethod, getCoreIndex, getCoreMetadataList, getCorrection, getCurrentCore, getCurrentFile, getDatasetStructureDescription, getDetectorType, getDimensionOrder, getDimensionOrder, getDomains, getEffectiveSizeC, getExperimentType, getFilamentType, getFillColor, getFillRule, getFilterType, getFontFamily, getFontStyle, getGlobalMeta, getGlobalMetadata, getIlluminationType, getImageCount, getImmersion, getIndex, getIndex, getLaserMedium, getLaserType, getMarker, getMedium, getMetadataStore, getMetadataStoreRoot, getMetadataValue, getMicrobeamManipulationType, getMicroscopeType, getModuloC, getModuloT, getModuloZ, getNamingConvention, getOptimalTileWidth, getPixelType, getPixelType, getPossibleDomains, getPulse, getRequiredDirectories, getResolution, getResolutionCount, getRGBChannelCount, getRotationTransform, getSeries, getSeriesCount, getSeriesMeta, getSeriesMetadata, getSeriesMetadataValue, getSeriesUsedFiles, 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

    - #### ZVI_MAGIC_BYTES

          public static final int ZVI_MAGIC_BYTES

      See Also:
        Constant Field Values

    - #### ROI_SIGNATURE

          private static final long ROI_SIGNATURE

      See Also:
        Constant Field Values

    - #### poi

          protected transient POIService poi

    - #### files

          protected java.lang.String[] files

    - #### currentPlane

          protected transient loci.common.RandomAccessInputStream currentPlane

    - #### currentPlaneIndex

          protected transient int currentPlaneIndex

  - ### Constructor Detail

    - #### ZeissZVIReader

          public ZeissZVIReader()

      Constructs a new ZeissZVI 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`

    - #### 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 `BaseZeissReader`
      Throws:
        `java.io.IOException`

    - #### 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

    - #### initVars

          protected void initVars(java.lang.String id)
                           throws FormatException,
                                  java.io.IOException

      Overrides:
        `initVars` in class `BaseZeissReader`
      Throws:
        `FormatException`
        `java.io.IOException`

    - #### initPOIService

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

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

    - #### fillMetadataPass1

          protected void fillMetadataPass1(MetadataStore store)
                                    throws FormatException,
                                           java.io.IOException

      Description copied from class: `BaseZeissReader`
      Read and store basic dimensions in model
      Overrides:
        `fillMetadataPass1` in class `BaseZeissReader`
      Throws:
        `FormatException`
        `java.io.IOException`

    - #### fillMetadataPass3

          protected void fillMetadataPass3(MetadataStore store)
                                    throws FormatException,
                                           java.io.IOException

      Description copied from class: `BaseZeissReader`
      Read and store basic dimensions in model
      Overrides:
        `fillMetadataPass3` in class `BaseZeissReader`
      Throws:
        `FormatException`
        `java.io.IOException`

    - #### fillMetadataPass5

          protected void fillMetadataPass5(MetadataStore store)
                                    throws FormatException,
                                           java.io.IOException

      Description copied from class: `BaseZeissReader`
      Read and store basic dimensions in model
      Overrides:
        `fillMetadataPass5` in class `BaseZeissReader`
      Throws:
        `FormatException`
        `java.io.IOException`

    - #### countImages

          protected void countImages()

      Overrides:
        `countImages` in class `BaseZeissReader`

    - #### getImageNumber

          private int getImageNumber(java.lang.String dirName,
                                     int defaultNumber)

    - #### getNextTag

          private java.lang.String getNextTag(loci.common.RandomAccessInputStream s)
                                       throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### parseTags

          private void parseTags(int image,
                                 java.lang.String file,
                                 MetadataStore store)
                          throws FormatException,
                                 java.io.IOException

      Parse all of the tags in a stream.
      Throws:
        `FormatException`
        `java.io.IOException`

    - #### parseROIs

          private void parseROIs(loci.common.RandomAccessInputStream s,
                                 int imageNum,
                                 java.lang.String name,
                                 MetadataStore store)
                          throws java.io.IOException

      Parse ROI data from the given RandomAccessInputStream and store it in the given MetadataStore.
      Throws:
        `java.io.IOException`

    - #### parseROIString

          protected java.lang.String parseROIString(loci.common.RandomAccessInputStream s)
                                             throws java.io.IOException

      Throws:
        `java.io.IOException`

Copyright © 2026 Open Microscopy Environment