Package loci.formats

Class FormatTools

java.lang.Object
loci.formats.FormatTools

public final class FormatTools extends Object
A utility class for format reader and writer implementations.
  • Field Details

    • LOGGER

      protected static final Logger LOGGER
    • INT8

      public static final int INT8
      Identifies the INT8 data type used to store pixel values.
      See Also:
    • UINT8

      public static final int UINT8
      Identifies the UINT8 data type used to store pixel values.
      See Also:
    • INT16

      public static final int INT16
      Identifies the INT16 data type used to store pixel values.
      See Also:
    • UINT16

      public static final int UINT16
      Identifies the UINT16 data type used to store pixel values.
      See Also:
    • INT32

      public static final int INT32
      Identifies the INT32 data type used to store pixel values.
      See Also:
    • UINT32

      public static final int UINT32
      Identifies the UINT32 data type used to store pixel values.
      See Also:
    • FLOAT

      public static final int FLOAT
      Identifies the FLOAT data type used to store pixel values.
      See Also:
    • DOUBLE

      public static final int DOUBLE
      Identifies the DOUBLE data type used to store pixel values.
      See Also:
    • BIT

      public static final int BIT
      Identifies the BIT data type used to store pixel values.
      See Also:
    • CHANNEL

      public static final String CHANNEL
      Identifies the Channel dimensional type, representing a generic channel dimension.
      See Also:
    • SPECTRA

      public static final String SPECTRA
      Identifies the Spectra dimensional type, representing a dimension consisting of spectral channels.
      See Also:
    • LIFETIME

      public static final String LIFETIME
      Identifies the Lifetime dimensional type, representing a dimension consisting of a lifetime histogram.
      See Also:
    • POLARIZATION

      public static final String POLARIZATION
      Identifies the Polarization dimensional type, representing a dimension consisting of polarization states.
      See Also:
    • PHASE

      public static final String PHASE
      Identifies the Phase dimensional type, representing a dimension consisting of phases.
      See Also:
    • FREQUENCY

      public static final String FREQUENCY
      Identifies the Frequency dimensional type, representing a dimension consisting of frequencies.
      See Also:
    • ROTATION

      public static final String ROTATION
      Identifies the Rotation dimensional type, representing a dimension consisting of rotations.
      See Also:
    • ILLUMINATION

      public static final String ILLUMINATION
      Identifies the Illumination dimensional type, representing a dimension consisting of illuminations.
      See Also:
    • MUST_GROUP

      public static final int MUST_GROUP
      File 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

      public static final String SERIES_NUM
      Patterns to be used when constructing a pattern for output filenames.
      See Also:
    • SERIES_NAME

      public static final String SERIES_NAME
      See Also:
    • CHANNEL_NUM

      public static final String CHANNEL_NUM
      See Also:
    • CHANNEL_NAME

      public static final String CHANNEL_NAME
      See Also:
    • Z_NUM

      public static final String Z_NUM
      See Also:
    • T_NUM

      public static final String T_NUM
      See Also:
    • TIMESTAMP

      public static final String TIMESTAMP
      See Also:
    • TILE_X

      public static final String TILE_X
      See Also:
    • TILE_Y

      public static final String TILE_Y
      See Also:
    • TILE_NUM

      public static final String TILE_NUM
      See Also:
    • VERSION_PROPERTIES

      public static final Properties VERSION_PROPERTIES
    • VCS_REVISION

      public static final String VCS_REVISION
      Current VCS revision.
    • VCS_SHORT_REVISION

      @Deprecated public static final String VCS_SHORT_REVISION
      Deprecated.
      Use the general VCS_REVISION field.
      Current VCS revision (short form).
    • DATE

      public static final String DATE
      Date on which this release was built.
    • YEAR

      public static final String YEAR
      Year in which this release was built.
    • VERSION

      public static final String VERSION
      Version number of this release.
    • CREATOR

      public static final String CREATOR
      Value to use when setting creator/software fields in exported files.
    • PROPERTY_FILE

      @Deprecated public static final String PROPERTY_FILE
      Deprecated.
      The property file is no longer used.
    • HCS_DOMAIN

      public static final String HCS_DOMAIN
      Identifies the high content screening domain.
      See Also:
    • LM_DOMAIN

      public static final String LM_DOMAIN
      Identifies the light microscopy domain.
      See Also:
    • EM_DOMAIN

      public static final String EM_DOMAIN
      Identifies the electron microscopy domain.
      See Also:
    • SPM_DOMAIN

      public static final String SPM_DOMAIN
      Identifies the scanning probe microscopy domain.
      See Also:
    • SEM_DOMAIN

      public static final String SEM_DOMAIN
      Identifies the scanning electron microscopy domain.
      See Also:
    • FLIM_DOMAIN

      public static final String FLIM_DOMAIN
      Identifies the fluorescence-lifetime domain.
      See Also:
    • MEDICAL_DOMAIN

      public static final String MEDICAL_DOMAIN
      Identifies the medical imaging domain.
      See Also:
    • HISTOLOGY_DOMAIN

      public static final String HISTOLOGY_DOMAIN
      Identifies the histology domain.
      See Also:
    • GEL_DOMAIN

      public static final String GEL_DOMAIN
      Identifies the gel and blot imaging domain.
      See Also:
    • ASTRONOMY_DOMAIN

      public static final String ASTRONOMY_DOMAIN
      Identifies the astronomy domain.
      See Also:
    • GRAPHICS_DOMAIN

      public static final String GRAPHICS_DOMAIN
      Identifies the graphics domain. This includes formats used exclusively by analysis software.
      See Also:
    • UNKNOWN_DOMAIN

      public static final String UNKNOWN_DOMAIN
      Identifies an unknown domain.
      See Also:
    • NON_GRAPHICS_DOMAINS

      public static final String[] NON_GRAPHICS_DOMAINS
      List of non-graphics domains.
    • NON_HCS_DOMAINS

      public static final String[] NON_HCS_DOMAINS
      List of non-HCS domains.
    • NON_SPECIAL_DOMAINS

      public static final String[] NON_SPECIAL_DOMAINS
      List of domains that do not require special handling. Domains that require special handling are GRAPHICS_DOMAIN and HCS_DOMAIN.
    • ALL_DOMAINS

      public static final String[] ALL_DOMAINS
      List of all supported domains.
    • URL_BIO_FORMATS

      public static final String URL_BIO_FORMATS
      URL of Bio-Formats web page.
      See Also:
    • URL_BIO_FORMATS_LIBRARIES

      public static final String URL_BIO_FORMATS_LIBRARIES
      URL of 'Bio-Formats as a Java Library' web page.
    • URL_OME_TIFF

      public static final String URL_OME_TIFF
      URL of OME-TIFF web page.
      See Also:
  • Method Details

    • getIndex

      public 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).
    • 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

      public static int[] getZCTCoords(IFormatReader reader, int index)
      Gets the Z, C and T coordinates corresponding to the given rasterized index value (real sizes).
    • getZCTModuloCoords

      public 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). 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

      public 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).
      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 as
      invalid reference
      DimensionSwapper
      does).
      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 as
      invalid reference
      DimensionSwapper
      does).
      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 dimension
      pos - 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 dimension
      raster - 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 dimension
      raster - rasterized index value
      pos - 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

      public static int pixelTypeFromString(String pixelTypeAsString)
      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

      public static String getPixelTypeString(int pixelType)
      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 from IFormatReader.getPixelType().
      Returns:
      the number of bytes per pixel.
      See Also:
    • getBytesPerPixel

      public static int getBytesPerPixel(String pixelType)
      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

      public static boolean isFloatingPoint(IFormatReader reader)
      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 from IFormatReader.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 from IFormatReader.getPixelType().
      Returns:
      true if the pixel type is signed.
      See Also:
    • pixelTypeFromBytes

      public static int pixelTypeFromBytes(int bytes, boolean signed, boolean fp) throws FormatException
      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

      public static void assertId(String currentId, boolean notNull, int depth)
      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

      public static void checkPlaneNumber(IFormatReader r, int no) throws FormatException
      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

      public static void checkBufferSize(IFormatReader r, int len) throws FormatException
      Throws:
      FormatException
    • checkBufferSize

      public static void checkBufferSize(IFormatReader r, int len, int w, int h) throws FormatException
      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(RandomAccessInputStream stream, int len, boolean littleEndian) throws IOException
      Returns true if the given RandomAccessInputStream conatins at least 'len' bytes.
      Throws:
      IOException
    • getPlaneSize

      public static int getPlaneSize(IFormatReader r)
      Returns the size in bytes of a single plane.
    • getPlaneSize

      public static int getPlaneSize(IFormatReader r, int w, int h)
      Returns the size in bytes of a w * h tile.
    • getTileFilename

      public static String getTileFilename(int tileX, int tileY, int tileIndex, String pattern)
    • 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:
      FormatException
      IOException
    • getFilenames

      public static String[] getFilenames(String pattern, IFormatReader r) throws FormatException, IOException
      Throws:
      FormatException
      IOException
    • getImagesPerFile

      public static int getImagesPerFile(String pattern, IFormatReader r) throws FormatException, IOException
      Throws:
      FormatException
      IOException
    • getReader

      public static IFormatReader getReader(IFormatReader r, Class<? extends IFormatReader> c)
      Recursively look for the first underlying reader that is an instance of the given class.
    • equalReaders

      public static boolean equalReaders(IFormatReader a, IFormatReader b)
      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 for 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.
      Throws:
      FormatException
      IOException
    • getWellName

      public static String getWellName(int row, int col)
      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 0
      col - the well column index, starting from 0
      Returns:
      a well name of the format described above
    • getWellRowName

      public static String getWellRowName(int row)
      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

      public static void convert(String input, String output) throws FormatException, IOException
      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 file
      output - 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

      public static boolean isPositiveValue(Double value)
    • getWavelength

      public static Length getWavelength(Double value, String unit)
      Formats the input value for the wavelength into a length of the given unit.
      Parameters:
      value - the value of the wavelength
      unit - the unit of the wavelength. If null will default to Nanometre
      Returns:
      the wavelength formatted as a Length
    • getTime

      public static Time getTime(Double value, String unit)
      Formats the input value for the time into a length of the given unit.
      Parameters:
      value - the value of the time
      unit - the unit of the time. If null will default to Seconds
      Returns:
      the wavelength formatted as a Length
    • getStagePosition

      public static Length getStagePosition(Double value, Unit<Length> unit)
      Formats the input value for the stage position into a length of the given unit.
      Parameters:
      value - the value of the stage position
      unit - the unit of the stage position
      Returns:
      the stage position formatted as a Length. Returns null if value is null or infinite or unit is null.
    • getStagePosition

      public static Length getStagePosition(Double value, String unit)
      Formats the input value for the stage position into a length of the given unit.
      Parameters:
      value - the value of the stage position
      unit - 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. Returns null under the same conditions as getStagePosition(Double, String).
    • getPhysicalSize

      public static Length getPhysicalSize(Double value, String unit)
    • getPhysicalSizeX

      public static Length getPhysicalSizeX(Double value)
      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

      public static Length getPhysicalSizeX(Double value, String 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 X
      unit - the unit of the physical size in X. If null, default to microns.
      Returns:
      the physical size formatted as a Length
    • getPhysicalSizeX

      public static Length getPhysicalSizeX(Double value, Unit<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 X
      unit - the unit of the physical size in X
      Returns:
      the physical size formatted as a Length
    • getPhysicalSizeY

      public static Length getPhysicalSizeY(Double value)
      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

      public static Length getPhysicalSizeY(Double value, String 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 Y
      unit - the unit of the physical size in Y. If null, default to microns.
      Returns:
      the physical size formatted as a Length
    • getPhysicalSizeY

      public static Length getPhysicalSizeY(Double value, Unit<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 Y
      unit - the unit of the physical size in Y
      Returns:
      the physical size formatted as a Length
    • getPhysicalSizeZ

      public static Length getPhysicalSizeZ(Double value)
      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

      public static Length getPhysicalSizeZ(Double value, String 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 Z
      unit - the unit of the physical size in Z. If null, default to microns.
      Returns:
      the physical size formatted as a Length
    • getPhysicalSizeZ

      public static Length getPhysicalSizeZ(Double value, Unit<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 Z
      unit - the unit of the physical size in Z
      Returns:
      the physical size formatted as a Length
    • getEmissionWavelength

      public static Length getEmissionWavelength(Double value)
    • getExcitationWavelength

      public static Length getExcitationWavelength(Double value)
    • getWavelength

      public static Length getWavelength(Double value)
    • getMaxFieldCount

      public static PositiveInteger getMaxFieldCount(Integer value)
    • getCutIn

      public static Length getCutIn(Double value)
    • getCutOut

      public static Length getCutOut(Double value)
    • getFontSize

      public static Length getFontSize(Integer value)
    • createAngle

      public static Angle createAngle(Double value, Unit<Angle> valueUnit)
    • createAngle

      public static Angle createAngle(Integer value, Unit<Angle> valueUnit)
    • createAngle

      public static <T extends PrimitiveNumber> Angle createAngle(T value, Unit<Angle> valueUnit)
    • createElectricPotential

      public static ElectricPotential createElectricPotential(Double value, Unit<ElectricPotential> valueUnit)
    • createElectricPotential

      public static ElectricPotential createElectricPotential(Integer value, Unit<ElectricPotential> valueUnit)
    • createElectricPotential

      public static <T extends PrimitiveNumber> ElectricPotential createElectricPotential(T value, Unit<ElectricPotential> valueUnit)
    • createFrequency

      public static Frequency createFrequency(Double value, Unit<Frequency> valueUnit)
    • createFrequency

      public static Frequency createFrequency(Integer value, Unit<Frequency> valueUnit)
    • createFrequency

      public static <T extends PrimitiveNumber> Frequency createFrequency(T value, Unit<Frequency> valueUnit)
    • createPower

      public static Power createPower(Double value, Unit<Power> valueUnit)
    • createPower

      public static Power createPower(Integer value, Unit<Power> valueUnit)
    • createPower

      public static <T extends PrimitiveNumber> Power createPower(T value, Unit<Power> valueUnit)
    • createLength

      public static Length createLength(Double value, Unit<Length> valueUnit)
    • createLength

      public static Length createLength(Integer value, Unit<Length> valueUnit)
    • createLength

      public static <T extends PrimitiveNumber> Length createLength(T value, Unit<Length> valueUnit)
    • createPressure

      public static Pressure createPressure(Double value, Unit<Pressure> valueUnit)
    • createPressure

      public static Pressure createPressure(Integer value, Unit<Pressure> valueUnit)
    • createPressure

      public static <T extends PrimitiveNumber> Pressure createPressure(T value, Unit<Pressure> valueUnit)
    • createTemperature

      public static Temperature createTemperature(Double value, Unit<Temperature> valueUnit)
    • createTemperature

      public static Temperature createTemperature(Integer value, Unit<Temperature> valueUnit)
    • createTemperature

      public static <T extends PrimitiveNumber> Temperature createTemperature(T value, Unit<Temperature> valueUnit)
    • createTime

      public static Time createTime(Double value, Unit<Time> valueUnit)
    • createTime

      public static Time createTime(Integer value, Unit<Time> valueUnit)
    • createTime

      public static <T extends PrimitiveNumber> Time createTime(T value, Unit<Time> valueUnit)
    • parseLength

      public static Length parseLength(String s)
      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 Length object or null if the string cannot be parsed
    • parseLength

      public static Length parseLength(String s, String defaultUnit)
      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
      defaultUnit - a default unit to use if not present in the string
      Returns:
      a Length object or null if the string cannot be parsed
    • getRequiredDirectories

      public static int getRequiredDirectories(String[] files)
      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:
      FormatException
      IOException