public class OBFReader extends FormatReader
Modifier and Type | Class and Description |
---|---|
private class |
OBFReader.Stack |
private class |
OBFReader.State |
Modifier and Type | Field and Description |
---|---|
private static java.lang.String |
FILE_MAGIC_STRING |
private int |
file_version |
private static boolean |
LITTLE_ENDIAN |
private static short |
MAGIC_NUMBER |
private static int |
MAXIMAL_NUMBER_OF_DIMENSIONS |
private OMEXMLMetadata |
ome_meta_data |
private byte[] |
skipBuffer |
private static java.lang.String |
STACK_MAGIC_STRING |
private java.util.List<OBFReader.Stack> |
stacks |
private OBFReader.State |
state |
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 |
---|
OBFReader() |
Modifier and Type | Method and Description |
---|---|
void |
close(boolean fileOnly)
Closes the currently open file.
|
private int |
getBitsPerPixel(int type) |
private java.util.ArrayList<org.w3c.dom.Element> |
getChildNodes(org.w3c.dom.Element root) |
private boolean |
getCompression(int compression) |
private int |
getFileVersion(loci.common.RandomAccessInputStream stream) |
private long |
getLength(long length) |
private int |
getPixelType(int type) |
protected void |
initFile(java.lang.String id)
Initializes the given file (parsing header information, etc.).
|
private long |
initStack(long current) |
private boolean |
isFLIMLabel(java.lang.String label) |
boolean |
isThisType(loci.common.RandomAccessInputStream stream)
Checks if the given stream is a valid stream for this file format.
|
byte[] |
openBytes(int no,
byte[] buffer,
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 |
readFlimFrame(OBFReader.Stack stack,
int no,
byte[] buffer,
int x,
int y,
int w,
int h) |
private void |
readFromStack(OBFReader.Stack stack,
byte[] buffer,
int bufferOffset,
int bytes) |
private void |
readFromStackRaw(OBFReader.Stack stack,
byte[] buffer,
int bufferOffset,
int bytes) |
private void |
readStackFrame(OBFReader.Stack stack,
long sampleOffset,
byte[] buffer,
int bufferOffset,
int w,
int h) |
private java.lang.String |
readString() |
private long |
remainingBytesInChunk(OBFReader.Stack stack) |
private void |
seekToFrameStart(OBFReader.Stack stack,
long sampleOffset) |
private void |
skipBytes(OBFReader.Stack stack,
long byteCount) |
private void |
switchChunk(OBFReader.Stack stack,
int chunkIndex) |
addGlobalMeta, addGlobalMeta, addGlobalMeta, addGlobalMeta, addGlobalMeta, addGlobalMeta, addGlobalMeta, addGlobalMeta, addGlobalMeta, addGlobalMetaList, addMeta, addMetaList, addSeriesMeta, addSeriesMeta, addSeriesMeta, addSeriesMeta, addSeriesMeta, addSeriesMeta, addSeriesMeta, addSeriesMeta, addSeriesMeta, addSeriesMetaList, close, coreIndexToSeries, fileGroupOption, flattenHashtables, get16BitLookupTable, get8BitLookupTable, 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, getOptimalTileHeight, getOptimalTileWidth, getPixelType, getPixelType, getPossibleDomains, getPulse, getRequiredDirectories, getResolution, getResolutionCount, getRGBChannelCount, getRotationTransform, getSeries, getSeriesCount, getSeriesMeta, getSeriesMetadata, getSeriesMetadataValue, getSeriesUsedFiles, getSeriesUsedFiles, getSizeC, getSizeT, getSizeX, getSizeY, getSizeZ, getThumbSizeX, getThumbSizeY, getUnderlyingReaders, getUsedFiles, getUsedFiles, getZCTCoords, getZCTModuloCoords, hasCompanionFiles, hasFlattenedResolutions, isFalseColor, isGroupFiles, isIndexed, isInterleaved, isInterleaved, isLittleEndian, isMetadataComplete, isMetadataFiltered, isNormalized, isOrderCertain, isOriginalMetadataPopulated, isRGB, isSingleFile, 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
private static final boolean LITTLE_ENDIAN
private static final java.lang.String FILE_MAGIC_STRING
private static final java.lang.String STACK_MAGIC_STRING
private static final short MAGIC_NUMBER
private static final int MAXIMAL_NUMBER_OF_DIMENSIONS
private int file_version
private transient OMEXMLMetadata ome_meta_data
private OBFReader.State state
private byte[] skipBuffer
private java.util.List<OBFReader.Stack> stacks
private int getFileVersion(loci.common.RandomAccessInputStream stream) throws java.io.IOException
java.io.IOException
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
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 long initStack(long current) throws FormatException, java.io.IOException
FormatException
java.io.IOException
private boolean isFLIMLabel(java.lang.String label)
private int getPixelType(int type) throws FormatException
FormatException
private int getBitsPerPixel(int type) throws FormatException
FormatException
private long getLength(long length) throws FormatException
FormatException
private boolean getCompression(int compression) throws FormatException
FormatException
private java.lang.String readString() throws java.io.IOException
java.io.IOException
private long remainingBytesInChunk(OBFReader.Stack stack) throws java.io.IOException, FormatException
java.io.IOException
FormatException
private void readFromStackRaw(OBFReader.Stack stack, byte[] buffer, int bufferOffset, int bytes) throws java.io.IOException, FormatException
java.io.IOException
FormatException
private void readFromStack(OBFReader.Stack stack, byte[] buffer, int bufferOffset, int bytes) throws java.io.IOException, FormatException
java.io.IOException
FormatException
private void switchChunk(OBFReader.Stack stack, int chunkIndex) throws FormatException
FormatException
private void seekToFrameStart(OBFReader.Stack stack, long sampleOffset) throws java.io.IOException, FormatException
java.io.IOException
FormatException
private void skipBytes(OBFReader.Stack stack, long byteCount) throws java.io.IOException, FormatException
java.io.IOException
FormatException
private void readStackFrame(OBFReader.Stack stack, long sampleOffset, byte[] buffer, int bufferOffset, int w, int h) throws java.io.IOException, FormatException
java.io.IOException
FormatException
private void readFlimFrame(OBFReader.Stack stack, int no, byte[] buffer, int x, int y, int w, int h) throws java.io.IOException, FormatException
java.io.IOException
FormatException
public byte[] openBytes(int no, byte[] buffer, 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.buffer
- 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.public void close(boolean fileOnly) throws java.io.IOException
IFormatReader
Closeable.close()
.close
in interface IFormatReader
close
in class FormatReader
java.io.IOException
private java.util.ArrayList<org.w3c.dom.Element> getChildNodes(org.w3c.dom.Element root)
Copyright © 2023 Open Microscopy Environment