Class FluoviewReader

All Implemented Interfaces:
Closeable, 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 Details

    • FLUOVIEW_MAGIC_STRING

      private static final String FLUOVIEW_MAGIC_STRING
      String identifying a Fluoview file.
      See Also:
    • ANDOR_MAGIC_STRING

      private static final String ANDOR_MAGIC_STRING
      See Also:
    • MMHEADER

      private static final int MMHEADER
      Private TIFF tags
      See Also:
    • MMSTAMP

      private static final int MMSTAMP
      See Also:
    • TEMPERATURE

      private static final int TEMPERATURE
      See Also:
    • EXPOSURE_TIME

      private static final int EXPOSURE_TIME
      See Also:
    • KINETIC_CYCLE_TIME

      private static final int KINETIC_CYCLE_TIME
      See Also:
    • N_ACCUMULATIONS

      private static final int N_ACCUMULATIONS
      See Also:
    • ACQUISITION_CYCLE_TIME

      private static final int ACQUISITION_CYCLE_TIME
      See Also:
    • READOUT_TIME

      private static final int READOUT_TIME
      See Also:
    • EM_DAC

      private static final int EM_DAC
      See Also:
    • N_FRAMES

      private static final int N_FRAMES
      See Also:
    • HORIZONTAL_FLIP

      private static final int HORIZONTAL_FLIP
      See Also:
    • VERTICAL_FLIP

      private static final int VERTICAL_FLIP
      See Also:
    • CLOCKWISE

      private static final int CLOCKWISE
      See Also:
    • COUNTER_CLOCKWISE

      private static final int COUNTER_CLOCKWISE
      See Also:
    • VERTICAL_CLOCK_VOLTAGE

      private static final int VERTICAL_CLOCK_VOLTAGE
      See Also:
    • VERTICAL_SHIFT_SPEED

      private static final int VERTICAL_SHIFT_SPEED
      See Also:
    • PRE_AMP_SETTING

      private static final int PRE_AMP_SETTING
      See Also:
    • CAMERA_SERIAL_SETTING

      private static final int CAMERA_SERIAL_SETTING
      See Also:
    • ACTUAL_TEMPERATURE

      private static final int ACTUAL_TEMPERATURE
      See Also:
    • BASELINE_CLAMP

      private static final int BASELINE_CLAMP
      See Also:
    • PRESCANS

      private static final int PRESCANS
      See Also:
    • MODEL

      private static final int MODEL
      See Also:
    • CHIP_SIZE_X

      private static final int CHIP_SIZE_X
      See Also:
    • CHIP_SIZE_Y

      private static final int CHIP_SIZE_Y
      See Also:
    • BASELINE_OFFSET

      private static final int BASELINE_OFFSET
      See Also:
    • DATE_FORMAT

      private static final String DATE_FORMAT
      Date format
      See Also:
    • 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 String dimensionOrder
    • date

      private 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 String[] gains
    • voltages

      private String[] voltages
    • offsets

      private String[] offsets
    • channelNames

      private String[] channelNames
    • lensNA

      private String[] lensNA
    • mag

      private String mag
    • detectorManufacturer

      private String detectorManufacturer
    • objectiveManufacturer

      private String objectiveManufacturer
    • comment

      private String comment
    • temperature

      private Float temperature
    • exposureTime

      private Float exposureTime
    • readoutTime

      private Float readoutTime
    • model

      private String model
    • montageOffsets

      private double[][] montageOffsets
    • fieldOffsets

      private double[][] fieldOffsets
  • Constructor Details

    • FluoviewReader

      public FluoviewReader()
      Constructs a new Fluoview TIFF 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 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:
      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
      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.
      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 MinimalTiffReader
      Throws:
      IOException
    • initStandardMetadata

      protected void initStandardMetadata() throws FormatException, 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
      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, IOException
      Throws:
      FormatException
      IOException
    • initAlternateMetadataStore

      private void initAlternateMetadataStore() throws FormatException
      Throws:
      FormatException
    • getImageIndex

      private int getImageIndex(int no)
    • readStamps

      private void readStamps() throws FormatException, IOException
      Throws:
      FormatException
      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)