Package loci.formats.in
Class GatanReader
java.lang.Object
loci.formats.FormatHandler
loci.formats.FormatReader
loci.formats.in.GatanReader
- All Implemented Interfaces:
Closeable,AutoCloseable,ICompressedTileReader,IFormatHandler,IFormatReader,IMetadataConfigurable,IPyramidHandler
GatanReader is the file format reader for Gatan files.
- Author:
- Melissa Linkert melissa at glencoesoftware.com
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate booleanprivate static final intData types.private static final intprivate static final intstatic final intstatic final intprivate static final intprivate static final intprivate static final intprivate booleanprivate doubleprivate static final intTag types.private Stringprivate static final intprivate static final intShape typesprivate doubleprivate longprivate longOffset to pixel data.List of pixel sizes.private ome.units.quantity.Lengthprivate ome.units.quantity.Lengthprivate ome.units.quantity.Lengthprivate static final intprivate doubleprivate List<GatanReader.ROIShape> private static final intprivate booleanstatic final Stringstatic final booleanprivate List<ome.units.quantity.Length> private List<ome.units.quantity.Length> private List<ome.units.quantity.Length> private static final intprivate longprivate static final intprivate static final intprivate static final intprivate static final intprivate static final intprivate static final intprivate intprivate doubleFields 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 ome.units.unit.Unit<ome.units.quantity.Length> convertUnits(String units) private StringcreateROI(MetadataStore store, int index) Create an empty ROI and link it to the Image.Returns the list of available metadata options.private intgetNumBytes(int type) protected voidInitializes the given file (parsing header information, etc.).booleanisThisType(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 voidParses Gatan DM3 tags.private doublereadValue(int type) private voidbooleanMethods 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, 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
-
DM3_MAGIC_BYTES
public static final int DM3_MAGIC_BYTES- See Also:
-
DM4_MAGIC_BYTES
public static final int DM4_MAGIC_BYTES- See Also:
-
GROUP
private static final int GROUPTag types.- See Also:
-
VALUE
private static final int VALUE- See Also:
-
ARRAY
private static final int ARRAYData types.- See Also:
-
SHORT
private static final int SHORT- See Also:
-
USHORT
private static final int USHORT- See Also:
-
INT
private static final int INT- See Also:
-
UINT
private static final int UINT- See Also:
-
FLOAT
private static final int FLOAT- See Also:
-
DOUBLE
private static final int DOUBLE- See Also:
-
BYTE
private static final int BYTE- See Also:
-
UBYTE
private static final int UBYTE- See Also:
-
CHAR
private static final int CHAR- See Also:
-
UNKNOWN
private static final int UNKNOWN- See Also:
-
UNKNOWN2
private static final int UNKNOWN2- See Also:
-
LINE
private static final int LINEShape types- See Also:
-
RECTANGLE
private static final int RECTANGLE- See Also:
-
ELLIPSE
private static final int ELLIPSE- See Also:
-
TEXT
private static final int TEXT- See Also:
-
SPLIT_MONTAGE
- See Also:
-
SPLIT_MONTAGE_DEFAULT
public static final boolean SPLIT_MONTAGE_DEFAULT- See Also:
-
pixelOffset
private long pixelOffsetOffset to pixel data. -
pixelSizes
List of pixel sizes. -
units
-
numPixelBytes
private long numPixelBytes -
signed
private boolean signed -
timestamp
private long timestamp -
gamma
private double gamma -
mag
private double mag -
voltage
private double voltage -
info
-
posX
private ome.units.quantity.Length posX -
posY
private ome.units.quantity.Length posY -
posZ
private ome.units.quantity.Length posZ -
sampleTime
private double sampleTime -
adjustEndianness
private boolean adjustEndianness -
version
private int version -
shapes
-
foundMontage
private transient boolean foundMontage -
stageX
-
stageY
-
stageZ
-
-
Constructor Details
-
GatanReader
public GatanReader()Constructs a new Gatan reader.
-
-
Method Details
-
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
-
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- Specified by:
openBytesin classFormatReader- 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:
-
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
-
getAvailableOptions
Description copied from class:FormatReaderReturns the list of available metadata options.- Overrides:
getAvailableOptionsin classFormatReader
-
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
-
splitMontage
public boolean splitMontage() -
parseTags
private void parseTags(int numTags, String parent, String indent) throws FormatException, IOException, ParseException Parses Gatan DM3 tags. Information on the DM3 structure found at: http://rsb.info.nih.gov/ij/plugins/DM3Format.gj.html and http://www-hrem.msm.cam.ac.uk/~cbb/info/dmformat/ The basic structure is this: the file is comprised of a list of tags. Each tag is either a data tag or a group tag. Group tags are simply containers for more group and data tags, where data tags contain actual metadata. Each data tag is comprised of a type (byte, short, etc.), a label, and a value.- Throws:
FormatExceptionIOExceptionParseException
-
readValue
- Throws:
IOException
-
getNumBytes
private int getNumBytes(int type) -
skipPadding
- Throws:
IOException
-
convertUnits
-
createROI
Create an empty ROI and link it to the Image.- Parameters:
store- MetadataStore in which to create the ROIindex- ROI index- Returns:
- corresponding Shape ID to be used with the new ROI
-