Package loci.formats
Class FormatTools
java.lang.Object
loci.formats.FormatTools
A utility class for format reader and writer implementations.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String[]List of all supported domains.static final StringIdentifies the astronomy domain.static final intIdentifies the BIT data type used to store pixel values.static final intstatic final intstatic final StringIdentifies the Channel dimensional type, representing a generic channel dimension.static final Stringstatic final Stringstatic final StringValue to use when setting creator/software fields in exported files.static final StringDate on which this release was built.static final intIdentifies the DOUBLE data type used to store pixel values.static final StringIdentifies the electron microscopy domain.static final StringIdentifies the fluorescence-lifetime domain.static final intIdentifies the FLOAT data type used to store pixel values.static final StringIdentifies the Frequency dimensional type, representing a dimension consisting of frequencies.static final StringIdentifies the gel and blot imaging domain.static final StringIdentifies the graphics domain.static final StringIdentifies the high content screening domain.static final StringIdentifies the histology domain.static final StringIdentifies the Illumination dimensional type, representing a dimension consisting of illuminations.static final intIdentifies the INT16 data type used to store pixel values.static final intIdentifies the INT32 data type used to store pixel values.static final intIdentifies the INT8 data type used to store pixel values.static final StringIdentifies the Lifetime dimensional type, representing a dimension consisting of a lifetime histogram.static final StringIdentifies the light microscopy domain.protected static final org.slf4j.Loggerstatic final StringIdentifies the medical imaging domain.static final intFile grouping options.static final String[]List of non-graphics domains.static final String[]List of non-HCS domains.static final String[]List of domains that do not require special handling.static final StringIdentifies the Phase dimensional type, representing a dimension consisting of phases.private static final String[]Human readable pixel type.static final StringIdentifies the Polarization dimensional type, representing a dimension consisting of polarization states.static final StringDeprecated.The property file is no longer used.static final StringIdentifies the Rotation dimensional type, representing a dimension consisting of rotations.static final StringIdentifies the scanning electron microscopy domain.static final Stringstatic final StringPatterns to be used when constructing a pattern for output filenames.static final StringIdentifies the Spectra dimensional type, representing a dimension consisting of spectral channels.static final StringIdentifies the scanning probe microscopy domain.static final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final intIdentifies the UINT16 data type used to store pixel values.static final intIdentifies the UINT32 data type used to store pixel values.static final intIdentifies the UINT8 data type used to store pixel values.static final StringIdentifies an unknown domain.static final StringURL of Bio-Formats web page.static final StringURL of 'Bio-Formats as a Java Library' web page.static final StringURL of OME-TIFF web page.static final StringCurrent VCS revision.static final StringDeprecated.Use the generalVCS_REVISIONfield.static final StringVersion number of this release.static final Propertiesstatic final StringYear in which this release was built.static final String -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidAsserts that the current file is either null, or not, according to the given flag.static booleancanUsePrecompressedTiles(IFormatReader reader, IFormatWriter writer, int series, int resolution) Compare the given reader and writer at the specified series and resolution to see if pre-compressed tiles can be transferred directly from the reader to the writer.static voidcheckBufferSize(IFormatReader r, int len) static voidcheckBufferSize(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 voidcheckPlaneNumber(IFormatReader r, int no) Checks that the given plane number is valid for the given reader.static voidcheckPlaneParameters(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 voidcheckTileSize(IFormatReader r, int x, int y, int w, int h) Checks that the given tile size is valid for the given reader.static voidConvenience method for converting the specified input file to the specified output file.static voidconvert(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 ome.units.quantity.AnglecreateAngle(Double value, ome.units.unit.Unit<ome.units.quantity.Angle> valueUnit) static ome.units.quantity.AnglecreateAngle(Integer value, ome.units.unit.Unit<ome.units.quantity.Angle> valueUnit) static <T extends ome.xml.model.primitives.PrimitiveNumber>
ome.units.quantity.AnglecreateAngle(T value, ome.units.unit.Unit<ome.units.quantity.Angle> valueUnit) static ome.units.quantity.ElectricPotentialcreateElectricPotential(Double value, ome.units.unit.Unit<ome.units.quantity.ElectricPotential> valueUnit) static ome.units.quantity.ElectricPotentialcreateElectricPotential(Integer value, ome.units.unit.Unit<ome.units.quantity.ElectricPotential> valueUnit) static <T extends ome.xml.model.primitives.PrimitiveNumber>
ome.units.quantity.ElectricPotentialcreateElectricPotential(T value, ome.units.unit.Unit<ome.units.quantity.ElectricPotential> valueUnit) static ome.units.quantity.FrequencycreateFrequency(Double value, ome.units.unit.Unit<ome.units.quantity.Frequency> valueUnit) static ome.units.quantity.FrequencycreateFrequency(Integer value, ome.units.unit.Unit<ome.units.quantity.Frequency> valueUnit) static <T extends ome.xml.model.primitives.PrimitiveNumber>
ome.units.quantity.FrequencycreateFrequency(T value, ome.units.unit.Unit<ome.units.quantity.Frequency> valueUnit) static ome.units.quantity.LengthcreateLength(Double value, ome.units.unit.Unit<ome.units.quantity.Length> valueUnit) static ome.units.quantity.LengthcreateLength(Integer value, ome.units.unit.Unit<ome.units.quantity.Length> valueUnit) static <T extends ome.xml.model.primitives.PrimitiveNumber>
ome.units.quantity.LengthcreateLength(T value, ome.units.unit.Unit<ome.units.quantity.Length> valueUnit) static ome.units.quantity.PowercreatePower(Double value, ome.units.unit.Unit<ome.units.quantity.Power> valueUnit) static ome.units.quantity.PowercreatePower(Integer value, ome.units.unit.Unit<ome.units.quantity.Power> valueUnit) static <T extends ome.xml.model.primitives.PrimitiveNumber>
ome.units.quantity.PowercreatePower(T value, ome.units.unit.Unit<ome.units.quantity.Power> valueUnit) static ome.units.quantity.PressurecreatePressure(Double value, ome.units.unit.Unit<ome.units.quantity.Pressure> valueUnit) static ome.units.quantity.PressurecreatePressure(Integer value, ome.units.unit.Unit<ome.units.quantity.Pressure> valueUnit) static <T extends ome.xml.model.primitives.PrimitiveNumber>
ome.units.quantity.PressurecreatePressure(T value, ome.units.unit.Unit<ome.units.quantity.Pressure> valueUnit) static ome.units.quantity.TemperaturecreateTemperature(Double value, ome.units.unit.Unit<ome.units.quantity.Temperature> valueUnit) static ome.units.quantity.TemperaturecreateTemperature(Integer value, ome.units.unit.Unit<ome.units.quantity.Temperature> valueUnit) static <T extends ome.xml.model.primitives.PrimitiveNumber>
ome.units.quantity.TemperaturecreateTemperature(T value, ome.units.unit.Unit<ome.units.quantity.Temperature> valueUnit) static ome.units.quantity.TimecreateTime(Double value, ome.units.unit.Unit<ome.units.quantity.Time> valueUnit) static ome.units.quantity.TimecreateTime(Integer value, ome.units.unit.Unit<ome.units.quantity.Time> valueUnit) static <T extends ome.xml.model.primitives.PrimitiveNumber>
ome.units.quantity.TimecreateTime(T value, ome.units.unit.Unit<ome.units.quantity.Time> valueUnit) static long[]defaultMinMax(int pixelType) Get the default range for the specified pixel type.static booleanCheck if the two given readers are equal.static intgetBytesPerPixel(int pixelType) Retrieves how many bytes per pixel the current plane or section has.static intgetBytesPerPixel(String pixelType) Retrieves the number of bytes per pixel in the current plane.static ome.units.quantity.Lengthstatic ome.units.quantity.Lengthstatic ome.units.quantity.LengthgetEmissionWavelength(Double value) static ome.units.quantity.LengthgetExcitationWavelength(Double value) static StringgetFilename(int series, int image, IFormatReader r, String pattern) static StringgetFilename(int series, int image, IFormatReader r, String pattern, boolean padded) static StringgetFilename(int series, int image, MetadataRetrieve retrieve, String pattern, boolean padded) static String[]getFilenames(String pattern, IFormatReader r) static ome.units.quantity.LengthgetFontSize(Integer value) static intgetImagesPerFile(String pattern, IFormatReader r) static intGets the rasterized index corresponding to the given Z, C and T coordinates (real sizes).static intgetIndex(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 intgetIndex(IFormatReader reader, int z, int c, int t) Gets the rasterized index corresponding to the given Z, C and T coordinates (real sizes).static intgetIndex(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 ome.xml.model.primitives.PositiveIntegergetMaxFieldCount(Integer value) static ome.units.quantity.LengthgetPhysicalSize(Double value, String unit) static ome.units.quantity.LengthgetPhysicalSizeX(Double value) Formats the input value for the physical size in X into a length in micronsstatic ome.units.quantity.LengthgetPhysicalSizeX(Double value, String unit) Formats the input value for the physical size in X into a length of the given unit.static ome.units.quantity.LengthgetPhysicalSizeX(Double value, ome.units.unit.Unit<ome.units.quantity.Length> unit) Formats the input value for the physical size in X into a length of the given unit.static ome.units.quantity.LengthgetPhysicalSizeY(Double value) Formats the input value for the physical size in Y into a length in micronsstatic ome.units.quantity.LengthgetPhysicalSizeY(Double value, String unit) Formats the input value for the physical size in Y into a length of the given unit.static ome.units.quantity.LengthgetPhysicalSizeY(Double value, ome.units.unit.Unit<ome.units.quantity.Length> unit) Formats the input value for the physical size in Y into a length of the given unit.static ome.units.quantity.LengthgetPhysicalSizeZ(Double value) Formats the input value for the physical size in Z into a length in microns.static ome.units.quantity.LengthgetPhysicalSizeZ(Double value, String unit) Formats the input value for the physical size in Z into a length of the given unit.static ome.units.quantity.LengthgetPhysicalSizeZ(Double value, ome.units.unit.Unit<ome.units.quantity.Length> unit) Formats the input value for the physical size in Z into a length of the given unit.static StringgetPixelTypeString(int pixelType) Takes a pixel type value and gets a corresponding string representation.static intReturns the size in bytes of a single plane.static intgetPlaneSize(IFormatReader r, int w, int h) Returns the size in bytes of a w * h tile.static intgetRasterLength(int[] lengths) Computes the number of raster values for a positional array with the given lengths.static IFormatReadergetReader(IFormatReader r, Class<? extends IFormatReader> c) Recursively look for the first underlying reader that is an instance of the given class.static intgetReorderedIndex(String origOrder, String newOrder, int zSize, int cSize, int tSize, int num, int newIndex) Converts index from one dimension order to another.static intgetReorderedIndex(IFormatReader reader, String newOrder, int newIndex) Converts index from the given dimension order to the reader's native one.static intgetRequiredDirectories(String[] files) Returns the maximum number of directories below the common parent of a list of file pathsstatic ome.units.quantity.LengthgetStagePosition(Double value, String unit) Formats the input value for the stage position into a length of the given unit.static ome.units.quantity.LengthgetStagePosition(Double value, ome.units.unit.Unit<ome.units.quantity.Length> unit) Formats the input value for the stage position into a length of the given unit.static StringgetTileFilename(int tileX, int tileY, int tileIndex, String pattern) static ome.units.quantity.TimeFormats the input value for the time into a length of the given unit.static ome.units.quantity.LengthgetWavelength(Double value) static ome.units.quantity.LengthgetWavelength(Double value, String unit) Formats the input value for the wavelength into a length of the given unit.static StringgetWellName(int row, int col) Create a simple name for the well at the given row and column.static StringgetWellRowName(int row) Create a simple name for the given row of wells.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[]getZCTCoords(IFormatReader reader, int index) Gets the Z, C and T coordinates corresponding to the given rasterized index value (real sizes).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 booleanisFloatingPoint(int pixelType) Determines whether the given pixel type is floating point or integer.static booleanisFloatingPoint(IFormatReader reader) Determines whether the given reader represents any floating point data.static booleanisPositiveValue(Double value) static booleanisSigned(int pixelType) Determines whether the given pixel type is signed or unsigned.private static Manifest(package private) static PropertiesDeprecated.This method should no longer be used.(package private) static String[]static byte[]openThumbBytes(IFormatReader reader, int no) Default implementation forIFormatReader.openThumbBytes(int).static ome.units.quantity.LengthParse a length composed of a value and an optional unitstatic ome.units.quantity.LengthparseLength(String s, String defaultUnit) Parse a length composed of a value and an optional unitstatic intpixelTypeFromBytes(int bytes, boolean signed, boolean fp) Returns an appropriate pixel type given the number of bytes per pixel.static intpixelTypeFromString(String pixelTypeAsString) Takes a string value and maps it to one of the pixel type enumerations.static intpositionToRaster(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 booleanvalidStream(loci.common.RandomAccessInputStream stream, int len, boolean littleEndian) Returns true if the given RandomAccessInputStream conatins at least 'len' bytes.
-
Field Details
-
LOGGER
protected static final org.slf4j.Logger LOGGER -
INT8
public static final int INT8Identifies the INT8 data type used to store pixel values.- See Also:
-
UINT8
public static final int UINT8Identifies the UINT8 data type used to store pixel values.- See Also:
-
INT16
public static final int INT16Identifies the INT16 data type used to store pixel values.- See Also:
-
UINT16
public static final int UINT16Identifies the UINT16 data type used to store pixel values.- See Also:
-
INT32
public static final int INT32Identifies the INT32 data type used to store pixel values.- See Also:
-
UINT32
public static final int UINT32Identifies the UINT32 data type used to store pixel values.- See Also:
-
FLOAT
public static final int FLOATIdentifies the FLOAT data type used to store pixel values.- See Also:
-
DOUBLE
public static final int DOUBLEIdentifies the DOUBLE data type used to store pixel values.- See Also:
-
BIT
public static final int BITIdentifies the BIT data type used to store pixel values.- See Also:
-
pixelTypes
Human readable pixel type. -
CHANNEL
Identifies the Channel dimensional type, representing a generic channel dimension.- See Also:
-
SPECTRA
Identifies the Spectra dimensional type, representing a dimension consisting of spectral channels.- See Also:
-
LIFETIME
Identifies the Lifetime dimensional type, representing a dimension consisting of a lifetime histogram.- See Also:
-
POLARIZATION
Identifies the Polarization dimensional type, representing a dimension consisting of polarization states.- See Also:
-
PHASE
Identifies the Phase dimensional type, representing a dimension consisting of phases.- See Also:
-
FREQUENCY
Identifies the Frequency dimensional type, representing a dimension consisting of frequencies.- See Also:
-
ROTATION
Identifies the Rotation dimensional type, representing a dimension consisting of rotations.- See Also:
-
ILLUMINATION
Identifies the Illumination dimensional type, representing a dimension consisting of illuminations.- See Also:
-
MUST_GROUP
public static final int MUST_GROUPFile grouping options.- See Also:
-
CAN_GROUP
public static final int CAN_GROUP- See Also:
-
CANNOT_GROUP
public static final int CANNOT_GROUP- See Also:
-
SERIES_NUM
Patterns to be used when constructing a pattern for output filenames.- See Also:
-
SERIES_NAME
- See Also:
-
CHANNEL_NUM
- See Also:
-
CHANNEL_NAME
- See Also:
-
Z_NUM
- See Also:
-
T_NUM
- See Also:
-
TIMESTAMP
- See Also:
-
TILE_X
- See Also:
-
TILE_Y
- See Also:
-
TILE_NUM
- See Also:
-
VERSION_PROPERTIES
-
VCS_REVISION
Current VCS revision. -
VCS_SHORT_REVISION
Deprecated.Use the generalVCS_REVISIONfield.Current VCS revision (short form). -
DATE
Date on which this release was built. -
YEAR
Year in which this release was built. -
VERSION
Version number of this release. -
CREATOR
Value to use when setting creator/software fields in exported files. -
PROPERTY_FILE
Deprecated.The property file is no longer used. -
HCS_DOMAIN
Identifies the high content screening domain.- See Also:
-
LM_DOMAIN
Identifies the light microscopy domain.- See Also:
-
EM_DOMAIN
Identifies the electron microscopy domain.- See Also:
-
SPM_DOMAIN
Identifies the scanning probe microscopy domain.- See Also:
-
SEM_DOMAIN
Identifies the scanning electron microscopy domain.- See Also:
-
FLIM_DOMAIN
Identifies the fluorescence-lifetime domain.- See Also:
-
MEDICAL_DOMAIN
Identifies the medical imaging domain.- See Also:
-
HISTOLOGY_DOMAIN
Identifies the histology domain.- See Also:
-
GEL_DOMAIN
Identifies the gel and blot imaging domain.- See Also:
-
ASTRONOMY_DOMAIN
Identifies the astronomy domain.- See Also:
-
GRAPHICS_DOMAIN
Identifies the graphics domain. This includes formats used exclusively by analysis software.- See Also:
-
UNKNOWN_DOMAIN
Identifies an unknown domain.- See Also:
-
NON_GRAPHICS_DOMAINS
List of non-graphics domains. -
NON_HCS_DOMAINS
List of non-HCS domains. -
NON_SPECIAL_DOMAINS
List of domains that do not require special handling. Domains that require special handling areGRAPHICS_DOMAINandHCS_DOMAIN. -
ALL_DOMAINS
List of all supported domains. -
URL_BIO_FORMATS
URL of Bio-Formats web page.- See Also:
-
URL_BIO_FORMATS_LIBRARIES
URL of 'Bio-Formats as a Java Library' web page. -
URL_OME_TIFF
URL of OME-TIFF web page.- See Also:
-
-
Constructor Details
-
FormatTools
private FormatTools()
-
-
Method Details
-
makePixelTypes
-
loadProperties
Deprecated.This method should no longer be used. The properties are now obtained from the jar manifest. -
loadManifest
-
getIndex
Gets the rasterized index corresponding to the given Z, C and T coordinates (real sizes). -
getIndex
public 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). Note that the Z, C and T coordinates take the modulo dimension sizes into account. The effective size for each of these dimensions is limited to the total size of the dimension divided by the modulo size. -
getIndex
public 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).- Parameters:
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).
-
getIndex
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) Gets the rasterized index corresponding to the given Z, C, T, ModuloZ, ModuloC, ModuloT coordinates (effective sizes). Note that the Z, C and T coordinates take the modulo dimension sizes into account. The effective size for each of these dimensions is limited to the total size of the dimension divided by the modulo size.- Parameters:
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).
-
getZCTCoords
Gets the Z, C and T coordinates corresponding to the given rasterized index value (real sizes). -
getZCTModuloCoords
Gets the Z, C, T, ModuloZ, ModuloC and ModuloZ coordinates corresponding to the given rasterized index value (effective sizes). Note that the Z, C and T coordinates are not the same as those returned by getZCTCoords(IFormatReader, int) because the size of the modulo dimensions is taken into account. The effective size for each of these dimensions is limited to the total size of the dimension divided by the modulo size. -
getZCTCoords
Gets the Z, C and T coordinates corresponding to the given rasterized index value (real sizes).- Parameters:
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.
-
getZCTCoords
public 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. Note that the Z, C and T coordinates are not the same as those returned by getZCTCoords(String, int, int, int, int, int) because the size of the modulo dimensions is taken into account. The effective size for each of these dimensions is limited to the total size of the dimension divided by the modulo size.- Parameters:
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.
-
getReorderedIndex
public static int getReorderedIndex(IFormatReader reader, String newOrder, int newIndex) throws FormatException Converts index from the given dimension order to the reader's native one. This method is useful for shuffling the planar order around (rather than eassigning ZCT sizes asDimensionSwapperdoes).- Throws:
FormatException- Never actually thrown.
-
getReorderedIndex
public 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. This method is useful for shuffling the planar order around (rather than eassigning ZCT sizes asDimensionSwapperdoes).- Parameters:
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.- Returns:
- rasterized index according to original dimension order.
-
positionToRaster
public static int positionToRaster(int[] lengths, int[] pos) Computes a unique 1-D index corresponding to the given multidimensional position.- Parameters:
lengths- the maximum value for each positional dimensionpos- position along each dimensional axis- Returns:
- rasterized index value
-
rasterToPosition
public static int[] rasterToPosition(int[] lengths, int raster) Computes a unique N-D position corresponding to the given rasterized index value.- Parameters:
lengths- the maximum value at each positional dimensionraster- rasterized index value- Returns:
- position along each dimensional axis
-
rasterToPosition
public static int[] rasterToPosition(int[] lengths, int raster, int[] pos) Computes a unique N-D position corresponding to the given rasterized index value.- Parameters:
lengths- the maximum value at each positional dimensionraster- rasterized index valuepos- preallocated position array to populate with the result- Returns:
- position along each dimensional axis
-
getRasterLength
public static int getRasterLength(int[] lengths) Computes the number of raster values for a positional array with the given lengths. -
pixelTypeFromString
Takes a string value and maps it to one of the pixel type enumerations.- Parameters:
pixelTypeAsString- the pixel type as a string.- Returns:
- type enumeration value for use with class constants.
-
getPixelTypeString
Takes a pixel type value and gets a corresponding string representation.- Parameters:
pixelType- the pixel type.- Returns:
- string value for human-readable output.
-
getBytesPerPixel
public static int getBytesPerPixel(int pixelType) Retrieves how many bytes per pixel the current plane or section has.- Parameters:
pixelType- the pixel type as retrieved fromIFormatReader.getPixelType().- Returns:
- the number of bytes per pixel.
- See Also:
-
getBytesPerPixel
Retrieves the number of bytes per pixel in the current plane.- Parameters:
pixelType- the pixel type, as a String.- Returns:
- the number of bytes per pixel.
- See Also:
-
isFloatingPoint
Determines whether the given reader represents any floating point data.- Parameters:
reader- the reader to check- Returns:
- true if any of the reader's series have a floating point pixel type
- See Also:
-
isFloatingPoint
public static boolean isFloatingPoint(int pixelType) Determines whether the given pixel type is floating point or integer.- Parameters:
pixelType- the pixel type as retrieved fromIFormatReader.getPixelType().- Returns:
- true if the pixel type is floating point.
- See Also:
-
isSigned
public static boolean isSigned(int pixelType) Determines whether the given pixel type is signed or unsigned.- Parameters:
pixelType- the pixel type as retrieved fromIFormatReader.getPixelType().- Returns:
- true if the pixel type is signed.
- See Also:
-
pixelTypeFromBytes
Returns an appropriate pixel type given the number of bytes per pixel.- Parameters:
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.- Throws:
FormatException
-
assertId
Asserts that the current file is either null, or not, according to the given flag. If the assertion fails, an IllegalStateException is thrown.- Parameters:
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.
-
checkPlaneParameters
public static void checkPlaneParameters(IFormatReader r, int no, int bufLength, int x, int y, int w, int h) throws FormatException Convenience method for checking that the plane number, tile size and buffer sizes are all valid for the given reader. If 'bufLength' is less than 0, then the buffer length check is not performed.- Throws:
FormatException
-
checkPlaneNumber
Checks that the given plane number is valid for the given reader.- Throws:
FormatException
-
checkTileSize
public static void checkTileSize(IFormatReader r, int x, int y, int w, int h) throws FormatException Checks that the given tile size is valid for the given reader.- Throws:
FormatException
-
checkBufferSize
- Throws:
FormatException
-
checkBufferSize
Checks that the given buffer size is large enough to hold a w * h image as returned by the given reader.- Throws:
FormatException- if the buffer is too small
-
validStream
public static boolean validStream(loci.common.RandomAccessInputStream stream, int len, boolean littleEndian) throws IOException Returns true if the given RandomAccessInputStream conatins at least 'len' bytes.- Throws:
IOException
-
getPlaneSize
Returns the size in bytes of a single plane. -
getPlaneSize
Returns the size in bytes of a w * h tile. -
getTileFilename
-
getFilename
public static String getFilename(int series, int image, IFormatReader r, String pattern) throws FormatException, IOException - Throws:
FormatException- Never actually thrown.IOException- Never actually thrown.
-
getFilename
public static String getFilename(int series, int image, IFormatReader r, String pattern, boolean padded) throws FormatException, IOException - Throws:
FormatException- Never actually thrown.IOException- Never actually thrown.
-
getFilename
public static String getFilename(int series, int image, MetadataRetrieve retrieve, String pattern, boolean padded) throws FormatException, IOException - Throws:
FormatExceptionIOException
-
getFilenames
public static String[] getFilenames(String pattern, IFormatReader r) throws FormatException, IOException - Throws:
FormatExceptionIOException
-
getImagesPerFile
public static int getImagesPerFile(String pattern, IFormatReader r) throws FormatException, IOException - Throws:
FormatExceptionIOException
-
getReader
Recursively look for the first underlying reader that is an instance of the given class. -
equalReaders
Check if the two given readers are equal. To be equal, readers must contain the same stack of wrappers and the same state. -
openThumbBytes
public static byte[] openThumbBytes(IFormatReader reader, int no) throws FormatException, IOException Default implementation forIFormatReader.openThumbBytes(int). At the moment, it usesBufferedImageobjects 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.- Throws:
FormatExceptionIOException
-
getWellName
Create a simple name for the well at the given row and column. The row is assigned one or two letters, the column is assigned 2 digits. For example: A01, A02, A03, ... B01, B02, B03, ... ... Z01, Z02, Z03, ... AA01, AA02, AA03, ...- Parameters:
row- the well row index, starting from 0col- the well column index, starting from 0- Returns:
- a well name of the format described above
-
getWellRowName
Create a simple name for the given row of wells. The row is assigned one or two letters, for example: A B ... Z AA- Parameters:
row- the well row index, starting from 0- Returns:
- a well row name of the format described above
-
convert
Convenience method for converting the specified input file to the specified output file. The ImageReader and ImageWriter classes are used for input and output, respectively. To use other IFormatReader or IFormatWriter implementation,- Parameters:
input- the full path name of the existing input fileoutput- the full path name of the output file to be created- Throws:
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.
-
convert
public static void convert(IFormatReader input, IFormatWriter output, String outputFile) throws FormatException, IOException Convenience method for writing all of the images and metadata obtained from the specified IFormatReader into the specified IFormatWriter. It is required that setId(String) be called on the IFormatReader object before it is passed to convert(...). setMetadataStore(...) should also have been called with an appropriate instance of IMetadata. The setId(String) method must not be called on the IFormatWriter object; this is taken care of internally. Additionally, the setMetadataRetrieve(...) method in IFormatWriter should not be called.- Parameters:
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.- Throws:
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.
-
defaultMinMax
public static long[] defaultMinMax(int pixelType) Get the default range for the specified pixel type. Note that this is not necessarily the minimum and maximum value which may be stored, but the minimum and maximum which should be used for rendering.- Parameters:
pixelType- the pixel type.- Returns:
- an array containing the min and max as elements 0 and 1, respectively.
- Throws:
IOException- if the pixel type is floating point or invalid.
-
isPositiveValue
-
getWavelength
Formats the input value for the wavelength into a length of the given unit.- Parameters:
value- the value of the wavelengthunit- the unit of the wavelength. If null will default to Nanometre- Returns:
- the wavelength formatted as a
Length
-
getTime
Formats the input value for the time into a length of the given unit.- Parameters:
value- the value of the timeunit- the unit of the time. If null will default to Seconds- Returns:
- the wavelength formatted as a
Length
-
getStagePosition
public static ome.units.quantity.Length getStagePosition(Double value, ome.units.unit.Unit<ome.units.quantity.Length> unit) Formats the input value for the stage position into a length of the given unit.- Parameters:
value- the value of the stage positionunit- the unit of the stage position- Returns:
- the stage position formatted as a
Length. Returnsnullifvalueisnullor infinite orunitisnull.
-
getStagePosition
Formats the input value for the stage position into a length of the given unit.- Parameters:
value- the value of the stage positionunit- the unit of the stage position. If the string cannot be converted into a base length unit, the stage position length will be constructure using the default reference frame unit.- Returns:
- the stage position formatted as a
Length. Returnsnullunder the same conditions asgetStagePosition(Double, String).
-
getPhysicalSize
-
getPhysicalSizeX
Formats the input value for the physical size in X into a length in microns- Parameters:
value- the value of the physical size in X in microns- Returns:
- the physical size formatted as a
Length
-
getPhysicalSizeX
Formats the input value for the physical size in X into a length of the given unit.- Parameters:
value- the value of the physical size in Xunit- the unit of the physical size in X. Ifnull, default to microns.- Returns:
- the physical size formatted as a
Length
-
getPhysicalSizeX
public static ome.units.quantity.Length getPhysicalSizeX(Double value, ome.units.unit.Unit<ome.units.quantity.Length> unit) Formats the input value for the physical size in X into a length of the given unit.- Parameters:
value- the value of the physical size in Xunit- the unit of the physical size in X- Returns:
- the physical size formatted as a
Length
-
getPhysicalSizeY
Formats the input value for the physical size in Y into a length in microns- Parameters:
value- the value of the physical size in Y in microns- Returns:
- the physical size formatted as a
Length
-
getPhysicalSizeY
Formats the input value for the physical size in Y into a length of the given unit.- Parameters:
value- the value of the physical size in Yunit- the unit of the physical size in Y. Ifnull, default to microns.- Returns:
- the physical size formatted as a
Length
-
getPhysicalSizeY
public static ome.units.quantity.Length getPhysicalSizeY(Double value, ome.units.unit.Unit<ome.units.quantity.Length> unit) Formats the input value for the physical size in Y into a length of the given unit.- Parameters:
value- the value of the physical size in Yunit- the unit of the physical size in Y- Returns:
- the physical size formatted as a
Length
-
getPhysicalSizeZ
Formats the input value for the physical size in Z into a length in microns.- Parameters:
value- the value of the physical size in Z in microns- Returns:
- the physical size formatted as a
Length
-
getPhysicalSizeZ
Formats the input value for the physical size in Z into a length of the given unit.- Parameters:
value- the value of the physical size in Zunit- the unit of the physical size in Z. Ifnull, default to microns.- Returns:
- the physical size formatted as a
Length
-
getPhysicalSizeZ
public static ome.units.quantity.Length getPhysicalSizeZ(Double value, ome.units.unit.Unit<ome.units.quantity.Length> unit) Formats the input value for the physical size in Z into a length of the given unit.- Parameters:
value- the value of the physical size in Zunit- the unit of the physical size in Z- Returns:
- the physical size formatted as a
Length
-
getEmissionWavelength
-
getExcitationWavelength
-
getWavelength
-
getMaxFieldCount
-
getCutIn
-
getCutOut
-
getFontSize
-
createAngle
public static ome.units.quantity.Angle createAngle(Double value, ome.units.unit.Unit<ome.units.quantity.Angle> valueUnit) -
createAngle
public static ome.units.quantity.Angle createAngle(Integer value, ome.units.unit.Unit<ome.units.quantity.Angle> valueUnit) -
createAngle
public static <T extends ome.xml.model.primitives.PrimitiveNumber> ome.units.quantity.Angle createAngle(T value, ome.units.unit.Unit<ome.units.quantity.Angle> valueUnit) -
createElectricPotential
public static ome.units.quantity.ElectricPotential createElectricPotential(Double value, ome.units.unit.Unit<ome.units.quantity.ElectricPotential> valueUnit) -
createElectricPotential
public static ome.units.quantity.ElectricPotential createElectricPotential(Integer value, ome.units.unit.Unit<ome.units.quantity.ElectricPotential> valueUnit) -
createElectricPotential
public static <T extends ome.xml.model.primitives.PrimitiveNumber> ome.units.quantity.ElectricPotential createElectricPotential(T value, ome.units.unit.Unit<ome.units.quantity.ElectricPotential> valueUnit) -
createFrequency
public static ome.units.quantity.Frequency createFrequency(Double value, ome.units.unit.Unit<ome.units.quantity.Frequency> valueUnit) -
createFrequency
public static ome.units.quantity.Frequency createFrequency(Integer value, ome.units.unit.Unit<ome.units.quantity.Frequency> valueUnit) -
createFrequency
public static <T extends ome.xml.model.primitives.PrimitiveNumber> ome.units.quantity.Frequency createFrequency(T value, ome.units.unit.Unit<ome.units.quantity.Frequency> valueUnit) -
createPower
public static ome.units.quantity.Power createPower(Double value, ome.units.unit.Unit<ome.units.quantity.Power> valueUnit) -
createPower
public static ome.units.quantity.Power createPower(Integer value, ome.units.unit.Unit<ome.units.quantity.Power> valueUnit) -
createPower
public static <T extends ome.xml.model.primitives.PrimitiveNumber> ome.units.quantity.Power createPower(T value, ome.units.unit.Unit<ome.units.quantity.Power> valueUnit) -
createLength
public static ome.units.quantity.Length createLength(Double value, ome.units.unit.Unit<ome.units.quantity.Length> valueUnit) -
createLength
public static ome.units.quantity.Length createLength(Integer value, ome.units.unit.Unit<ome.units.quantity.Length> valueUnit) -
createLength
public static <T extends ome.xml.model.primitives.PrimitiveNumber> ome.units.quantity.Length createLength(T value, ome.units.unit.Unit<ome.units.quantity.Length> valueUnit) -
createPressure
public static ome.units.quantity.Pressure createPressure(Double value, ome.units.unit.Unit<ome.units.quantity.Pressure> valueUnit) -
createPressure
public static ome.units.quantity.Pressure createPressure(Integer value, ome.units.unit.Unit<ome.units.quantity.Pressure> valueUnit) -
createPressure
public static <T extends ome.xml.model.primitives.PrimitiveNumber> ome.units.quantity.Pressure createPressure(T value, ome.units.unit.Unit<ome.units.quantity.Pressure> valueUnit) -
createTemperature
public static ome.units.quantity.Temperature createTemperature(Double value, ome.units.unit.Unit<ome.units.quantity.Temperature> valueUnit) -
createTemperature
public static ome.units.quantity.Temperature createTemperature(Integer value, ome.units.unit.Unit<ome.units.quantity.Temperature> valueUnit) -
createTemperature
public static <T extends ome.xml.model.primitives.PrimitiveNumber> ome.units.quantity.Temperature createTemperature(T value, ome.units.unit.Unit<ome.units.quantity.Temperature> valueUnit) -
createTime
public static ome.units.quantity.Time createTime(Double value, ome.units.unit.Unit<ome.units.quantity.Time> valueUnit) -
createTime
public static ome.units.quantity.Time createTime(Integer value, ome.units.unit.Unit<ome.units.quantity.Time> valueUnit) -
createTime
public static <T extends ome.xml.model.primitives.PrimitiveNumber> ome.units.quantity.Time createTime(T value, ome.units.unit.Unit<ome.units.quantity.Time> valueUnit) -
parseLength
Parse a length composed of a value and an optional unit- Parameters:
s- a string composed of a positive value and an optional length unit- Returns:
- a
Lengthobject ornullif the string cannot be parsed
-
parseLength
Parse a length composed of a value and an optional unit- Parameters:
s- a string composed of a positive value and an optional length unitdefaultUnit- a default unit to use if not present in the string- Returns:
- a
Lengthobject ornullif the string cannot be parsed
-
getRequiredDirectories
Returns the maximum number of directories below the common parent of a list of file paths- Parameters:
files- a string array containing a list of file paths- Returns:
- the maximum number of directories under the common parent
-
canUsePrecompressedTiles
public static boolean canUsePrecompressedTiles(IFormatReader reader, IFormatWriter writer, int series, int resolution) throws FormatException, IOException Compare the given reader and writer at the specified series and resolution to see if pre-compressed tiles can be transferred directly from the reader to the writer.- Throws:
FormatExceptionIOException
-