loci.formats.in

## Class FluoviewReader

- java.lang.Object
- - loci.formats.FormatHandler
  - - loci.formats.FormatReader
    - - loci.formats.SubResolutionFormatReader
      - - loci.formats.in.MinimalTiffReader
        - - loci.formats.in.BaseTiffReader
          - - loci.formats.in.FluoviewReader

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

      public class FluoviewReader
      extends BaseTiffReader

  FluoviewReader is the file format reader for Olympus Fluoview TIFF files AND Andor Bio-imaging Division (ABD) TIFF files.
  Author:
    Eric Kjellman egkjellman at wisc.edu, Melissa Linkert melissa at glencoesoftware.com, Curtis Rueden ctrueden at wisc.edu

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private static int` | `ACQUISITION_CYCLE_TIME`
    `private static int` | `ACTUAL_TEMPERATURE`
    `private static java.lang.String` | `ANDOR_MAGIC_STRING`
    `private static int` | `BASELINE_CLAMP`
    `private static int` | `BASELINE_OFFSET`
    `private static int` | `CAMERA_SERIAL_SETTING`
    `private java.lang.String[]` | `channelNames`
    `private static int` | `CHIP_SIZE_X`
    `private static int` | `CHIP_SIZE_Y`
    `private static int` | `CLOCKWISE`
    `private java.lang.String` | `comment`
    `private static int` | `COUNTER_CLOCKWISE`
    `private java.lang.String` | `date`
    `private static java.lang.String` | `DATE_FORMAT` Date format
    `private java.lang.String` | `detectorManufacturer`
    `private java.lang.String` | `dimensionOrder`
    `private static int` | `EM_DAC`
    `private static int` | `EXPOSURE_TIME`
    `private java.lang.Float` | `exposureTime`
    `private int` | `fieldIndex`
    `private double[][]` | `fieldOffsets`
    `private static java.lang.String` | `FLUOVIEW_MAGIC_STRING` String identifying a Fluoview file.
    `private java.lang.String[]` | `gains`
    `private static int` | `HORIZONTAL_FLIP`
    `private static int` | `KINETIC_CYCLE_TIME`
    `private java.lang.String[]` | `lensNA`
    `private java.lang.String` | `mag`
    `private static int` | `MMHEADER` Private TIFF tags
    `private static int` | `MMSTAMP`
    `private java.lang.String` | `model`
    `private static int` | `MODEL`
    `private int` | `montageIndex`
    `private double[][]` | `montageOffsets`
    `private static int` | `N_ACCUMULATIONS`
    `private static int` | `N_FRAMES`
    `private java.lang.String` | `objectiveManufacturer`
    `private java.lang.String[]` | `offsets`
    `private static int` | `PRE_AMP_SETTING`
    `private static int` | `PRESCANS`
    `private static int` | `READOUT_TIME`
    `private java.lang.Float` | `readoutTime`
    `private double[][]` | `stamps` Timestamps for each plane, in seconds.
    `private java.lang.Float` | `temperature`
    `private static int` | `TEMPERATURE`
    `private int` | `timeIndex`
    `private static int` | `VERTICAL_CLOCK_VOLTAGE`
    `private static int` | `VERTICAL_FLIP`
    `private static int` | `VERTICAL_SHIFT_SPEED`
    `private java.lang.String[]` | `voltages`
    `private double` | `voxelC` Pixel dimensions for this file.
    `private double` | `voxelT` Pixel dimensions for this file.
    `private double` | `voxelX` Pixel dimensions for this file.
    `private double` | `voxelY` Pixel dimensions for this file.
    `private double` | `voxelZ` Pixel dimensions for this file.
    `private double[]` | `zPositions`

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

      `DATE_FORMATS, LOGGER`

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

      `canSeparateSeries, equalStrips, ifds, lastPlane, mergeSubIFDs, noSubresolutions, seriesToIFD, subResolutionIFDs, thumbnailIFDs, tiffParser, use64Bit`

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

      `core`

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

      `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, metadataOptions, suffixes`

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

      `CAN_GROUP, CANNOT_GROUP, MUST_GROUP`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `FluoviewReader()` Constructs a new Fluoview TIFF reader.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `close(boolean fileOnly)` Closes the currently open file.
    `private int` | `getField(int seriesIndex)`
    `private int` | `getImageIndex(int no)`
    `private int` | `getMontage(int seriesIndex)`
    `private int[]` | `getPos(int seriesIndex)`
    `private void` | `initAlternateMetadata()`
    `private void` | `initAlternateMetadataStore()`
    `protected void` | `initMetadataStore()` Populates the metadata store using the data parsed in `BaseTiffReader.initStandardMetadata()` along with some further parsing done in the method itself.
    `protected void` | `initStandardMetadata()` Parses standard metadata.
    `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` | `parseComment()`
    `private void` | `parsePageName()`
    `private void` | `readStamps()`
    `private byte[]` | `shortArrayToBytes(short[] s)`

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

      `getExifTagName, getImageCreationDate, initFile, initMetadata, put, put, put, put, put, put, put, put, put, put, putDouble, putInt, putString`

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

      `copyTile, get16BitLookupTable, get8BitLookupTable, getCompressedByteCount, getIFDs, getOptimalTileHeight, getOptimalTileWidth, getThumbnailIFDs, getThumbSizeX, getThumbSizeY, getTileIndex, initTiffParser, openThumbBytes, reopenFile, setResolutionLevel`

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

      `coreIndexToSeries, flattenHashtables, getCoreIndex, getCoreMetadataList, getCurrentCore, getResolution, getResolutionCount, getSeries, getSeriesCount, seriesToCoreIndex, setCoreIndex, setResolution, setSeries`

    - ### 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, fileGroupOption, getAcquisitionMode, getAdvancedSeriesUsedFiles, getAdvancedUsedFiles, getArcType, getAvailableOptions, getBinning, getBitsPerPixel, getCompression, getContrastMethod, getCorrection, 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, getPixelType, getPixelType, getPossibleDomains, getPulse, getRequiredDirectories, getRGBChannelCount, getRotationTransform, getSeriesMeta, getSeriesMetadata, getSeriesMetadataValue, getSeriesUsedFiles, getSeriesUsedFiles, getSizeC, getSizeT, getSizeX, getSizeY, getSizeZ, 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, readPlane, readPlane, readPlane, setFillColor, setFlattenedResolutions, setGroupFiles, setId, setMetadataFiltered, setMetadataStore, setNormalized, setOriginalMetadataPopulated, 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

    - #### FLUOVIEW_MAGIC_STRING

          private static final java.lang.String FLUOVIEW_MAGIC_STRING

      String identifying a Fluoview file.
      See Also:
        Constant Field Values

    - #### ANDOR_MAGIC_STRING

          private static final java.lang.String ANDOR_MAGIC_STRING

      See Also:
        Constant Field Values

    - #### MMHEADER

          private static final int MMHEADER

      Private TIFF tags
      See Also:
        Constant Field Values

    - #### MMSTAMP

          private static final int MMSTAMP

      See Also:
        Constant Field Values

    - #### TEMPERATURE

          private static final int TEMPERATURE

      See Also:
        Constant Field Values

    - #### EXPOSURE_TIME

          private static final int EXPOSURE_TIME

      See Also:
        Constant Field Values

    - #### KINETIC_CYCLE_TIME

          private static final int KINETIC_CYCLE_TIME

      See Also:
        Constant Field Values

    - #### N_ACCUMULATIONS

          private static final int N_ACCUMULATIONS

      See Also:
        Constant Field Values

    - #### ACQUISITION_CYCLE_TIME

          private static final int ACQUISITION_CYCLE_TIME

      See Also:
        Constant Field Values

    - #### READOUT_TIME

          private static final int READOUT_TIME

      See Also:
        Constant Field Values

    - #### EM_DAC

          private static final int EM_DAC

      See Also:
        Constant Field Values

    - #### N_FRAMES

          private static final int N_FRAMES

      See Also:
        Constant Field Values

    - #### HORIZONTAL_FLIP

          private static final int HORIZONTAL_FLIP

      See Also:
        Constant Field Values

    - #### VERTICAL_FLIP

          private static final int VERTICAL_FLIP

      See Also:
        Constant Field Values

    - #### CLOCKWISE

          private static final int CLOCKWISE

      See Also:
        Constant Field Values

    - #### COUNTER_CLOCKWISE

          private static final int COUNTER_CLOCKWISE

      See Also:
        Constant Field Values

    - #### VERTICAL_CLOCK_VOLTAGE

          private static final int VERTICAL_CLOCK_VOLTAGE

      See Also:
        Constant Field Values

    - #### VERTICAL_SHIFT_SPEED

          private static final int VERTICAL_SHIFT_SPEED

      See Also:
        Constant Field Values

    - #### PRE_AMP_SETTING

          private static final int PRE_AMP_SETTING

      See Also:
        Constant Field Values

    - #### CAMERA_SERIAL_SETTING

          private static final int CAMERA_SERIAL_SETTING

      See Also:
        Constant Field Values

    - #### ACTUAL_TEMPERATURE

          private static final int ACTUAL_TEMPERATURE

      See Also:
        Constant Field Values

    - #### BASELINE_CLAMP

          private static final int BASELINE_CLAMP

      See Also:
        Constant Field Values

    - #### PRESCANS

          private static final int PRESCANS

      See Also:
        Constant Field Values

    - #### MODEL

          private static final int MODEL

      See Also:
        Constant Field Values

    - #### CHIP_SIZE_X

          private static final int CHIP_SIZE_X

      See Also:
        Constant Field Values

    - #### CHIP_SIZE_Y

          private static final int CHIP_SIZE_Y

      See Also:
        Constant Field Values

    - #### BASELINE_OFFSET

          private static final int BASELINE_OFFSET

      See Also:
        Constant Field Values

    - #### DATE_FORMAT

          private static final java.lang.String DATE_FORMAT

      Date format
      See Also:
        Constant Field Values

    - #### voxelX

          private double voxelX

      Pixel dimensions for this file.

    - #### voxelY

          private double voxelY

      Pixel dimensions for this file.

    - #### voxelZ

          private double voxelZ

      Pixel dimensions for this file.

    - #### voxelC

          private double voxelC

      Pixel dimensions for this file.

    - #### voxelT

          private double voxelT

      Pixel dimensions for this file.

    - #### dimensionOrder

          private java.lang.String dimensionOrder

    - #### date

          private java.lang.String date

    - #### timeIndex

          private int timeIndex

    - #### fieldIndex

          private int fieldIndex

    - #### montageIndex

          private int montageIndex

    - #### stamps

          private double[][] stamps

      Timestamps for each plane, in seconds.

    - #### zPositions

          private double[] zPositions

    - #### gains

          private java.lang.String[] gains

    - #### voltages

          private java.lang.String[] voltages

    - #### offsets

          private java.lang.String[] offsets

    - #### channelNames

          private java.lang.String[] channelNames

    - #### lensNA

          private java.lang.String[] lensNA

    - #### mag

          private java.lang.String mag

    - #### detectorManufacturer

          private java.lang.String detectorManufacturer

    - #### objectiveManufacturer

          private java.lang.String objectiveManufacturer

    - #### comment

          private java.lang.String comment

    - #### temperature

          private java.lang.Float temperature

    - #### exposureTime

          private java.lang.Float exposureTime

    - #### readoutTime

          private java.lang.Float readoutTime

    - #### model

          private java.lang.String model

    - #### montageOffsets

          private double[][] montageOffsets

    - #### fieldOffsets

          private double[][] fieldOffsets

  - ### Constructor Detail

    - #### FluoviewReader

          public FluoviewReader()

      Constructs a new Fluoview TIFF 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 `MinimalTiffReader`
      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`
      Overrides:
        `openBytes` in class `MinimalTiffReader`
      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 `MinimalTiffReader`
      Throws:
        `java.io.IOException`

    - #### initStandardMetadata

          protected void initStandardMetadata()
                                       throws FormatException,
                                              java.io.IOException

      Description copied from class: `BaseTiffReader`
      Parses standard metadata. NOTE: Absolutely no calls to the metadata store should be made in this method or methods that override this method. Data will be overwritten if you do so.
      Overrides:
        `initStandardMetadata` in class `BaseTiffReader`
      Throws:
        `FormatException`
        `java.io.IOException`

    - #### initMetadataStore

          protected void initMetadataStore()
                                    throws FormatException

      Description copied from class: `BaseTiffReader`
      Populates the metadata store using the data parsed in `BaseTiffReader.initStandardMetadata()` along with some further parsing done in the method itself. All calls to the active `MetadataStore` should be made in this method and only in this method. This is especially important for sub-classes that override the getters for pixel set array size, etc.
      Overrides:
        `initMetadataStore` in class `BaseTiffReader`
      Throws:
        `FormatException`

    - #### initAlternateMetadata

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

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

    - #### initAlternateMetadataStore

          private void initAlternateMetadataStore()
                                           throws FormatException

      Throws:
        `FormatException`

    - #### getImageIndex

          private int getImageIndex(int no)

    - #### readStamps

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

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

    - #### shortArrayToBytes

          private byte[] shortArrayToBytes(short[] s)

    - #### parsePageName

          private void parsePageName()

    - #### parseComment

          private void parseComment()

    - #### getMontage

          private int getMontage(int seriesIndex)

    - #### getField

          private int getField(int seriesIndex)

    - #### getPos

          private int[] getPos(int seriesIndex)

Copyright © 2026 Open Microscopy Environment