public class VentanaReader extends BaseTiffReader
Modifier and Type | Class and Description |
---|---|
(package private) class |
VentanaReader.AreaOfInterest |
(package private) class |
VentanaReader.Overlap |
(package private) class |
VentanaReader.TIFFTile |
Modifier and Type | Field and Description |
---|---|
private java.util.List<VentanaReader.AreaOfInterest> |
areas |
private static int |
EXTRA_TAG_1 |
private static int |
EXTRA_TAG_2 |
private static org.slf4j.Logger |
LOGGER
Logger for this class.
|
private java.lang.Double |
magnification |
private java.lang.Double |
physicalPixelSize |
private int |
resolutions |
static boolean |
SPLIT_TILES_DEFAULT
Default value of
SPLIT_TILES_KEY |
static java.lang.String |
SPLIT_TILES_KEY
MetadataOptions key for determining whether to report
each tile as a separate series.
|
private int |
tileHeight |
private VentanaReader.TIFFTile[] |
tiles |
private int |
tileWidth |
private static int |
XML_TAG |
DATE_FORMATS
canSeparateSeries, equalStrips, ifds, lastPlane, mergeSubIFDs, noSubresolutions, seriesToIFD, subResolutionIFDs, thumbnailIFDs, tiffParser, use64Bit
core
coreIndex, datasetDescription, domains, fillColor, filterMetadata, flattenedResolutions, group, hasCompanionFiles, in, indexedAsRGB, metadata, metadataStore, normalizeData, resolution, saveOriginalMetadata, series, suffixNecessary, suffixSufficient, THUMBNAIL_DIMENSION
COMPRESSION_SUFFIXES, currentId, format, metadataOptions, suffixes
CAN_GROUP, CANNOT_GROUP, MUST_GROUP
Constructor and Description |
---|
VentanaReader()
Constructs a new Ventana reader.
|
Modifier and Type | Method and Description |
---|---|
void |
close(boolean fileOnly)
Closes the currently open file.
|
int |
fileGroupOption(java.lang.String id)
Returns an indication of whether the files in a multi-file dataset can
be handled individually.
|
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.
|
protected java.util.ArrayList<java.lang.String> |
getAvailableOptions()
Returns the list of available metadata options.
|
private int |
getIFDIndex(int coreIndex,
int no) |
int |
getOptimalTileHeight()
Returns the optimal sub-image height for use with openBytes.
|
int |
getOptimalTileWidth()
Returns the optimal sub-image width for use with openBytes.
|
private int |
getScale(int resolution) |
int |
getThumbSizeX()
Get the size of the X dimension for the thumbnail.
|
int |
getThumbSizeY()
Get the size of the Y dimension for the thumbnail.
|
private int |
getTileColumn(int index,
int rows,
int cols) |
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(java.lang.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[] |
openThumbBytes(int no)
Obtains a thumbnail for the specified image plane from the current file,
as a byte array.
|
private void |
parseXML(java.lang.String xml) |
private int |
scaleCoordinate(int v,
int resolution) |
boolean |
splitTiles() |
getExifTagName, getImageCreationDate, initFile, initMetadata, put, put, put, put, put, put, put, put, put, put, putDouble, putInt, putString
getIFDs, getThumbnailIFDs, initTiffParser, isThisType, reopenFile, setResolutionLevel
coreIndexToSeries, flattenHashtables, getCoreIndex, getCoreMetadataList, getCurrentCore, getResolution, getResolutionCount, getSeries, getSeriesCount, seriesToCoreIndex, setCoreIndex, setResolution, setSeries
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, getTileColumns, getTileRows, 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, updateMetadataLists
checkSuffix, checkSuffix, getFormat, getMetadataOptions, getNativeDataType, getSuffixes, getSupportedMetadataLevels, setMetadataOptions
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getFormat, getNativeDataType, getSuffixes
getMetadataOptions, getSupportedMetadataLevels, setMetadataOptions
getTileCodec, getTileCodecOptions, openCompressedBytes, openCompressedBytes
public static final java.lang.String SPLIT_TILES_KEY
public static final boolean SPLIT_TILES_DEFAULT
SPLIT_TILES_KEY
private static final org.slf4j.Logger LOGGER
private static final int XML_TAG
private static final int EXTRA_TAG_1
private static final int EXTRA_TAG_2
private java.lang.Double magnification
private java.util.List<VentanaReader.AreaOfInterest> areas
private int tileWidth
private int tileHeight
private VentanaReader.TIFFTile[] tiles
private int resolutions
private java.lang.Double physicalPixelSize
public boolean splitTiles()
public int fileGroupOption(java.lang.String id) throws FormatException, java.io.IOException
IFormatReader
fileGroupOption
in interface IFormatReader
fileGroupOption
in class FormatReader
id
- a file in the multi-file datasetFormatTools.MUST_GROUP
indicates that the
files cannot be handled separately; the reader will always detect and
read all files in the dataset. FormatTools.CAN_GROUP
indicates
that the files may be handled separately, but file grouping must then
be disabled via IFormatReader.setGroupFiles(boolean)
.
FormatTools.CANNOT_GROUP
indicates that the files must be handled
separately; the reader will not attempt to read all files in the dataset
(this is rare).FormatException
java.io.IOException
FormatTools.MUST_GROUP
,
FormatTools.CAN_GROUP
,
FormatTools.CANNOT_GROUP
public boolean isThisType(java.lang.String name, boolean open)
FormatReader
FormatReader.isThisType(RandomAccessInputStream)
.isThisType
in interface IFormatReader
isThisType
in class FormatReader
open
- If true, and the file extension is insufficient to determine
the file type, the (existing) file is opened for further analysis.public byte[][] get8BitLookupTable() throws FormatException, java.io.IOException
IFormatReader
IFormatReader.isIndexed()
returns
false, then this may return null. Also, if IFormatReader.getPixelType()
returns
anything other than FormatTools.INT8
or FormatTools.UINT8
,
this method will return null.get8BitLookupTable
in interface IFormatReader
get8BitLookupTable
in class MinimalTiffReader
FormatException
java.io.IOException
public short[][] get16BitLookupTable() throws FormatException, java.io.IOException
IFormatReader
IFormatReader.isIndexed()
returns
false, then this may return null. Also, if IFormatReader.getPixelType()
returns
anything other than FormatTools.INT16
or FormatTools.UINT16
, this method will return null.get16BitLookupTable
in interface IFormatReader
get16BitLookupTable
in class MinimalTiffReader
FormatException
java.io.IOException
public byte[] openBytes(int no, byte[] buf, int x, int y, int w, int h) throws FormatException, java.io.IOException
IFormatReader
openBytes
in interface IFormatReader
openBytes
in class MinimalTiffReader
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-imagebuf
for convenience.FormatException
- if there was a problem parsing the metadata of the
file.java.io.IOException
- if there was a problem reading the file.IFormatReader.openBytes(int, byte[], int, int, int, int)
public byte[] openThumbBytes(int no) throws FormatException, java.io.IOException
IFormatReader
openThumbBytes
in interface IFormatReader
openThumbBytes
in class MinimalTiffReader
FormatException
java.io.IOException
public int getThumbSizeX()
IFormatReader
getThumbSizeX
in interface IFormatReader
getThumbSizeX
in class MinimalTiffReader
public int getThumbSizeY()
IFormatReader
getThumbSizeY
in interface IFormatReader
getThumbSizeY
in class MinimalTiffReader
public void close(boolean fileOnly) throws java.io.IOException
IFormatReader
Closeable.close()
.close
in interface IFormatReader
close
in class MinimalTiffReader
java.io.IOException
public int getOptimalTileWidth()
IFormatReader
getOptimalTileWidth
in interface IFormatReader
getOptimalTileWidth
in class MinimalTiffReader
public int getOptimalTileHeight()
IFormatReader
getOptimalTileHeight
in interface IFormatReader
getOptimalTileHeight
in class MinimalTiffReader
protected java.util.ArrayList<java.lang.String> getAvailableOptions()
FormatReader
getAvailableOptions
in class FormatReader
protected void initStandardMetadata() throws FormatException, java.io.IOException
BaseTiffReader
initStandardMetadata
in class BaseTiffReader
FormatException
java.io.IOException
private int getScale(int resolution)
resolution
- the resolution for which to calculate a scale factorprivate int scaleCoordinate(int v, int resolution)
v
- the coordinate in the full resolutionresolution
- the resolution for which to calculate a scale factorprivate int getTileColumn(int index, int rows, int cols)
index
- the tile index as stored in TileJointInfo nodesrows
- the number of tile rows in an area of interestcols
- the number of tile columns in an area of interestprotected void initMetadataStore() throws FormatException
BaseTiffReader
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.initMetadataStore
in class BaseTiffReader
FormatException
private int getIFDIndex(int coreIndex, int no)
coreIndex
- the series or resolution for which to find an IFDno
- the plane index for which to find an IFDMinimalTiffReader.ifds
for the given series and planeprivate void parseXML(java.lang.String xml) throws java.io.IOException
java.io.IOException
Copyright © 2024 Open Microscopy Environment