public final class FormatTools extends Object
Modifier and Type | Field and Description |
---|---|
static String[] |
ALL_DOMAINS
List of all supported domains.
|
static String |
ASTRONOMY_DOMAIN
Identifies the astronomy domain.
|
static int |
BIT
Identifies the BIT data type used to store pixel values.
|
static int |
CAN_GROUP |
static int |
CANNOT_GROUP |
static String |
CHANNEL
Identifies the Channel dimensional type,
representing a generic channel dimension.
|
static String |
CHANNEL_NAME |
static String |
CHANNEL_NUM |
static String |
DATE
Date on which this release was built.
|
static int |
DOUBLE
Identifies the DOUBLE data type used to store pixel values.
|
static String |
EM_DOMAIN
Identifies the electron microscopy domain.
|
static String |
FLIM_DOMAIN
Identifies the fluorescence-lifetime domain.
|
static int |
FLOAT
Identifies the FLOAT data type used to store pixel values.
|
static String |
FREQUENCY
Identifies the Frequency dimensional type,
representing a dimension consisting of frequencies.
|
static String |
GEL_DOMAIN
Identifies the gel and blot imaging domain.
|
static String |
GRAPHICS_DOMAIN
Identifies the graphics domain.
|
static String |
HCS_DOMAIN
Identifies the high content screening domain.
|
static String |
HISTOLOGY_DOMAIN
Identifies the histology domain.
|
static String |
ILLUMINATION
Identifies the Illumination dimensional type,
representing a dimension consisting of illuminations.
|
static int |
INT16
Identifies the INT16 data type used to store pixel values.
|
static int |
INT32
Identifies the INT32 data type used to store pixel values.
|
static int |
INT8
Identifies the INT8 data type used to store pixel values.
|
static String |
LIFETIME
Identifies the Lifetime dimensional type,
representing a dimension consisting of a lifetime histogram.
|
static String |
LM_DOMAIN
Identifies the light microscopy domain.
|
protected static org.slf4j.Logger |
LOGGER |
static String |
MEDICAL_DOMAIN
Identifies the medical imaging domain.
|
static int |
MUST_GROUP
File grouping options.
|
static String[] |
NON_GRAPHICS_DOMAINS
List of non-graphics domains.
|
static String[] |
NON_HCS_DOMAINS
List of non-HCS domains.
|
static String[] |
NON_SPECIAL_DOMAINS
List of domains that do not require special handling.
|
static String |
PHASE
Identifies the Phase dimensional type,
representing a dimension consisting of phases.
|
private static String[] |
pixelTypes
Human readable pixel type.
|
static String |
POLARIZATION
Identifies the Polarization dimensional type,
representing a dimension consisting of polarization states.
|
static String |
PROPERTY_FILE |
static String |
ROTATION
Identifies the Rotation dimensional type,
representing a dimension consisting of rotations.
|
static String |
SEM_DOMAIN
Identifies the scanning electron microscopy domain.
|
static String |
SERIES_NAME |
static String |
SERIES_NUM
Patterns to be used when constructing a pattern for output filenames.
|
static String |
SPECTRA
Identifies the Spectra dimensional type,
representing a dimension consisting of spectral channels.
|
static String |
SPM_DOMAIN
Identifies the scanning probe microscopy domain.
|
static String |
T_NUM |
static String |
TILE_NUM |
static String |
TILE_X |
static String |
TILE_Y |
static String |
TIMESTAMP |
static int |
UINT16
Identifies the UINT16 data type used to store pixel values.
|
static int |
UINT32
Identifies the UINT32 data type used to store pixel values.
|
static int |
UINT8
Identifies the UINT8 data type used to store pixel values.
|
static String |
UNKNOWN_DOMAIN
Identifies an unknown domain.
|
static String |
URL_BIO_FORMATS
URL of Bio-Formats web page.
|
static String |
URL_BIO_FORMATS_LIBRARIES
URL of 'Bio-Formats as a Java Library' web page.
|
static String |
URL_OME_TIFF
URL of OME-TIFF web page.
|
static String |
VCS_REVISION
Current VCS revision.
|
static String |
VCS_SHORT_REVISION
Current VCS revision (short form).
|
static String |
VERSION
Version number of this release.
|
static Properties |
VERSION_PROPERTIES |
static String |
YEAR
Year in which this release was built.
|
static String |
Z_NUM |
Modifier | Constructor and Description |
---|---|
private |
FormatTools() |
Modifier and Type | Method and Description |
---|---|
static void |
assertId(String currentId,
boolean notNull,
int depth)
Asserts that the current file is either null, or not, according to the
given flag.
|
static void |
checkBufferSize(IFormatReader r,
int len) |
static void |
checkBufferSize(IFormatReader r,
int len,
int w,
int h)
Checks that the given buffer size is large enough to hold a w * h
image as returned by the given reader.
|
static void |
checkPlaneNumber(IFormatReader r,
int no)
Checks that the given plane number is valid for the given reader.
|
static void |
checkPlaneParameters(IFormatReader r,
int no,
int bufLength,
int x,
int y,
int w,
int h)
Convenience method for checking that the plane number, tile size and
buffer sizes are all valid for the given reader.
|
static void |
checkTileSize(IFormatReader r,
int x,
int y,
int w,
int h)
Checks that the given tile size is valid for the given reader.
|
static void |
convert(IFormatReader input,
IFormatWriter output,
String outputFile)
Convenience method for writing all of the images and metadata obtained
from the specified IFormatReader into the specified IFormatWriter.
|
static void |
convert(String input,
String output)
Convenience method for converting the specified input file to the
specified output file.
|
static Angle |
createAngle(Double value,
Unit<Angle> valueUnit) |
static Angle |
createAngle(Integer value,
Unit<Angle> valueUnit) |
static <T extends PrimitiveNumber> |
createAngle(T value,
Unit<Angle> valueUnit) |
static ElectricPotential |
createElectricPotential(Double value,
Unit<ElectricPotential> valueUnit) |
static ElectricPotential |
createElectricPotential(Integer value,
Unit<ElectricPotential> valueUnit) |
static <T extends PrimitiveNumber> |
createElectricPotential(T value,
Unit<ElectricPotential> valueUnit) |
static Frequency |
createFrequency(Double value,
Unit<Frequency> valueUnit) |
static Frequency |
createFrequency(Integer value,
Unit<Frequency> valueUnit) |
static <T extends PrimitiveNumber> |
createFrequency(T value,
Unit<Frequency> valueUnit) |
static Length |
createLength(Double value,
Unit<Length> valueUnit) |
static Length |
createLength(Integer value,
Unit<Length> valueUnit) |
static <T extends PrimitiveNumber> |
createLength(T value,
Unit<Length> valueUnit) |
static Power |
createPower(Double value,
Unit<Power> valueUnit) |
static Power |
createPower(Integer value,
Unit<Power> valueUnit) |
static <T extends PrimitiveNumber> |
createPower(T value,
Unit<Power> valueUnit) |
static Pressure |
createPressure(Double value,
Unit<Pressure> valueUnit) |
static Pressure |
createPressure(Integer value,
Unit<Pressure> valueUnit) |
static <T extends PrimitiveNumber> |
createPressure(T value,
Unit<Pressure> valueUnit) |
static Temperature |
createTemperature(Double value,
Unit<Temperature> valueUnit) |
static Temperature |
createTemperature(Integer value,
Unit<Temperature> valueUnit) |
static <T extends PrimitiveNumber> |
createTemperature(T value,
Unit<Temperature> valueUnit) |
static Time |
createTime(Double value,
Unit<Time> valueUnit) |
static Time |
createTime(Integer value,
Unit<Time> valueUnit) |
static <T extends PrimitiveNumber> |
createTime(T value,
Unit<Time> valueUnit) |
static long[] |
defaultMinMax(int pixelType)
Get the default range for the specified pixel type.
|
static boolean |
equalReaders(IFormatReader a,
IFormatReader b)
Check if the two given readers are equal.
|
static int |
getBytesPerPixel(int pixelType)
Retrieves how many bytes per pixel the current plane or section has.
|
static int |
getBytesPerPixel(String pixelType)
Retrieves the number of bytes per pixel in the current plane.
|
static Length |
getCutIn(Double value) |
static Length |
getCutOut(Double value) |
static Length |
getEmissionWavelength(Double value) |
static Length |
getExcitationWavelength(Double value) |
static String |
getFilename(int series,
int image,
IFormatReader r,
String pattern) |
static String[] |
getFilenames(String pattern,
IFormatReader r) |
static Length |
getFontSize(Integer value) |
static int |
getImagesPerFile(String pattern,
IFormatReader r) |
static int |
getIndex(IFormatReader reader,
int z,
int c,
int t)
Gets the rasterized index corresponding
to the given Z, C and T coordinates (real sizes).
|
static int |
getIndex(IFormatReader reader,
int z,
int c,
int t,
int moduloZ,
int moduloC,
int moduloT)
Gets the rasterized index corresponding to the given Z, C, T,
ModuloZ, ModuloC and ModuloT coordinates (effective sizes).
|
static int |
getIndex(String order,
int zSize,
int cSize,
int tSize,
int num,
int z,
int c,
int t)
Gets the rasterized index corresponding
to the given Z, C and T coordinates (real sizes).
|
static int |
getIndex(String order,
int zSize,
int cSize,
int tSize,
int moduloZSize,
int moduloCSize,
int moduloTSize,
int num,
int z,
int c,
int t,
int moduloZ,
int moduloC,
int moduloT)
Gets the rasterized index corresponding to the given Z, C, T,
ModuloZ, ModuloC, ModuloT coordinates (effective sizes).
|
static PositiveInteger |
getMaxFieldCount(Integer value) |
static Length |
getPhysicalSizeX(Double value) |
static Length |
getPhysicalSizeX(Double value,
String unit) |
static Length |
getPhysicalSizeY(Double value) |
static Length |
getPhysicalSizeY(Double value,
String unit) |
static Length |
getPhysicalSizeZ(Double value) |
static String |
getPixelTypeString(int pixelType)
Takes a pixel type value and gets a corresponding string representation.
|
static int |
getPlaneSize(IFormatReader r)
Returns the size in bytes of a single plane.
|
static int |
getPlaneSize(IFormatReader r,
int w,
int h)
Returns the size in bytes of a w * h tile.
|
static int |
getRasterLength(int[] lengths)
Computes the number of raster values for a positional array
with the given lengths.
|
static IFormatReader |
getReader(IFormatReader r,
Class<? extends IFormatReader> c)
Recursively look for the first underlying reader that is an
instance of the given class.
|
static int |
getReorderedIndex(IFormatReader reader,
String newOrder,
int newIndex)
Converts index from the given dimension order to the reader's native one.
|
static int |
getReorderedIndex(String origOrder,
String newOrder,
int zSize,
int cSize,
int tSize,
int num,
int newIndex)
Converts index from one dimension order to another.
|
static String |
getTileFilename(int tileX,
int tileY,
int tileIndex,
String pattern) |
static Length |
getWavelength(Double value) |
static int[] |
getZCTCoords(IFormatReader reader,
int index)
Gets the Z, C and T coordinates corresponding
to the given rasterized index value (real sizes).
|
static int[] |
getZCTCoords(String order,
int zSize,
int cSize,
int tSize,
int num,
int index)
Gets the Z, C and T coordinates corresponding to the given rasterized
index value (real sizes).
|
static int[] |
getZCTCoords(String order,
int zSize,
int cSize,
int tSize,
int moduloZSize,
int moduloCSize,
int moduloTSize,
int num,
int index)
Gets the Z, C and T coordinates corresponding to the given
rasterized index value.
|
static int[] |
getZCTModuloCoords(IFormatReader reader,
int index)
Gets the Z, C, T, ModuloZ, ModuloC and ModuloZ coordinates
corresponding to the given rasterized index value (effective
sizes).
|
static boolean |
isFloatingPoint(IFormatReader reader)
Determines whether the given reader represents any floating point data.
|
static boolean |
isFloatingPoint(int pixelType)
Determines whether the given pixel type is floating point or integer.
|
static boolean |
isSigned(int pixelType)
Determines whether the given pixel type is signed or unsigned.
|
(package private) static Properties |
loadProperties() |
(package private) static String[] |
makePixelTypes() |
static byte[] |
openThumbBytes(IFormatReader reader,
int no)
Default implementation for
IFormatReader.openThumbBytes(int) . |
static int |
pixelTypeFromBytes(int bytes,
boolean signed,
boolean fp)
Returns an appropriate pixel type given the number of bytes per pixel.
|
static int |
pixelTypeFromString(String pixelTypeAsString)
Takes a string value and maps it to one of the pixel type enumerations.
|
static int |
positionToRaster(int[] lengths,
int[] pos)
Computes a unique 1-D index corresponding
to the given multidimensional position.
|
static int[] |
rasterToPosition(int[] lengths,
int raster)
Computes a unique N-D position corresponding
to the given rasterized index value.
|
static int[] |
rasterToPosition(int[] lengths,
int raster,
int[] pos)
Computes a unique N-D position corresponding
to the given rasterized index value.
|
static boolean |
validStream(RandomAccessInputStream stream,
int len,
boolean littleEndian)
Returns true if the given RandomAccessInputStream conatins at least
'len' bytes.
|
protected static final org.slf4j.Logger LOGGER
public static final int INT8
public static final int UINT8
public static final int INT16
public static final int UINT16
public static final int INT32
public static final int UINT32
public static final int FLOAT
public static final int DOUBLE
public static final int BIT
private static final String[] pixelTypes
public static final String CHANNEL
public static final String SPECTRA
public static final String LIFETIME
public static final String POLARIZATION
public static final String PHASE
public static final String FREQUENCY
public static final String ROTATION
public static final String ILLUMINATION
public static final int MUST_GROUP
public static final int CAN_GROUP
public static final int CANNOT_GROUP
public static final String SERIES_NUM
public static final String SERIES_NAME
public static final String CHANNEL_NUM
public static final String CHANNEL_NAME
public static final String Z_NUM
public static final String T_NUM
public static final String TIMESTAMP
public static final String TILE_X
public static final String TILE_Y
public static final String TILE_NUM
public static final Properties VERSION_PROPERTIES
public static final String VCS_REVISION
public static final String VCS_SHORT_REVISION
public static final String DATE
public static final String YEAR
public static final String VERSION
public static final String PROPERTY_FILE
public static final String HCS_DOMAIN
public static final String LM_DOMAIN
public static final String EM_DOMAIN
public static final String SPM_DOMAIN
public static final String SEM_DOMAIN
public static final String FLIM_DOMAIN
public static final String MEDICAL_DOMAIN
public static final String HISTOLOGY_DOMAIN
public static final String GEL_DOMAIN
public static final String ASTRONOMY_DOMAIN
public static final String GRAPHICS_DOMAIN
public static final String UNKNOWN_DOMAIN
public static final String[] NON_GRAPHICS_DOMAINS
public static final String[] NON_HCS_DOMAINS
public static final String[] NON_SPECIAL_DOMAINS
GRAPHICS_DOMAIN
and
HCS_DOMAIN
.public static final String[] ALL_DOMAINS
public static final String URL_BIO_FORMATS
public static final String URL_BIO_FORMATS_LIBRARIES
public static final String URL_OME_TIFF
static String[] makePixelTypes()
static Properties loadProperties()
public static int getIndex(IFormatReader reader, int z, int c, int t)
public static int getIndex(IFormatReader reader, int z, int c, int t, int moduloZ, int moduloC, int moduloT)
public static int getIndex(String order, int zSize, int cSize, int tSize, int num, int z, int c, int t)
order
- Dimension order.zSize
- Total number of focal planes (real size).cSize
- Total number of channels (real size).tSize
- Total number of time points (real size).num
- Total number of image planes (zSize * cSize * tSize),
specified as a consistency check.z
- Z coordinate of ZCT coordinate triple to convert to 1D index (real size).c
- C coordinate of ZCT coordinate triple to convert to 1D index (real size).t
- T coordinate of ZCT coordinate triple to convert to 1D index (real size).public static int getIndex(String order, int zSize, int cSize, int tSize, int moduloZSize, int moduloCSize, int moduloTSize, int num, int z, int c, int t, int moduloZ, int moduloC, int moduloT)
order
- Dimension order.zSize
- Total number of focal planes (real size).cSize
- Total number of channels (real size).tSize
- Total number of time points (real size).moduloZSize
- Total number of ModuloZ planes (real size).moduloCSize
- Total number of ModuloC planes (real size).moduloTSize
- Total number of ModuloT planes (real size).num
- Total number of image planes (zSize * cSize * tSize),
specified as a consistency check.z
- Z coordinate of ZCTmZmCmT coordinate sextuple to convert to 1D index (effective size).c
- C coordinate of ZCTmZmCmT coordinate sextuple to convert to 1D index (effective size).t
- T coordinate of ZCTmZmCmT coordinate sextuple to convert to 1D index (effective size).moduloZ
- ModuloZ coordinate of ZCTmZmCmT coordinate sextuple to convert to 1D index (effective size).moduloC
- ModuloC coordinate of ZCTmZmCmT coordinate sextuple to convert to 1D index (effective size).moduloT
- ModuloT coordinate of ZCTmZmCmT coordinate sextuple to convert to 1D index (effective size).public static int[] getZCTCoords(IFormatReader reader, int index)
public static int[] getZCTModuloCoords(IFormatReader reader, int index)
public static int[] getZCTCoords(String order, int zSize, int cSize, int tSize, int num, int index)
order
- Dimension order.zSize
- Total number of focal planes (real size).cSize
- Total number of channels (real size).tSize
- Total number of time points (real size).num
- Total number of image planes (zSize * cSize * tSize),
specified as a consistency check.index
- 1D (rasterized) index to convert to ZCT coordinate triple.public static int[] getZCTCoords(String order, int zSize, int cSize, int tSize, int moduloZSize, int moduloCSize, int moduloTSize, int num, int index)
order
- Dimension order.zSize
- Total number of focal planes (real size).cSize
- Total number of channels (real size).tSize
- Total number of time points (real size).moduloZSize
- Total number of ModuloZ planes (real size).moduloCSize
- Total number of ModuloC planes (real size).moduloTSize
- Total number of ModuloT planes (real size).num
- Total number of image planes (zSize * cSize * tSize),
specified as a consistency check.index
- 1D (rasterized) index to convert to ZCT coordinate triple.public static int getReorderedIndex(IFormatReader reader, String newOrder, int newIndex) throws FormatException
DimensionSwapper
does).FormatException
- Never actually thrown.public static int getReorderedIndex(String origOrder, String newOrder, int zSize, int cSize, int tSize, int num, int newIndex)
DimensionSwapper
does).origOrder
- Original dimension order.newOrder
- New dimension order.zSize
- Total number of focal planes (real size).cSize
- Total number of channels (real size).tSize
- Total number of time points (real size).num
- Total number of image planes (zSize * cSize * tSize),
specified as a consistency check.newIndex
- 1D (rasterized) index according to new dimension order.public static int positionToRaster(int[] lengths, int[] pos)
lengths
- the maximum value for each positional dimensionpos
- position along each dimensional axispublic static int[] rasterToPosition(int[] lengths, int raster)
lengths
- the maximum value at each positional dimensionraster
- rasterized index valuepublic static int[] rasterToPosition(int[] lengths, int raster, int[] pos)
lengths
- the maximum value at each positional dimensionraster
- rasterized index valuepos
- preallocated position array to populate with the resultpublic static int getRasterLength(int[] lengths)
public static int pixelTypeFromString(String pixelTypeAsString)
pixelTypeAsString
- the pixel type as a string.public static String getPixelTypeString(int pixelType)
pixelType
- the pixel type.public static int getBytesPerPixel(int pixelType)
pixelType
- the pixel type as retrieved from
IFormatReader.getPixelType()
.IFormatReader.getPixelType()
public static int getBytesPerPixel(String pixelType)
pixelType
- the pixel type, as a String.pixelTypeFromString(String)
,
getBytesPerPixel(int)
public static boolean isFloatingPoint(IFormatReader reader)
reader
- the reader to checkisFloatingPoint(int)
public static boolean isFloatingPoint(int pixelType)
pixelType
- the pixel type as retrieved from
IFormatReader.getPixelType()
.IFormatReader.getPixelType()
public static boolean isSigned(int pixelType)
pixelType
- the pixel type as retrieved from
IFormatReader.getPixelType()
.IFormatReader.getPixelType()
public static int pixelTypeFromBytes(int bytes, boolean signed, boolean fp) throws FormatException
bytes
- number of bytes per pixel.signed
- whether or not the pixel type should be signed.fp
- whether or not these are floating point pixels.FormatException
public static void assertId(String currentId, boolean notNull, int depth)
currentId
- File name to test.notNull
- True iff id should be non-null.depth
- How far back in the stack the calling method is; this name
is reported as part of the exception message, if available. Use zero
to suppress output of the calling method name.public static void checkPlaneParameters(IFormatReader r, int no, int bufLength, int x, int y, int w, int h) throws FormatException
FormatException
public static void checkPlaneNumber(IFormatReader r, int no) throws FormatException
FormatException
public static void checkTileSize(IFormatReader r, int x, int y, int w, int h) throws FormatException
FormatException
public static void checkBufferSize(IFormatReader r, int len) throws FormatException
FormatException
public static void checkBufferSize(IFormatReader r, int len, int w, int h) throws FormatException
FormatException
- if the buffer is too smallpublic static boolean validStream(RandomAccessInputStream stream, int len, boolean littleEndian) throws IOException
IOException
public static int getPlaneSize(IFormatReader r)
public static int getPlaneSize(IFormatReader r, int w, int h)
public static String getTileFilename(int tileX, int tileY, int tileIndex, String pattern)
public static String getFilename(int series, int image, IFormatReader r, String pattern) throws FormatException, IOException
FormatException
- Never actually thrown.IOException
- Never actually thrown.public static String[] getFilenames(String pattern, IFormatReader r) throws FormatException, IOException
FormatException
IOException
public static int getImagesPerFile(String pattern, IFormatReader r) throws FormatException, IOException
FormatException
IOException
public static IFormatReader getReader(IFormatReader r, Class<? extends IFormatReader> c)
public static boolean equalReaders(IFormatReader a, IFormatReader b)
public static byte[] openThumbBytes(IFormatReader reader, int no) throws FormatException, IOException
IFormatReader.openThumbBytes(int)
.
At the moment, it uses BufferedImage
objects
to resize thumbnails, so it is not safe for use in headless contexts.
In the future, we may reimplement the image scaling logic purely with
byte arrays, but handling every case would be substantial effort, so
doing so is currently a low priority item.FormatException
IOException
public static void convert(String input, String output) throws FormatException, IOException
input
- the full path name of the existing input fileoutput
- the full path name of the output file to be createdFormatException
- if there is a general problem reading from or
writing to one of the files.IOException
- if there is an I/O-related error.convert(IFormatReader, IFormatWriter, String).
public static void convert(IFormatReader input, IFormatWriter output, String outputFile) throws FormatException, IOException
input
- the pre-initialized IFormatReader used for reading data.output
- the uninitialized IFormatWriter used for writing data.outputFile
- the full path name of the output file to be created.FormatException
- if there is a general problem reading from or
writing to one of the files.IOException
- if there is an I/O-related error.public static long[] defaultMinMax(int pixelType)
pixelType
- the pixel type.IOException
- if the pixel type is floating point or invalid.public static PositiveInteger getMaxFieldCount(Integer value)
public static <T extends PrimitiveNumber> Angle createAngle(T value, Unit<Angle> valueUnit)
public static ElectricPotential createElectricPotential(Double value, Unit<ElectricPotential> valueUnit)
public static ElectricPotential createElectricPotential(Integer value, Unit<ElectricPotential> valueUnit)
public static <T extends PrimitiveNumber> ElectricPotential createElectricPotential(T value, Unit<ElectricPotential> valueUnit)
public static <T extends PrimitiveNumber> Frequency createFrequency(T value, Unit<Frequency> valueUnit)
public static <T extends PrimitiveNumber> Power createPower(T value, Unit<Power> valueUnit)
public static <T extends PrimitiveNumber> Length createLength(T value, Unit<Length> valueUnit)
public static <T extends PrimitiveNumber> Pressure createPressure(T value, Unit<Pressure> valueUnit)
public static Temperature createTemperature(Double value, Unit<Temperature> valueUnit)
public static Temperature createTemperature(Integer value, Unit<Temperature> valueUnit)
public static <T extends PrimitiveNumber> Temperature createTemperature(T value, Unit<Temperature> valueUnit)
public static <T extends PrimitiveNumber> Time createTime(T value, Unit<Time> valueUnit)
Copyright © 2015 Open Microscopy Environment