public class MIASReader extends FormatReader
| Modifier and Type | Class and Description |
|---|---|
(package private) class |
MIASReader.AnalysisFile |
| Modifier and Type | Field and Description |
|---|---|
private java.util.List<MIASReader.AnalysisFile> |
analysisFiles |
private int[] |
bpp |
private byte[] |
cachedTileBuffer
Cached tile buffer to avoid re-allocations when reading tiles.
|
private java.util.Map<java.lang.String,java.lang.String> |
overlayFiles |
private java.util.Map<java.lang.String,java.lang.Integer> |
overlayPlanes |
private boolean |
parseMasks
Whether or not mask pixel data should be parsed in setId.
|
private MinimalTiffReader[][] |
readers
Delegate readers.
|
private java.lang.String |
resultFile
Path to file containing analysis results for all plates.
|
private java.util.List<MIASReader.AnalysisFile> |
roiFiles |
private java.lang.String |
templateFile |
private java.lang.String[][] |
tiffs
TIFF files - indexed by well and file.
|
private int |
tileCols |
private int |
tileHeight |
private int |
tileRows |
private int |
tileWidth |
private int |
wellColumns |
private int[] |
wellNumber |
core, coreIndex, datasetDescription, domains, filterMetadata, flattenedResolutions, group, hasCompanionFiles, in, indexedAsRGB, metadata, metadataStore, normalizeData, resolution, saveOriginalMetadata, series, suffixNecessary, suffixSufficient, THUMBNAIL_DIMENSIONCOMPRESSION_SUFFIXES, currentId, format, LOGGER, metadataOptions, suffixesCAN_GROUP, CANNOT_GROUP, MUST_GROUP| Constructor and Description |
|---|
MIASReader()
Constructs a new MIAS 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.
|
private ome.xml.model.primitives.Color |
getChannelColorFromFile(java.lang.String file)
Get the color associated with the given file's channel.
|
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[] |
getPositionFromFile(java.lang.String file)
Returns an array of length 5 that contains the well, time point,
Z and channel indices corresponding to the given analysis file.
|
int |
getRequiredDirectories(java.lang.String[] files)
Returns the number of parent directories that are important when
processing the given list of files.
|
java.lang.String[] |
getSeriesUsedFiles(boolean noPixels)
Returns an array of filenames needed to open the current series.
|
private byte[] |
getTile(int well,
int no,
int row,
int col,
loci.common.Region intersection) |
protected void |
initFile(java.lang.String id)
Initializes the given file (parsing header information, etc.).
|
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.
|
boolean |
isThisType(java.lang.String filename,
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.
|
void |
parseMasks(MetadataStore overlayStore)
Parse masks into a separate overlay-specific MetadataStore.
|
private int |
parseMasks(MetadataStore store,
int series,
int roi,
java.lang.String overlayTiff)
Parse Mask ROIs from the given TIFF and place them in the given
MetadataStore.
|
private void |
parseTemplateFile(MetadataStore store)
Parse metadata from the Nugenesistemplate.txt file.
|
boolean |
populateMaskPixels(int imageIndex,
int roiIndex,
int shapeIndex,
MetadataStore store)
Populate the MaskPixels.BinData attribute for the Mask identified by the
given Image index, ROI index, and Shape index.
|
private void |
populateROI(java.util.List<java.lang.String> columns,
java.lang.String[] data,
int series,
int roi,
int time,
int z,
MetadataStore store) |
void |
setAutomaticallyParseMasks(boolean parse)
Toggle whether or not Mask pixel data should be parsed in setId.
|
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, getBinning, getBitsPerPixel, getCompression, getContrastMethod, getCoreIndex, getCoreMetadataList, getCorrection, getCurrentCore, getCurrentFile, getDatasetStructureDescription, getDetectorType, getDimensionOrder, getDimensionOrder, getDomains, getEffectiveSizeC, getExperimentType, getFilamentType, 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, getResolution, getResolutionCount, getRGBChannelCount, getRotationTransform, getSeries, getSeriesCount, getSeriesMeta, getSeriesMetadata, getSeriesMetadataValue, 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, isThisType, isThisType, isThumbnailSeries, isUsedFile, makeFilterMetadata, openBytes, openBytes, openBytes, openPlane, openThumbBytes, readPlane, readPlane, reopenFile, seriesToCoreIndex, setCoreIndex, setFlattenedResolutions, setGroupFiles, setId, setMetadataFiltered, setMetadataStore, setNormalized, setOriginalMetadataPopulated, setResolution, setSeries, updateMetadataListscheckSuffix, checkSuffix, getFormat, getMetadataOptions, getNativeDataType, getSuffixes, getSupportedMetadataLevels, setMetadataOptionsclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetFormat, getNativeDataType, getSuffixesgetMetadataOptions, getSupportedMetadataLevels, setMetadataOptionsprivate java.lang.String[][] tiffs
private MinimalTiffReader[][] readers
private java.lang.String resultFile
private java.util.List<MIASReader.AnalysisFile> analysisFiles
private java.util.List<MIASReader.AnalysisFile> roiFiles
private int[] wellNumber
private int tileRows
private int tileCols
private int tileWidth
private int tileHeight
private int wellColumns
private int[] bpp
private java.lang.String templateFile
private final java.util.Map<java.lang.String,java.lang.String> overlayFiles
private final java.util.Map<java.lang.String,java.lang.Integer> overlayPlanes
private boolean parseMasks
private byte[] cachedTileBuffer
public int getRequiredDirectories(java.lang.String[] files)
throws FormatException,
java.io.IOException
IFormatReadergetRequiredDirectories in interface IFormatReadergetRequiredDirectories in class FormatReaderFormatExceptionjava.io.IOExceptionpublic boolean isSingleFile(java.lang.String id)
throws FormatException,
java.io.IOException
IFormatReaderisSingleFile in interface IFormatReaderisSingleFile in class FormatReaderFormatExceptionjava.io.IOExceptionpublic boolean isThisType(java.lang.String filename,
boolean open)
FormatReaderFormatReader.isThisType(RandomAccessInputStream).isThisType in interface IFormatReaderisThisType in class FormatReaderopen - If true, and the file extension is insufficient to determine
the file type, the (existing) file is opened for further analysis.public boolean isThisType(loci.common.RandomAccessInputStream stream)
throws java.io.IOException
IFormatReaderisThisType in interface IFormatReaderisThisType in class FormatReaderstream - 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.IOExceptionpublic int fileGroupOption(java.lang.String id)
throws FormatException,
java.io.IOException
IFormatReaderfileGroupOption in interface IFormatReaderfileGroupOption in class FormatReaderid - 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).FormatExceptionjava.io.IOExceptionFormatTools.MUST_GROUP,
FormatTools.CAN_GROUP,
FormatTools.CANNOT_GROUPpublic byte[][] get8BitLookupTable()
throws FormatException,
java.io.IOException
IFormatReaderIFormatReader.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 IFormatReaderget8BitLookupTable in class FormatReaderFormatExceptionjava.io.IOExceptionpublic short[][] get16BitLookupTable()
throws FormatException,
java.io.IOException
IFormatReaderIFormatReader.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 IFormatReaderget16BitLookupTable in class FormatReaderFormatExceptionjava.io.IOExceptionpublic byte[] openBytes(int no,
byte[] buf,
int x,
int y,
int w,
int h)
throws FormatException,
java.io.IOException
IFormatReaderopenBytes in interface IFormatReaderopenBytes in class FormatReaderno - the image index within the file.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 java.lang.String[] getSeriesUsedFiles(boolean noPixels)
IFormatReaderIFormatHandler.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 IFormatReadergetSeriesUsedFiles in class FormatReaderpublic void close(boolean fileOnly)
throws java.io.IOException
IFormatReaderCloseable.close().close in interface IFormatReaderclose in class FormatReaderjava.io.IOExceptionpublic int getOptimalTileWidth()
IFormatReadergetOptimalTileWidth in interface IFormatReadergetOptimalTileWidth in class FormatReaderpublic int getOptimalTileHeight()
IFormatReadergetOptimalTileHeight in interface IFormatReadergetOptimalTileHeight in class FormatReaderprotected void initFile(java.lang.String id)
throws FormatException,
java.io.IOException
FormatReaderinitFile in class FormatReaderFormatException - if a parsing error occurs processing the file.java.io.IOException - if an I/O error occurs processing the fileprivate ome.xml.model.primitives.Color getChannelColorFromFile(java.lang.String file)
throws FormatException,
java.io.IOException
FormatExceptionjava.io.IOExceptionprivate int[] getPositionFromFile(java.lang.String file)
private void populateROI(java.util.List<java.lang.String> columns,
java.lang.String[] data,
int series,
int roi,
int time,
int z,
MetadataStore store)
private byte[] getTile(int well,
int no,
int row,
int col,
loci.common.Region intersection)
throws FormatException,
java.io.IOException
FormatExceptionjava.io.IOExceptionprivate void parseTemplateFile(MetadataStore store) throws java.io.IOException
java.io.IOExceptionpublic void parseMasks(MetadataStore overlayStore) throws FormatException, java.io.IOException
FormatExceptionjava.io.IOExceptionprivate int parseMasks(MetadataStore store, int series, int roi, java.lang.String overlayTiff) throws FormatException, java.io.IOException
FormatExceptionjava.io.IOExceptionpublic boolean populateMaskPixels(int imageIndex,
int roiIndex,
int shapeIndex,
MetadataStore store)
throws FormatException,
java.io.IOException
FormatExceptionjava.io.IOExceptionpublic void setAutomaticallyParseMasks(boolean parse)
throws FormatException
FormatExceptionCopyright © 2020 Open Microscopy Environment