public class OIRReader extends FormatReader
Modifier and Type | Class and Description |
---|---|
(package private) class |
OIRReader.Channel |
private static class |
OIRReader.CZTKey
This is a class that wraps three numbers c,z,t and an object
can be used as a key in a hashmap.
|
(package private) class |
OIRReader.Detector |
(package private) class |
OIRReader.Laser |
(package private) class |
OIRReader.Objective |
(package private) class |
OIRReader.PixelBlock |
Modifier and Type | Field and Description |
---|---|
private ome.xml.model.primitives.Timestamp |
acquisitionDate |
private java.lang.String |
baseName |
private int |
blocksPerPlane |
private static int |
BUFFER_SIZE |
private java.util.ArrayList<OIRReader.Channel> |
channels |
private java.util.Map<OIRReader.CZTKey,OIRReader.PixelBlock[]> |
cztToPixelBlocks |
private int |
defaultXMLSkip |
private java.util.ArrayList<OIRReader.Detector> |
detectors |
private static java.lang.String |
IDENTIFIER |
private java.util.ArrayList<OIRReader.Laser> |
lasers |
private int |
lastChannel |
private int |
minT |
private int |
minZ |
private java.util.ArrayList<OIRReader.Objective> |
objectives |
private int |
optimalTileHeight |
private ome.units.quantity.Length |
physicalSizeX |
private ome.units.quantity.Length |
physicalSizeY |
private ome.units.quantity.Length |
physicalSizeZ |
private java.util.HashMap<java.lang.String,OIRReader.PixelBlock> |
pixelBlocks |
private java.util.HashMap<java.lang.Integer,java.lang.Double> |
timestampAdjustments |
private java.lang.Double |
tStep |
private java.lang.Double |
zStart |
private java.lang.Double |
zStep |
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, LOGGER, metadataOptions, suffixes
CAN_GROUP, CANNOT_GROUP, MUST_GROUP
Constructor and Description |
---|
OIRReader()
Constructs a new OIR reader.
|
Modifier and Type | Method and Description |
---|---|
void |
close(boolean fileOnly)
Closes the currently open file.
|
private void |
copyPixelBlock(OIRReader.PixelBlock block,
byte[] buf,
int offsetBuf,
int offsetBlock,
int nBytesPerLinesBuf,
int nBytesPerLineBlock,
int nLines) |
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.
|
private int |
getBlock(java.lang.String uid) |
private int |
getC(java.lang.String uid) |
private org.w3c.dom.Element |
getFirstChild(org.w3c.dom.Element root,
java.lang.String tag) |
private int |
getL(java.lang.String uid) |
int |
getOptimalTileHeight()
Returns the optimal sub-image height for use with openBytes.
|
int |
getOptimalTileWidth()
Returns the optimal sub-image width for use with openBytes.
|
java.lang.String[] |
getSeriesUsedFiles(boolean noPixels)
Returns an array of filenames needed to open the current series.
|
private int |
getT(java.lang.String uid) |
private int |
getZ(java.lang.String uid) |
protected void |
initFile(java.lang.String id)
Initializes the given file (parsing header information, etc.).
|
private boolean |
isCurrentFile(java.lang.String file) |
boolean |
isSingleFile(java.lang.String id)
Returns true if the named file is expected to be the only
file in the dataset.
|
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 |
parseAxis(org.w3c.dom.Element dimensionAxis) |
private void |
parseChannel(org.w3c.dom.Element channel,
boolean appendChannels) |
private void |
parseFrameProperties(org.w3c.dom.Element root) |
private void |
parseImageProperties(org.w3c.dom.Element root) |
private void |
parseLUT(org.w3c.dom.Element root,
java.lang.String uid) |
private void |
parseOriginalMetadata(org.w3c.dom.Node root) |
private void |
parseXML(loci.common.RandomAccessInputStream s,
java.lang.String xml,
long startFilePointer) |
private void |
readPixelsFile(java.lang.String file,
loci.common.RandomAccessInputStream s) |
private void |
readXMLBlock(java.lang.String file,
loci.common.RandomAccessInputStream s) |
private boolean |
skipPixelBlock(java.lang.String currentFile,
loci.common.RandomAccessInputStream s,
boolean store) |
addGlobalMeta, addGlobalMeta, addGlobalMeta, addGlobalMeta, addGlobalMeta, addGlobalMeta, addGlobalMeta, addGlobalMeta, addGlobalMeta, addGlobalMetaList, addMeta, addMetaList, addSeriesMeta, addSeriesMeta, addSeriesMeta, addSeriesMeta, addSeriesMeta, addSeriesMeta, addSeriesMeta, addSeriesMeta, addSeriesMeta, addSeriesMetaList, close, coreIndexToSeries, flattenHashtables, getAcquisitionMode, getAdvancedSeriesUsedFiles, getAdvancedUsedFiles, getArcType, getAvailableOptions, getBinning, getBitsPerPixel, getCompression, getContrastMethod, getCoreIndex, getCoreMetadataList, getCorrection, getCurrentCore, 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, getResolution, getResolutionCount, getRGBChannelCount, getRotationTransform, getSeries, getSeriesCount, getSeriesMeta, getSeriesMetadata, getSeriesMetadataValue, getSeriesUsedFiles, getSizeC, getSizeT, getSizeX, getSizeY, getSizeZ, getThumbSizeX, getThumbSizeY, getTileColumns, getTileRows, getUnderlyingReaders, getUsedFiles, getUsedFiles, getZCTCoords, getZCTModuloCoords, hasCompanionFiles, hasFlattenedResolutions, isFalseColor, isGroupFiles, isIndexed, isInterleaved, isInterleaved, isLittleEndian, isMetadataComplete, isMetadataFiltered, isNormalized, isOrderCertain, isOriginalMetadataPopulated, isRGB, isThisType, isThisType, isThisType, isThumbnailSeries, isUsedFile, makeFilterMetadata, openBytes, openBytes, openBytes, openPlane, openThumbBytes, readPlane, readPlane, readPlane, reopenFile, seriesToCoreIndex, setCoreIndex, setFillColor, setFlattenedResolutions, setGroupFiles, setId, setMetadataFiltered, setMetadataStore, setNormalized, setOriginalMetadataPopulated, setResolution, setSeries, 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
private static final java.lang.String IDENTIFIER
private static final int BUFFER_SIZE
private java.util.HashMap<java.lang.String,OIRReader.PixelBlock> pixelBlocks
private java.util.ArrayList<OIRReader.Channel> channels
private java.util.ArrayList<OIRReader.Laser> lasers
private java.util.ArrayList<OIRReader.Detector> detectors
private java.util.ArrayList<OIRReader.Objective> objectives
private ome.units.quantity.Length physicalSizeX
private ome.units.quantity.Length physicalSizeY
private ome.units.quantity.Length physicalSizeZ
private ome.xml.model.primitives.Timestamp acquisitionDate
private int defaultXMLSkip
private int blocksPerPlane
private final java.util.Map<OIRReader.CZTKey,OIRReader.PixelBlock[]> cztToPixelBlocks
private java.lang.String baseName
private int lastChannel
private int optimalTileHeight
private int minZ
private int minT
private transient java.lang.Double zStart
private transient java.lang.Double zStep
private transient java.lang.Double tStep
private transient java.util.HashMap<java.lang.Integer,java.lang.Double> timestampAdjustments
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 isSingleFile(java.lang.String id) throws FormatException, java.io.IOException
IFormatReader
isSingleFile
in interface IFormatReader
isSingleFile
in class FormatReader
FormatException
java.io.IOException
public java.lang.String[] getSeriesUsedFiles(boolean noPixels)
IFormatReader
IFormatHandler.setId(String)
, if appropriate based upon 'noPixels'.
The remaining elements are expected to be in a consistent order;
if a directory listing is necessary to build the list then it should
be sorted first.getSeriesUsedFiles
in interface IFormatReader
getSeriesUsedFiles
in class FormatReader
public boolean isThisType(loci.common.RandomAccessInputStream stream) throws java.io.IOException
IFormatReader
isThisType
in interface IFormatReader
isThisType
in class FormatReader
stream
- A RandomAccessInputStream representing the file to check.
The first byte in the stream is assumed to be the first byte
in the file.java.io.IOException
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 FormatReader
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 FormatReader
FormatException
java.io.IOException
public int getOptimalTileHeight()
IFormatReader
getOptimalTileHeight
in interface IFormatReader
getOptimalTileHeight
in class FormatReader
public int getOptimalTileWidth()
IFormatReader
getOptimalTileWidth
in interface IFormatReader
getOptimalTileWidth
in class FormatReader
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 FormatReader
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 void close(boolean fileOnly) throws java.io.IOException
IFormatReader
Closeable.close()
.close
in interface IFormatReader
close
in class FormatReader
java.io.IOException
protected void initFile(java.lang.String id) throws FormatException, java.io.IOException
FormatReader
initFile
in class FormatReader
FormatException
- if a parsing error occurs processing the file.java.io.IOException
- if an I/O error occurs processing the fileprivate void readPixelsFile(java.lang.String file, loci.common.RandomAccessInputStream s) throws FormatException, java.io.IOException
FormatException
java.io.IOException
private void readXMLBlock(java.lang.String file, loci.common.RandomAccessInputStream s) throws FormatException, java.io.IOException
FormatException
java.io.IOException
private void parseXML(loci.common.RandomAccessInputStream s, java.lang.String xml, long startFilePointer) throws FormatException, java.io.IOException
FormatException
java.io.IOException
private void parseLUT(org.w3c.dom.Element root, java.lang.String uid) throws FormatException
FormatException
private void parseFrameProperties(org.w3c.dom.Element root) throws FormatException
FormatException
private void parseImageProperties(org.w3c.dom.Element root) throws FormatException
FormatException
private void parseChannel(org.w3c.dom.Element channel, boolean appendChannels)
private void parseAxis(org.w3c.dom.Element dimensionAxis)
private void parseOriginalMetadata(org.w3c.dom.Node root)
private org.w3c.dom.Element getFirstChild(org.w3c.dom.Element root, java.lang.String tag)
private boolean skipPixelBlock(java.lang.String currentFile, loci.common.RandomAccessInputStream s, boolean store) throws java.io.IOException
java.io.IOException
private void copyPixelBlock(OIRReader.PixelBlock block, byte[] buf, int offsetBuf, int offsetBlock, int nBytesPerLinesBuf, int nBytesPerLineBlock, int nLines) throws java.io.IOException
java.io.IOException
private int getZ(java.lang.String uid)
private int getT(java.lang.String uid)
private int getC(java.lang.String uid)
private int getBlock(java.lang.String uid)
private int getL(java.lang.String uid)
private boolean isCurrentFile(java.lang.String file)
Copyright © 2024 Open Microscopy Environment