loci.formats.in
Class LeicaReader

java.lang.Object
  extended by loci.formats.FormatHandler
      extended by loci.formats.FormatReader
          extended by loci.formats.in.LeicaReader
All Implemented Interfaces:
IFormatHandler, IFormatReader, StatusReporter

public class LeicaReader
extends FormatReader

LeicaReader is the file format reader for Leica files.

Source code:
Trac, SVN

Author:
Melissa Linkert linkert at wisc.edu

Field Summary
protected  Vector[] files
          Array of image file names.
protected  Hashtable[] headerIFDs
          Array of IFD-like structures containing metadata.
protected  Hashtable[] ifds
           
protected  TiffReader[][] tiff
          Helper readers.
 
Fields inherited from class loci.formats.FormatReader
collectMetadata, core, filterMetadata, group, in, metadata, metadataStore, normalizeData, saveOriginalMetadata, series, THUMBNAIL_DIMENSION
 
Fields inherited from class loci.formats.FormatHandler
currentId, debug, debugLevel, format, statusListeners, suffixes
 
Fields inherited from interface loci.formats.IFormatReader
CAN_GROUP, CANNOT_GROUP, MUST_GROUP
 
Constructor Summary
LeicaReader()
          Constructs a new Leica reader.
 
Method Summary
 void close()
          Closes currently open file(s) and frees allocated memory.
 void close(boolean fileOnly)
          Closes the currently open file.
 int fileGroupOption(String id)
          Returns an int indicating that we cannot, must, or might group the files in a given dataset.
 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.
 String[] getUsedFiles()
          Returns an array of filenames needed to open this dataset.
protected  void initFile(String id)
          Initializes the given file (parsing header information, etc.).
protected  void initMetadata()
           
 boolean isThisType(byte[] block)
          Checks if the given block is a valid header for this file format.
 boolean isThisType(String name, boolean open)
          Checks if a file matches the type of this format handler.
 byte[] openBytes(int no, byte[] buf)
          Obtains the specified image from the current file into a pre-allocated byte array of (sizeX * sizeY * bytesPerPixel).
 
Methods inherited from class loci.formats.FormatReader
addMeta, checkBytes, getChannelDimLengths, getChannelDimLengths, getChannelDimTypes, getChannelDimTypes, getCoreMetadata, getCoreMetadata, getCurrentFile, getDimensionOrder, getDimensionOrder, getEffectiveSizeC, getEffectiveSizeC, getImageCount, getImageCount, getIndex, getIndex, getMeta, getMetadata, getMetadata, getMetadataStore, getMetadataStore, getMetadataStoreRoot, getMetadataStoreRoot, getMetadataValue, getMetadataValue, getPixelType, getPixelType, getRGBChannelCount, getRGBChannelCount, getSeries, getSeries, getSeriesCount, getSeriesCount, getSizeC, getSizeC, getSizeT, getSizeT, getSizeX, getSizeX, getSizeY, getSizeY, getSizeZ, getSizeZ, getThumbSizeX, getThumbSizeX, getThumbSizeY, getThumbSizeY, getUsedFiles, getZCTCoords, getZCTCoords, isFalseColor, isGroupFiles, isIndexed, isInterleaved, isInterleaved, isInterleaved, isInterleaved, isLittleEndian, isLittleEndian, isMetadataCollected, isMetadataComplete, isMetadataFiltered, isNormalized, isOrderCertain, isOrderCertain, isOriginalMetadataPopulated, isRGB, isRGB, isUsedFile, openBytes, openBytes, openBytes, openImage, openImage, openThumbBytes, openThumbBytes, openThumbImage, openThumbImage, setGroupFiles, setId, setMetadataCollected, setMetadataFiltered, setMetadataStore, setNormalized, setOriginalMetadataPopulated, setSeries, setSeries
 
Methods inherited from class loci.formats.FormatHandler
addStatusListener, debug, getFormat, getStatusListeners, getSuffixes, isThisType, removeStatusListener, setDebug, setDebugLevel, setId, status, status, status, trace, trace
 
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, getSuffixes, isThisType, setId
 
Methods inherited from interface loci.formats.StatusReporter
addStatusListener, getStatusListeners, removeStatusListener
 

Field Detail

ifds

protected Hashtable[] ifds

headerIFDs

protected Hashtable[] headerIFDs
Array of IFD-like structures containing metadata.


tiff

protected TiffReader[][] tiff
Helper readers.


files

protected Vector[] files
Array of image file names.

Constructor Detail

LeicaReader

public LeicaReader()
Constructs a new Leica reader.

Method Detail

isThisType

public boolean isThisType(byte[] block)
Description copied from interface: IFormatReader
Checks if the given block is a valid header for this file format.


get8BitLookupTable

public byte[][] get8BitLookupTable()
                            throws FormatException,
                                   IOException
Description copied from interface: IFormatReader
Gets the 8-bit color lookup table associated with the most recently opened image. If no images have been opened, or if isIndexed() returns false, then this returns null. Also, if getPixelType() returns anything other than INT8 or UINT8, this method will return null.

Specified by:
get8BitLookupTable in interface IFormatReader
Overrides:
get8BitLookupTable in class FormatReader
Throws:
FormatException
IOException

get16BitLookupTable

public short[][] get16BitLookupTable()
                              throws FormatException,
                                     IOException
Description copied from interface: IFormatReader
Gets the 16-bit color lookup table associated with the most recently opened image. If no images have been opened, or if isIndexed() returns false, then this returns null. Also, if getPixelType() returns anything other than INT16 or UINT16, this method will return null.

Specified by:
get16BitLookupTable in interface IFormatReader
Overrides:
get16BitLookupTable in class FormatReader
Throws:
FormatException
IOException

fileGroupOption

public int fileGroupOption(String id)
                    throws FormatException,
                           IOException
Description copied from interface: IFormatReader
Returns an int indicating that we cannot, must, or might group the files in a given dataset.

Specified by:
fileGroupOption in interface IFormatReader
Overrides:
fileGroupOption in class FormatReader
Throws:
FormatException
IOException

openBytes

public byte[] openBytes(int no,
                        byte[] buf)
                 throws FormatException,
                        IOException
Description copied from interface: IFormatReader
Obtains the specified image from the current file into a pre-allocated byte array of (sizeX * sizeY * bytesPerPixel).

Parameters:
no - the image index within the file.
buf - a pre-allocated buffer.
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.

getUsedFiles

public String[] getUsedFiles()
Description copied from interface: IFormatReader
Returns an array of filenames needed to open this dataset.

Specified by:
getUsedFiles in interface IFormatReader
Overrides:
getUsedFiles in class FormatReader

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 IFormatHandler.close().

Specified by:
close in interface IFormatReader
Overrides:
close in class FormatReader
Throws:
IOException

isThisType

public boolean isThisType(String name,
                          boolean open)
Description copied from class: FormatHandler
Checks if a file matches the type of this format handler. The default implementation checks filename suffixes against those known for this format (the open parameter does nothing).

Specified by:
isThisType in interface IFormatHandler
Overrides:
isThisType in class FormatHandler
open - If true, and the file extension is insufficient to determine the file type, the (existing) file is opened for further analysis. Does nothing in the default implementation.

close

public void close()
           throws IOException
Description copied from interface: IFormatHandler
Closes currently open file(s) and frees allocated memory.

Specified by:
close in interface IFormatHandler
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
IOException

initMetadata

protected void initMetadata()
                     throws FormatException,
                            IOException
Throws:
FormatException
IOException