public class TecanReader extends FormatReader
| Modifier and Type | Class and Description |
|---|---|
(package private) class |
TecanReader.Channel |
(package private) class |
TecanReader.Image |
| Modifier and Type | Field and Description |
|---|---|
private java.util.ArrayList<TecanReader.Channel> |
channels |
private java.util.ArrayList<java.lang.String> |
extraFiles |
private MinimalTiffReader |
helperReader |
private java.lang.String |
imageDirectory |
private java.util.ArrayList<TecanReader.Image> |
images |
private static org.slf4j.Logger |
LOGGER |
private java.lang.Integer |
maxCycle |
private java.lang.Integer |
maxField |
private int |
plateColumns |
private java.lang.String |
plateName |
private int |
plateRows |
private static java.lang.String[] |
SPREADSHEET_KEYS |
core, coreIndex, datasetDescription, domains, fillColor, filterMetadata, flattenedResolutions, group, hasCompanionFiles, in, indexedAsRGB, metadata, metadataStore, normalizeData, resolution, saveOriginalMetadata, series, suffixNecessary, suffixSufficient, THUMBNAIL_DIMENSIONCOMPRESSION_SUFFIXES, currentId, format, metadataOptions, suffixesCAN_GROUP, CANNOT_GROUP, MUST_GROUP| Constructor and Description |
|---|
TecanReader()
Constructs a new Tecan Spark Cyto 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.
|
private void |
findAllFiles(loci.common.Location root,
java.util.ArrayList<java.lang.String> files) |
private void |
findExtraMetadata() |
private void |
findImages(java.sql.Connection conn,
java.util.HashMap<java.lang.Integer,java.lang.String> wells) |
private void |
findPlateDimensions(java.sql.Connection conn) |
private java.lang.String |
getImageFile(java.lang.String file)
Turn a relative image file path into an absolute path.
|
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.
|
java.lang.String[] |
getUsedFiles(boolean noPixels)
Returns an array of filenames needed to open this dataset.
|
private java.util.HashMap<java.lang.Integer,java.lang.String> |
getWellLabels(java.sql.Connection conn) |
private java.lang.Integer[] |
getWellLink(java.sql.PreparedStatement linkQuery,
java.lang.String imagingResultID)
Get the well identifier and field indexfor the given Id in the
ImagingResult table.
|
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(java.lang.String name,
boolean open)
Checks if a file matches the type of this format reader.
|
private int |
lookupChannelIndex(java.lang.String name) |
private TecanReader.Image |
lookupImage(int series,
int plane,
boolean overlay,
boolean result) |
private java.lang.String |
makeWellLabel(int row,
int col) |
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 java.sql.Connection |
openConnection() |
private java.sql.Connection |
openConnection(java.lang.String file) |
private void |
parseSpreadsheet() |
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, 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, getResolution, getResolutionCount, getRGBChannelCount, getRotationTransform, getSeries, getSeriesCount, getSeriesMeta, getSeriesMetadata, getSeriesMetadataValue, getSeriesUsedFiles, getSizeC, getSizeT, getSizeX, getSizeY, getSizeZ, getThumbSizeX, getThumbSizeY, getUnderlyingReaders, getUsedFiles, getZCTCoords, getZCTModuloCoords, hasCompanionFiles, hasFlattenedResolutions, isFalseColor, isGroupFiles, isIndexed, isInterleaved, isInterleaved, isLittleEndian, isMetadataComplete, isMetadataFiltered, isNormalized, isOrderCertain, isOriginalMetadataPopulated, isRGB, 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, updateMetadataListscheckSuffix, checkSuffix, getFormat, getMetadataOptions, getNativeDataType, getSuffixes, getSupportedMetadataLevels, setMetadataOptionsclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetFormat, getNativeDataType, getSuffixesgetMetadataOptions, getSupportedMetadataLevels, setMetadataOptionsprivate static final org.slf4j.Logger LOGGER
private static final java.lang.String[] SPREADSHEET_KEYS
private int plateRows
private int plateColumns
private transient java.lang.String plateName
private java.util.ArrayList<TecanReader.Image> images
private transient MinimalTiffReader helperReader
private transient java.util.ArrayList<TecanReader.Channel> channels
private java.lang.String imageDirectory
private java.util.ArrayList<java.lang.String> extraFiles
private java.lang.Integer maxField
private java.lang.Integer maxCycle
public boolean isThisType(java.lang.String name,
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 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 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 java.lang.String[] getUsedFiles(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.getUsedFiles in interface IFormatReadergetUsedFiles in class FormatReaderpublic 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 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 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-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)protected 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 java.sql.Connection openConnection()
throws java.io.IOException
java.io.IOExceptionprivate java.sql.Connection openConnection(java.lang.String file)
throws java.io.IOException
java.io.IOExceptionprivate void findExtraMetadata()
private void parseSpreadsheet()
private java.lang.String makeWellLabel(int row,
int col)
private void findPlateDimensions(java.sql.Connection conn)
throws java.sql.SQLException
java.sql.SQLExceptionprivate java.util.HashMap<java.lang.Integer,java.lang.String> getWellLabels(java.sql.Connection conn)
throws java.sql.SQLException
java.sql.SQLExceptionprivate void findImages(java.sql.Connection conn,
java.util.HashMap<java.lang.Integer,java.lang.String> wells)
throws java.sql.SQLException
java.sql.SQLExceptionprivate java.lang.Integer[] getWellLink(java.sql.PreparedStatement linkQuery,
java.lang.String imagingResultID)
throws java.sql.SQLException
imagingResultID - java.sql.SQLExceptionprivate TecanReader.Image lookupImage(int series, int plane, boolean overlay, boolean result)
private int lookupChannelIndex(java.lang.String name)
private java.lang.String getImageFile(java.lang.String file)
file - relative path to an image fileprivate void findAllFiles(loci.common.Location root,
java.util.ArrayList<java.lang.String> files)
Copyright © 2023 Open Microscopy Environment