public class MIASReader extends FormatReader
Modifier and Type | Class and Description |
---|---|
(package private) class |
MIASReader.AnalysisFile |
Modifier and Type | Field and Description |
---|---|
private List<MIASReader.AnalysisFile> |
analysisFiles |
private int[] |
bpp |
private byte[] |
cachedTileBuffer
Cached tile buffer to avoid re-allocations when reading tiles.
|
private Map<String,String> |
overlayFiles |
private Map<String,Integer> |
overlayPlanes |
private boolean |
parseMasks
Whether or not mask pixel data should be parsed in setId.
|
private MinimalTiffReader[][] |
readers
Delegate readers.
|
private String |
resultFile
Path to file containing analysis results for all plates.
|
private List<MIASReader.AnalysisFile> |
roiFiles |
private String |
templateFile |
private 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, metadataOptions, metadataStore, normalizeData, resolution, saveOriginalMetadata, series, suffixNecessary, suffixSufficient, THUMBNAIL_DIMENSION
COMPRESSION_SUFFIXES, currentId, format, LOGGER, suffixes
CAN_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(String id)
Returns an int indicating that we cannot, must, or might group the files
in a given dataset.
|
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 Color |
getChannelColorFromFile(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(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(String[] files)
Returns the number of parent directories that are important when
processing the given list of files.
|
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,
Region intersection) |
protected void |
initFile(String id)
Initializes the given file (parsing header information, etc.).
|
boolean |
isSingleFile(String id)
Returns true if this is a single-file format.
|
boolean |
isThisType(RandomAccessInputStream stream)
Checks if the given stream is a valid stream for this file format.
|
boolean |
isThisType(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,
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(List<String> columns,
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, getCurrentFile, getDatasetStructureDescription, getDetectorType, getDimensionOrder, getDimensionOrder, getDomains, getEffectiveSizeC, getExperimentType, getFilamentType, getFillRule, getFilterType, getFontFamily, getFontStyle, getGlobalMeta, getGlobalMetadata, getIlluminationType, getImageCount, getImmersion, getIndex, getIndex, getLaserMedium, getLaserType, getLineCap, getMarker, getMedium, getMetadataOptions, 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, getSupportedMetadataLevels, 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, setMetadataOptions, setMetadataStore, setNormalized, setOriginalMetadataPopulated, setResolution, setSeries
checkSuffix, checkSuffix, getFormat, getNativeDataType, getSuffixes
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getFormat, getNativeDataType, getSuffixes
private String[][] tiffs
private MinimalTiffReader[][] readers
private String resultFile
private List<MIASReader.AnalysisFile> analysisFiles
private 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 String templateFile
private boolean parseMasks
private byte[] cachedTileBuffer
public int getRequiredDirectories(String[] files) throws FormatException, IOException
IFormatReader
getRequiredDirectories
in interface IFormatReader
getRequiredDirectories
in class FormatReader
FormatException
IOException
public boolean isSingleFile(String id) throws FormatException, IOException
IFormatReader
isSingleFile
in interface IFormatReader
isSingleFile
in class FormatReader
FormatException
IOException
public boolean isThisType(String filename, boolean open)
FormatReader
FormatReader.isThisType(RandomAccessInputStream)
.isThisType
in interface IFormatReader
isThisType
in class FormatReader
open
- If true, and the file extension is insufficient to determine
the file type, the (existing) file is opened for further analysis.public boolean isThisType(RandomAccessInputStream stream) throws IOException
IFormatReader
isThisType
in interface IFormatReader
isThisType
in class FormatReader
IOException
public int fileGroupOption(String id) throws FormatException, IOException
IFormatReader
fileGroupOption
in interface IFormatReader
fileGroupOption
in class FormatReader
FormatException
IOException
public byte[][] get8BitLookupTable() throws FormatException, 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
IOException
public short[][] get16BitLookupTable() throws FormatException, 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
IOException
public byte[] openBytes(int no, byte[] buf, int x, int y, int w, int h) throws FormatException, IOException
IFormatReader
openBytes
in interface IFormatReader
openBytes
in class FormatReader
no
- 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.IOException
- if there was a problem reading the file.IFormatReader.openBytes(int, byte[], int, int, int, int)
public String[] getSeriesUsedFiles(boolean noPixels)
IFormatReader
getSeriesUsedFiles
in interface IFormatReader
getSeriesUsedFiles
in class FormatReader
public void close(boolean fileOnly) throws IOException
IFormatReader
Closeable.close()
.close
in interface IFormatReader
close
in class FormatReader
IOException
public int getOptimalTileWidth()
IFormatReader
getOptimalTileWidth
in interface IFormatReader
getOptimalTileWidth
in class FormatReader
public int getOptimalTileHeight()
IFormatReader
getOptimalTileHeight
in interface IFormatReader
getOptimalTileHeight
in class FormatReader
protected void initFile(String id) throws FormatException, IOException
FormatReader
initFile
in class FormatReader
FormatException
- if a parsing error occurs processing the file.IOException
- if an I/O error occurs processing the fileprivate Color getChannelColorFromFile(String file) throws FormatException, IOException
FormatException
IOException
private int[] getPositionFromFile(String file)
private void populateROI(List<String> columns, String[] data, int series, int roi, int time, int z, MetadataStore store)
private byte[] getTile(int well, int no, int row, int col, Region intersection) throws FormatException, IOException
FormatException
IOException
private void parseTemplateFile(MetadataStore store) throws IOException
IOException
public void parseMasks(MetadataStore overlayStore) throws FormatException, IOException
FormatException
IOException
private int parseMasks(MetadataStore store, int series, int roi, String overlayTiff) throws FormatException, IOException
FormatException
IOException
public boolean populateMaskPixels(int imageIndex, int roiIndex, int shapeIndex, MetadataStore store) throws FormatException, IOException
FormatException
IOException
public void setAutomaticallyParseMasks(boolean parse) throws FormatException
FormatException
Copyright © 2015 Open Microscopy Environment