Package loci.formats.in
Class SVSReader
- All Implemented Interfaces:
Closeable,AutoCloseable,ICompressedTileReader,IFormatHandler,IFormatReader,IMetadataConfigurable,IPyramidHandler
- Direct Known Subclasses:
MikroscanTiffReader
SVSReader is the file format reader for Aperio SVS TIFF files.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final StringTIFF image description prefix for Aperio SVS files.private String[]private Stringprivate static final Stringprivate ome.xml.model.primitives.Colorprivate Doubleprivate Doubleprivate Doubleprivate Doubleprivate intprivate intprivate static final org.slf4j.LoggerLogger for this class.private intprivate Doubleprivate Doubleprivate Doublestatic final booleanstatic final Stringprivate Stringprivate Double[]Fields inherited from class loci.formats.in.BaseTiffReader
DATE_FORMATSFields inherited from class loci.formats.in.MinimalTiffReader
canSeparateSeries, equalStrips, ifds, lastPlane, mergeSubIFDs, noSubresolutions, seriesToIFD, subResolutionIFDs, thumbnailIFDs, tiffParser, use64BitFields inherited from class loci.formats.SubResolutionFormatReader
coreFields 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_DIMENSIONFields inherited from class loci.formats.FormatHandler
COMPRESSION_SUFFIXES, currentId, format, metadataOptions, suffixesFields inherited from interface loci.formats.IFormatReader
CAN_GROUP, CANNOT_GROUP, MUST_GROUP -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose(boolean fileOnly) Closes the currently open file.intReturns an indication of whether the files in a multi-file dataset can be handled individually.Returns the list of available metadata options.protected ome.xml.model.primitives.Timestampprotected ome.xml.model.primitives.Colorprotected ome.units.quantity.Lengthprotected ome.units.quantity.Lengthprotected Doubleprotected IFDgetIFD(int no) Get the IFD corresponding to the given plane in the current series.private intgetIFDIndex(int coreIndex, int no) protected doubleintReturns the optimal sub-image height for use with openBytes.intReturns the optimal sub-image width for use with openBytes.protected ome.units.quantity.Length[]getTileCodec(int no) Retrieve a codec that can be used to decompress compressed tiles.getTileCodecOptions(int no, int x, int y) Retrieve codec options that can be used to decompressed the specified tile.intgetTileColumns(int no) Get the number of columns of tiles in the specified plane in the current series.intgetTileRows(int no) Get the number of rows of tiles in the specified plane in the current series.protected voidPopulates the metadata store using the data parsed inBaseTiffReader.initStandardMetadata()along with some further parsing done in the method itself.protected voidParses standard metadata.booleanisThisType(String name, boolean open) Checks if a file matches the type of this format reader.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.byte[]openCompressedBytes(int no, byte[] buf, int x, int y) Retrieve the specified tile without performing any decompression.byte[]openCompressedBytes(int no, int x, int y) Retrieve the specified tile without performing any decompression.byte[]openThumbBytes(int no) Obtains a thumbnail for the specified image plane from the current file, as a byte array.booleanMethods inherited from class loci.formats.in.BaseTiffReader
getExifTagName, getImageCreationDate, initFile, initMetadata, put, put, put, put, put, put, put, put, put, put, putDouble, putInt, putStringMethods inherited from class loci.formats.in.MinimalTiffReader
copyTile, get16BitLookupTable, get8BitLookupTable, getCompressedByteCount, getIFDs, getThumbnailIFDs, getThumbSizeX, getThumbSizeY, getTileIndex, initTiffParser, isThisType, reopenFile, setResolutionLevelMethods inherited from class loci.formats.SubResolutionFormatReader
coreIndexToSeries, flattenHashtables, getCoreIndex, getCoreMetadataList, getCurrentCore, getResolution, getResolutionCount, getSeries, getSeriesCount, seriesToCoreIndex, setCoreIndex, setResolution, setSeriesMethods 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, getAcquisitionMode, getAdvancedSeriesUsedFiles, getAdvancedUsedFiles, getArcType, 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, getUnderlyingReaders, getUsedFiles, getUsedFiles, getZCTCoords, getZCTModuloCoords, hasCompanionFiles, hasFlattenedResolutions, isFalseColor, isGroupFiles, isIndexed, isInterleaved, isInterleaved, isLittleEndian, isMetadataComplete, isMetadataFiltered, isNormalized, isOrderCertain, isOriginalMetadataPopulated, isRGB, isSingleFile, isThisType, isThisType, isThumbnailSeries, isUsedFile, makeFilterMetadata, openBytes, openBytes, openBytes, openPlane, readPlane, readPlane, readPlane, setFillColor, setFlattenedResolutions, setGroupFiles, setId, setMetadataFiltered, setMetadataStore, setNormalized, setOriginalMetadataPopulated, updateMetadataListsMethods inherited from class loci.formats.FormatHandler
checkSuffix, checkSuffix, getFormat, getMetadataOptions, getNativeDataType, getSuffixes, getSupportedMetadataLevels, setMetadataOptionsMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface loci.formats.IFormatHandler
getFormat, getNativeDataType, getSuffixesMethods inherited from interface loci.formats.IMetadataConfigurable
getMetadataOptions, getSupportedMetadataLevels, setMetadataOptions
-
Field Details
-
REMOVE_THUMBNAIL_KEY
- See Also:
-
REMOVE_THUMBNAIL_DEFAULT
public static final boolean REMOVE_THUMBNAIL_DEFAULT- See Also:
-
LOGGER
private static final org.slf4j.Logger LOGGERLogger for this class. -
APERIO_IMAGE_DESCRIPTION_PREFIX
TIFF image description prefix for Aperio SVS files.- See Also:
-
DATE_FORMAT
- See Also:
-
zPosition
-
comments
-
emissionWavelength
-
excitationWavelength
-
exposureTime
-
exposureScale
-
magnification
-
date
-
time
-
dyeNames
-
displayColor
private transient ome.xml.model.primitives.Color displayColor -
labelIndex
private int labelIndex -
macroIndex
private int macroIndex -
extraImages
private int extraImages -
physicalDistanceFromLeftEdge
-
physicalDistanceFromTopEdge
-
-
Constructor Details
-
SVSReader
public SVSReader()Constructs a new SVS reader. -
SVSReader
-
-
Method Details
-
removeThumbnail
public boolean removeThumbnail() -
fileGroupOption
Description copied from interface:IFormatReaderReturns an indication of whether the files in a multi-file dataset can be handled individually. This method is only useful for formats and datasets which contain multiple files.- Specified by:
fileGroupOptionin interfaceIFormatReader- Overrides:
fileGroupOptionin classFormatReader- Parameters:
id- a file in the multi-file dataset- Returns:
- an int indicating that we cannot, must, or might group the files.
A return value of
FormatTools.MUST_GROUPindicates that the files cannot be handled separately; the reader will always detect and read all files in the dataset.FormatTools.CAN_GROUPindicates that the files may be handled separately, but file grouping must then be disabled viaIFormatReader.setGroupFiles(boolean).FormatTools.CANNOT_GROUPindicates that the files must be handled separately; the reader will not attempt to read all files in the dataset (this is rare). - Throws:
FormatExceptionIOException- See Also:
-
isThisType
Description copied from class:FormatReaderChecks if a file matches the type of this format reader. Checks filename suffixes against those known for this format. If the suffix check is inconclusive and the open parameter is true, the file is opened and tested withFormatReader.isThisType(RandomAccessInputStream).- Specified by:
isThisTypein interfaceIFormatReader- Overrides:
isThisTypein classFormatReader- Parameters:
open- If true, and the file extension is insufficient to determine the file type, the (existing) file is opened for further analysis.
-
openBytes
public byte[] openBytes(int no, byte[] buf, int x, int y, int w, int h) throws FormatException, IOException Description copied from interface:IFormatReaderObtains a sub-image of the specified image plane into a pre-allocated byte array.- Specified by:
openBytesin interfaceIFormatReader- Overrides:
openBytesin classMinimalTiffReader- 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-imagey- Y coordinate of the upper-left corner of the sub-imagew- width of the sub-imageh- height of the sub-image- Returns:
- the pre-allocated buffer
buffor 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:
-
openThumbBytes
Description copied from interface:IFormatReaderObtains a thumbnail for the specified image plane from the current file, as a byte array.- Specified by:
openThumbBytesin interfaceIFormatReader- Overrides:
openThumbBytesin classMinimalTiffReader- Throws:
FormatExceptionIOException
-
close
Description copied from interface:IFormatReaderCloses the currently open file. If the flag is set, this is all that happens; if unset, it is equivalent to callingCloseable.close().- Specified by:
closein interfaceIFormatReader- Overrides:
closein classMinimalTiffReader- Throws:
IOException
-
getOptimalTileWidth
public int getOptimalTileWidth()Description copied from interface:IFormatReaderReturns the optimal sub-image width for use with openBytes.- Specified by:
getOptimalTileWidthin interfaceIFormatReader- Overrides:
getOptimalTileWidthin classMinimalTiffReader
-
getOptimalTileHeight
public int getOptimalTileHeight()Description copied from interface:IFormatReaderReturns the optimal sub-image height for use with openBytes.- Specified by:
getOptimalTileHeightin interfaceIFormatReader- Overrides:
getOptimalTileHeightin classMinimalTiffReader
-
getTileRows
public int getTileRows(int no) Description copied from interface:ICompressedTileReaderGet the number of rows of tiles in the specified plane in the current series.- Specified by:
getTileRowsin interfaceICompressedTileReader- Overrides:
getTileRowsin classFormatReader- Parameters:
no- plane index- Returns:
- tile row count
-
getTileColumns
public int getTileColumns(int no) Description copied from interface:ICompressedTileReaderGet the number of columns of tiles in the specified plane in the current series.- Specified by:
getTileColumnsin interfaceICompressedTileReader- Overrides:
getTileColumnsin classFormatReader- Parameters:
no- plane index- Returns:
- tile column count
-
openCompressedBytes
Description copied from interface:ICompressedTileReaderRetrieve the specified tile without performing any decompression.- Parameters:
no- plane indexx- tile X index (indexed from 0, @see getTileColumns(int))y- tile Y index (indexed from 0, @see getTileRows(int))- Returns:
- compressed tile bytes
- Throws:
FormatExceptionIOException
-
openCompressedBytes
public byte[] openCompressedBytes(int no, byte[] buf, int x, int y) throws FormatException, IOException Description copied from interface:ICompressedTileReaderRetrieve the specified tile without performing any decompression.- Parameters:
no- plane indexbuf- pre-allocated buffer in which to store compressed bytesx- tile X index (indexed from 0, @see getTileColumns(int))y- tile Y index (indexed from 0, @see getTileRows(int))- Returns:
- compressed tile bytes
- Throws:
FormatExceptionIOException
-
getTileCodec
Description copied from interface:ICompressedTileReaderRetrieve a codec that can be used to decompress compressed tiles.- Parameters:
no- plane index- Returns:
- codec that can be used for compressed tiles in the specified plane
- Throws:
FormatExceptionIOException- See Also:
-
getTileCodecOptions
Description copied from interface:ICompressedTileReaderRetrieve codec options that can be used to decompressed the specified tile.- Parameters:
no- plane indexx- tile X index (indexed from 0, @see getTileColumns(int))y- tile Y index (indexed from 0, @see getTileRows(int))- Returns:
- codec options
- Throws:
FormatExceptionIOException- See Also:
-
getAvailableOptions
Description copied from class:FormatReaderReturns the list of available metadata options.- Overrides:
getAvailableOptionsin classFormatReader
-
initStandardMetadata
Description copied from class:BaseTiffReaderParses 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:
initStandardMetadatain classBaseTiffReader- Throws:
FormatExceptionIOException
-
initMetadataStore
Description copied from class:BaseTiffReaderPopulates the metadata store using the data parsed inBaseTiffReader.initStandardMetadata()along with some further parsing done in the method itself. All calls to the activeMetadataStoreshould 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:
initMetadataStorein classBaseTiffReader- Throws:
FormatException
-
getIFDIndex
private int getIFDIndex(int coreIndex, int no) -
getEmission
protected ome.units.quantity.Length getEmission() -
getExcitation
protected ome.units.quantity.Length getExcitation() -
getExposureTime
-
getDatestamp
protected ome.xml.model.primitives.Timestamp getDatestamp() -
getPhysicalSizes
protected ome.units.quantity.Length[] getPhysicalSizes() -
getMagnification
protected double getMagnification() -
getDyeNames
-
getDisplayColor
protected ome.xml.model.primitives.Color getDisplayColor() -
getIFD
Get the IFD corresponding to the given plane in the current series. Initializes the underlying TiffParser if necessary.- Parameters:
no- index- Returns:
- corresponding IFD
-