Package loci.formats.in
Class OBFReader
java.lang.Object
loci.formats.FormatHandler
loci.formats.FormatReader
loci.formats.in.OBFReader
- All Implemented Interfaces:
Closeable,AutoCloseable,ICompressedTileReader,IFormatHandler,IFormatReader,IMetadataConfigurable,IPyramidHandler
OBFReader is the file format reader for Imspector OBF files.
- Author:
- Bjoern Thiel bjoern.thiel at mpibpc.mpg.de
- See Also:
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final Stringprivate intprivate static final booleanprivate static final shortprivate static final intprivate OMEXMLMetadataprivate byte[]private static final Stringprivate List<OBFReader.Stack> private OBFReader.StateFields inherited from class loci.formats.FormatReader
core, 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, LOGGER, 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.private intgetBitsPerPixel(int type) getChildNodes(Element root) private booleangetCompression(int compression) private intgetFileVersion(loci.common.RandomAccessInputStream stream) private longgetLength(long length) private intgetPixelType(int type) protected voidInitializes the given file (parsing header information, etc.).private longinitStack(long current) private booleanisFLIMLabel(String label) booleanisThisType(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 voidreadFlimFrame(OBFReader.Stack stack, int no, byte[] buffer, int x, int y, int w, int h) private voidreadFromStack(OBFReader.Stack stack, byte[] buffer, int bufferOffset, int bytes) private voidreadFromStackRaw(OBFReader.Stack stack, byte[] buffer, int bufferOffset, int bytes) private voidreadStackFrame(OBFReader.Stack stack, long sampleOffset, byte[] buffer, int bufferOffset, int w, int h) private Stringprivate longprivate voidseekToFrameStart(OBFReader.Stack stack, long sampleOffset) private voidskipBytes(OBFReader.Stack stack, long byteCount) private voidswitchChunk(OBFReader.Stack stack, int chunkIndex) Methods 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, 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, getTileColumns, getTileRows, 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, 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.ICompressedTileReader
getTileCodec, getTileCodecOptions, openCompressedBytes, openCompressedBytesMethods inherited from interface loci.formats.IFormatHandler
getFormat, getNativeDataType, getSuffixesMethods inherited from interface loci.formats.IMetadataConfigurable
getMetadataOptions, getSupportedMetadataLevels, setMetadataOptions
-
Field Details
-
LITTLE_ENDIAN
private static final boolean LITTLE_ENDIAN- See Also:
-
FILE_MAGIC_STRING
- See Also:
-
STACK_MAGIC_STRING
- See Also:
-
MAGIC_NUMBER
private static final short MAGIC_NUMBER- See Also:
-
MAXIMAL_NUMBER_OF_DIMENSIONS
private static final int MAXIMAL_NUMBER_OF_DIMENSIONS- See Also:
-
file_version
private int file_version -
ome_meta_data
-
state
-
skipBuffer
private byte[] skipBuffer -
stacks
-
-
Constructor Details
-
OBFReader
public OBFReader()
-
-
Method Details
-
getFileVersion
- Throws:
IOException
-
isThisType
Description copied from interface:IFormatReaderChecks if the given stream is a valid stream for this file format. The number of bytes read is format-dependent.- Specified by:
isThisTypein interfaceIFormatReader- Overrides:
isThisTypein classFormatReader- Parameters:
stream- A RandomAccessInputStream representing the file to check. The first byte in the stream is assumed to be the first byte in the file.- Returns:
- true if the file represented by the stream can be read by this reader; false otherwise.
- Throws:
IOException
-
initFile
Description copied from class:FormatReaderInitializes the given file (parsing header information, etc.). Most subclasses should override this method to perform initialization operations such as parsing metadata.- Overrides:
initFilein classFormatReader- Throws:
FormatException- if a parsing error occurs processing the file.IOException- if an I/O error occurs processing the file
-
initStack
- Throws:
FormatExceptionIOException
-
isFLIMLabel
-
getPixelType
- Throws:
FormatException
-
getBitsPerPixel
- Throws:
FormatException
-
getLength
- Throws:
FormatException
-
getCompression
- Throws:
FormatException
-
readString
- Throws:
IOException
-
remainingBytesInChunk
- Throws:
IOExceptionFormatException
-
readFromStackRaw
private void readFromStackRaw(OBFReader.Stack stack, byte[] buffer, int bufferOffset, int bytes) throws IOException, FormatException - Throws:
IOExceptionFormatException
-
readFromStack
private void readFromStack(OBFReader.Stack stack, byte[] buffer, int bufferOffset, int bytes) throws IOException, FormatException - Throws:
IOExceptionFormatException
-
switchChunk
- Throws:
FormatException
-
seekToFrameStart
private void seekToFrameStart(OBFReader.Stack stack, long sampleOffset) throws IOException, FormatException - Throws:
IOExceptionFormatException
-
skipBytes
- Throws:
IOExceptionFormatException
-
readStackFrame
private void readStackFrame(OBFReader.Stack stack, long sampleOffset, byte[] buffer, int bufferOffset, int w, int h) throws IOException, FormatException - Throws:
IOExceptionFormatException
-
readFlimFrame
private void readFlimFrame(OBFReader.Stack stack, int no, byte[] buffer, int x, int y, int w, int h) throws IOException, FormatException - Throws:
IOExceptionFormatException
-
openBytes
public byte[] openBytes(int no, byte[] buffer, 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- Specified by:
openBytesin classFormatReader- Parameters:
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-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.
-
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 classFormatReader- Throws:
IOException
-
getChildNodes
-