Class JAIUtils

java.lang.Object
org.esa.snap.core.util.jai.JAIUtils

public class JAIUtils extends Object
A collection of global JAI functions allowing a type-safe usage of various JAI imaging operators.
  • Constructor Details

    • JAIUtils

      public JAIUtils()
  • Method Details

    • setDefaultTileCacheCapacity

      public static void setDefaultTileCacheCapacity(int megabytes)
      Sets the memory capacity of the default tile cache in megabytes
      Parameters:
      megabytes - the memory capacity in megabytes
    • createTileFormatOp

      public static javax.media.jai.RenderedOp createTileFormatOp(RenderedImage img, int tileWidth, int tileHeight)
    • createTiledImage

      public static javax.media.jai.TiledImage createTiledImage(float[] data, int width, int height)
    • createTiledImage

      public static javax.media.jai.TiledImage createTiledImage(float[][] data, int width, int height, int numBands)
    • createTiledImage

      public static javax.media.jai.TiledImage createTiledImage(Raster raster)
      Creates a tiled image from the supplied raster. Note that this method allocates a new raster for the tiled image returned. The data of the given raster is then copied into the new one.
    • createPlanarImage

      public static javax.media.jai.PlanarImage createPlanarImage(WritableRaster raster)
    • createColorToGrayOp

      public static javax.media.jai.RenderedOp createColorToGrayOp(RenderedImage src)
      Use this method to scale an CS_sRGB into a grayscale Image (CS_GRAY)
    • getExtrema

      public static double[][] getExtrema(RenderedImage src)
    • getExtrema

      public static double[] getExtrema(RenderedImage src, double[] extrema)
    • createScaleOp

      public static javax.media.jai.RenderedOp createScaleOp(RenderedImage src, double xScale, double yScale, double xTrans, double yTrans, javax.media.jai.Interpolation ip)
    • createRectifyOp

      public static javax.media.jai.RenderedOp createRectifyOp(RenderedImage src, int degree, RectificationGrid grid, javax.media.jai.Interpolation interp)
    • createRescaleOp

      public static javax.media.jai.RenderedOp createRescaleOp(RenderedImage src, double scale, double offset)
    • createFormatOp

      public static javax.media.jai.RenderedOp createFormatOp(RenderedImage src, int dataType)
    • createClampOp

      public static javax.media.jai.RenderedOp createClampOp(RenderedImage src, double minValue, double maxValue)
    • createLookupOp

      public static javax.media.jai.RenderedOp createLookupOp(RenderedImage src, byte[][] lookupTable)
    • createLogOp

      public static javax.media.jai.RenderedOp createLogOp(RenderedImage src)
    • createExpOp

      public static javax.media.jai.RenderedOp createExpOp(RenderedImage src)
    • createNullOp

      public static javax.media.jai.RenderedOp createNullOp(RenderingHints rh)
    • createRotateOp

      public static javax.media.jai.RenderedOp createRotateOp(RenderedImage src, double xOrigin, double yOrigin, double angle)
    • createByteCastOp

      public static javax.media.jai.RenderedOp createByteCastOp(RenderedImage src)
    • createShortCastOp

      public static javax.media.jai.RenderedOp createShortCastOp(RenderedImage src)
    • createUShortCastOp

      public static javax.media.jai.RenderedOp createUShortCastOp(RenderedImage src)
    • createIntCastOp

      public static javax.media.jai.RenderedOp createIntCastOp(RenderedImage src)
    • createStretchOp

      public static javax.media.jai.RenderedOp createStretchOp(RenderedImage src, double minValue, double maxValue)
    • createStretchOp

      public static javax.media.jai.RenderedOp createStretchOp(RenderedImage src, double minValueOld, double maxValueOld, double minValueNew, double maxValueNew)
    • createValueToIndexOp

      public static javax.media.jai.RenderedOp createValueToIndexOp(RenderedImage src, double minValue, double maxValue, int numIndices)
    • createValueToIndexOp

      public static javax.media.jai.RenderedOp createValueToIndexOp(RenderedImage src, int numIndices)
    • createPaletteOp

      public static javax.media.jai.PlanarImage createPaletteOp(RenderedImage src, byte[] r, byte[] g, byte[] b)
    • createWindowLevelImage

      public static javax.media.jai.PlanarImage createWindowLevelImage(RenderedImage image, double window, double level)
      Returns a rescaled version of the given source image in the range
          low  = level - window / 2
          high = level + window / 2
       

      The image returned is always of type 'byte' and has the same number of bands as the source image.

      Parameters:
      image - the source image, can be of any type
      window - the range window
      level - the range level
      Returns:
      a rescaled version of the source image
    • createRescaledImage

      public static javax.media.jai.PlanarImage createRescaledImage(RenderedImage image, double low, double high)
      Returns a rescaled version of the given source image in the given sample value range.

      The image returned is always of type 'byte' and has the same number of bands as the source image.

      Parameters:
      image - the source image, can be of any type
      low - the minimum value of the range
      high - the maximum value of the range
      Returns:
      a rescaled version of the source image
    • getHistogramOf

      public static javax.media.jai.Histogram getHistogramOf(javax.media.jai.PlanarImage sourceImage)
      Retrieves the histogram (if any) of the given image.
    • getNativeMinMaxOf

      public static double[] getNativeMinMaxOf(javax.media.jai.PlanarImage sourceImage, double[] minmax)
      Returns an array containing the minimum and maximum value of the native data type used to store pixel values in the given image.
    • createHistogramImage

      public static javax.media.jai.RenderedOp createHistogramImage(javax.media.jai.PlanarImage sourceImage, int binCount)
      Creates an image with a histogram attached to it. The actual histogram instance can be optained via the getHistogramOf() method.
    • createHistogramImage

      public static javax.media.jai.RenderedOp createHistogramImage(javax.media.jai.PlanarImage sourceImage, int binCount, double minValue, double maxValue)
      Creates an image with a histogram attached to it. The actual histogram instance can be optained via the getHistogramOf() method.
    • createHistogramEqualizedImage

      public static javax.media.jai.RenderedOp createHistogramEqualizedImage(javax.media.jai.PlanarImage sourceImage)
      Creates an equalization CDF image.
    • createHistogramNormalizedImage

      public static javax.media.jai.RenderedOp createHistogramNormalizedImage(javax.media.jai.PlanarImage sourceImage)
      Creates a normalization CDF image.
      Parameters:
      sourceImage - the image to normalze
      Returns:
      the normalized image
    • createHistogramNormalizedImage

      public static javax.media.jai.RenderedOp createHistogramNormalizedImage(javax.media.jai.PlanarImage sourceImage, double[] mean, double[] stdDev)
      Creates a normalization CDF image.
      Parameters:
      sourceImage - The image to normalize
      mean - The mean values for each band of the image.
      stdDev - The standard deviation for each band of the image.
      Returns:
      the normalized image
    • createAlphaOverlay

      public static javax.media.jai.PlanarImage createAlphaOverlay(javax.media.jai.PlanarImage baseImage, javax.media.jai.PlanarImage alphaImage, Color color)
    • createColorLookupTable

      public static javax.media.jai.LookupTableJAI createColorLookupTable(IndexColorModel icm)
    • computePreferredTileSize

      public static Dimension computePreferredTileSize(int imageWidth, int imageHeight, int granularity)
    • computePreferredTileSize

      public static int computePreferredTileSize(int imageSize, int granularity)
    • createMapping2

      public static javax.media.jai.PlanarImage createMapping2(RenderedImage sourceImage, IntMap indexMap)
    • createIndexedImage

      public static javax.media.jai.PlanarImage createIndexedImage(RenderedImage sourceImage, IntMap intMap, int undefinedIndex)