public class MinMaxCalculator extends ReaderWrapper
| Modifier and Type | Field and Description |
|---|---|
protected double[][] |
chanMax
Max values for each channel.
|
protected double[][] |
chanMin
Min values for each channel.
|
protected int[] |
minMaxDone
Number of planes for which min/max computations have been completed.
|
protected IMinMaxStore |
minMaxStore
Consumer of channel global minima and maxima
|
protected double[][] |
planeMax
Max values for each plane.
|
protected double[][] |
planeMin
Min values for each plane.
|
readerCAN_GROUP, CANNOT_GROUP, MUST_GROUP| Constructor and Description |
|---|
MinMaxCalculator()
Constructs a MinMaxCalculator around a new image reader.
|
MinMaxCalculator(IFormatReader r)
Constructs a MinMaxCalculator with the given reader.
|
| Modifier and Type | Method and Description |
|---|---|
void |
close(boolean fileOnly)
Closes the currently open file.
|
Double |
getChannelGlobalMaximum(int theC)
Retrieves a specified channel's global maximum.
|
Double |
getChannelGlobalMinimum(int theC)
Retrieves a specified channel's global minimum.
|
Double |
getChannelKnownMaximum(int theC)
Retrieves the specified channel's maximum based on the images that
have been read.
|
Double |
getChannelKnownMinimum(int theC)
Retrieves the specified channel's minimum based on the images that have
been read.
|
IMinMaxStore |
getMinMaxStore()
Retrieves the current active min-max store for the calculator.
|
Class<?> |
getNativeDataType()
Returns the native data type of image planes for this reader, as returned
by
IFormatReader.openPlane(int, int, int, int, int) or IFormatWriter.savePlane(int, java.lang.Object). |
Double[] |
getPlaneMaximum(int no)
Retrieves the maximum pixel value for the specified plane.
|
Double[] |
getPlaneMinimum(int no)
Retrieves the minimum pixel value for the specified plane.
|
protected void |
initMinMax()
Ensures internal min/max variables are initialized properly.
|
boolean |
isMinMaxPopulated()
Returns true if the values returned by
getChannelGlobalMinimum/Maximum can be trusted.
|
static MinMaxCalculator |
makeMinMaxCalculator(IFormatReader r)
Converts the given reader into a MinMaxCalculator, wrapping if needed.
|
byte[] |
openBytes(int no)
Obtains the specified image plane from the current file as a byte array.
|
byte[] |
openBytes(int no,
byte[] buf)
Obtains the specified image plane from the current file into a
pre-allocated byte array of
(sizeX * sizeY * bytesPerPixel * RGB channel count).
|
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.
|
byte[] |
openBytes(int no,
int x,
int y,
int w,
int h)
Obtains a sub-image of the specified image plane,
whose upper-left corner is given by (x, y).
|
void |
setMinMaxStore(IMinMaxStore store)
Sets the active min-max store for the calculator.
|
protected void |
updateMinMax(int no,
byte[] buf,
int len)
Updates min/max values based on the given byte array.
|
close, coreIndexToSeries, duplicate, fileGroupOption, get16BitLookupTable, get8BitLookupTable, getAdvancedSeriesUsedFiles, getAdvancedUsedFiles, getBitsPerPixel, getCoreIndex, getCoreMetadataList, getCurrentFile, getDatasetStructureDescription, getDimensionOrder, getDomains, getEffectiveSizeC, getFormat, getGlobalMetadata, getImageCount, getIndex, getIndex, getMetadataOptions, getMetadataStore, getMetadataStoreRoot, getMetadataValue, getModuloC, getModuloT, getModuloZ, getOptimalTileHeight, getOptimalTileWidth, getPixelType, getPossibleDomains, getReader, getRequiredDirectories, getResolution, getResolutionCount, getRGBChannelCount, getSeries, getSeriesCount, getSeriesMetadata, getSeriesMetadataValue, getSeriesUsedFiles, getSeriesUsedFiles, getSizeC, getSizeT, getSizeX, getSizeY, getSizeZ, getSuffixes, getSupportedMetadataLevels, getThumbSizeX, getThumbSizeY, getUnderlyingReaders, getUsedFiles, getUsedFiles, getZCTCoords, getZCTModuloCoords, hasCompanionFiles, hasFlattenedResolutions, isFalseColor, isGroupFiles, isIndexed, isInterleaved, isInterleaved, isLittleEndian, isMetadataComplete, isMetadataFiltered, isNormalized, isOrderCertain, isOriginalMetadataPopulated, isRGB, isSingleFile, isThisType, isThisType, isThisType, isThisType, isThumbnailSeries, openPlane, openThumbBytes, reopenFile, seriesToCoreIndex, setCoreIndex, setFlattenedResolutions, setGroupFiles, setId, setMetadataFiltered, setMetadataOptions, setMetadataStore, setNormalized, setOriginalMetadataPopulated, setResolution, setSeries, unwrap, unwrap, unwrapprotected double[][] chanMin
protected double[][] chanMax
protected double[][] planeMin
protected double[][] planeMax
protected int[] minMaxDone
protected IMinMaxStore minMaxStore
public MinMaxCalculator()
public MinMaxCalculator(IFormatReader r)
public static MinMaxCalculator makeMinMaxCalculator(IFormatReader r)
public void setMinMaxStore(IMinMaxStore store)
store - See above.public IMinMaxStore getMinMaxStore()
public Double getChannelGlobalMinimum(int theC) throws FormatException, IOException
IOException - Not actually thrown.FormatExceptionpublic Double getChannelGlobalMaximum(int theC) throws FormatException, IOException
IOException - Not actually thrown.FormatExceptionpublic Double getChannelKnownMinimum(int theC) throws FormatException, IOException
FormatException - Not actually thrown.IOException - Not actually thrown.public Double getChannelKnownMaximum(int theC) throws FormatException, IOException
FormatException - Not actually thrown.IOException - Not actually thrown.public Double[] getPlaneMinimum(int no) throws FormatException, IOException
ReaderWrapper.getRGBChannelCount() > 1), returns the maximum value for each
embedded channel. Returns null if the plane has not already been read.FormatException - Not actually thrown.IOException - Not actually thrown.public Double[] getPlaneMaximum(int no) throws FormatException, IOException
ReaderWrapper.getRGBChannelCount() > 1), returns the maximum value for each
embedded channel. Returns null if the plane has not already been read.FormatException - Not actually thrown.IOException - Not actually thrown.public boolean isMinMaxPopulated()
throws FormatException,
IOException
FormatException - Not actually thrown.IOException - Not actually thrown.public byte[] openBytes(int no)
throws FormatException,
IOException
IFormatReaderopenBytes in interface IFormatReaderopenBytes in class ReaderWrapperFormatExceptionIOExceptionIFormatReader.openBytes(int, byte[])public byte[] openBytes(int no,
byte[] buf)
throws FormatException,
IOException
IFormatReaderopenBytes in interface IFormatReaderopenBytes in class ReaderWrapperno - the image index within the file.buf - a pre-allocated buffer.buf for convenience.FormatException - if there was a problem parsing the metadata of the
file.IOException - if there was a problem reading the file.public byte[] openBytes(int no,
int x,
int y,
int w,
int h)
throws FormatException,
IOException
IFormatReaderopenBytes in interface IFormatReaderopenBytes in class ReaderWrapperFormatExceptionIOExceptionpublic byte[] openBytes(int no,
byte[] buf,
int x,
int y,
int w,
int h)
throws FormatException,
IOException
IFormatReaderopenBytes in interface IFormatReaderopenBytes in class ReaderWrapperno - 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.public void close(boolean fileOnly)
throws IOException
IFormatReaderCloseable.close().close in interface IFormatReaderclose in class ReaderWrapperIOExceptionpublic Class<?> getNativeDataType()
IFormatHandlerIFormatReader.openPlane(int, int, int, int, int) or IFormatWriter.savePlane(int, java.lang.Object).
For most readers this type will be a byte array; however, some readers
call external APIs that work with other types such as
BufferedImage.getNativeDataType in interface IFormatHandlergetNativeDataType in class ReaderWrapperprotected void updateMinMax(int no,
byte[] buf,
int len)
throws FormatException,
IOException
no - the image index within the file.buf - a pre-allocated buffer.len - as buf may be larger than the actual pixel count
having been written to it, the length (in bytes) of the those pixels.FormatExceptionIOExceptionprotected void initMinMax()
throws FormatException,
IOException
FormatException - Not actually thrown.IOException - Not actually thrown.Copyright © 2016 Open Microscopy Environment