Class JAIUtils


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

      Constructors 
      Constructor Description
      JAIUtils()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static java.awt.Dimension computePreferredTileSize​(int imageWidth, int imageHeight, int granularity)  
      static org.eclipse.imagen.PlanarImage createAlphaOverlay​(org.eclipse.imagen.PlanarImage baseImage, org.eclipse.imagen.PlanarImage alphaImage, java.awt.Color color)  
      static org.eclipse.imagen.RenderedOp createByteCastOp​(java.awt.image.RenderedImage src)  
      static org.eclipse.imagen.RenderedOp createClampOp​(java.awt.image.RenderedImage src, double minValue, double maxValue)  
      static org.eclipse.imagen.LookupTableJAI createColorLookupTable​(java.awt.image.IndexColorModel icm)  
      static org.eclipse.imagen.RenderedOp createColorToGrayOp​(java.awt.image.RenderedImage src)
      Use this method to scale an CS_sRGB into a grayscale Image (CS_GRAY)
      static org.eclipse.imagen.RenderedOp createExpOp​(java.awt.image.RenderedImage src)  
      static org.eclipse.imagen.RenderedOp createFormatOp​(java.awt.image.RenderedImage src, int dataType)  
      static org.eclipse.imagen.RenderedOp createHistogramEqualizedImage​(org.eclipse.imagen.PlanarImage sourceImage)
      Creates an equalization CDF image.
      static org.eclipse.imagen.RenderedOp createHistogramImage​(org.eclipse.imagen.PlanarImage sourceImage, int binCount)
      Creates an image with a histogram attached to it.
      static org.eclipse.imagen.RenderedOp createHistogramImage​(org.eclipse.imagen.PlanarImage sourceImage, int binCount, double minValue, double maxValue)
      Creates an image with a histogram attached to it.
      static org.eclipse.imagen.RenderedOp createHistogramNormalizedImage​(org.eclipse.imagen.PlanarImage sourceImage)
      Creates a normalization CDF image.
      static org.eclipse.imagen.RenderedOp createHistogramNormalizedImage​(org.eclipse.imagen.PlanarImage sourceImage, double[] mean, double[] stdDev)
      Creates a normalization CDF image.
      static org.eclipse.imagen.PlanarImage createIndexedImage​(java.awt.image.RenderedImage sourceImage, IntMap intMap, int undefinedIndex)  
      static org.eclipse.imagen.RenderedOp createIntCastOp​(java.awt.image.RenderedImage src)  
      static org.eclipse.imagen.RenderedOp createLogOp​(java.awt.image.RenderedImage src)  
      static org.eclipse.imagen.RenderedOp createLookupOp​(java.awt.image.RenderedImage src, byte[][] lookupTable)  
      static org.eclipse.imagen.PlanarImage createMapping2​(java.awt.image.RenderedImage sourceImage, IntMap indexMap)  
      static org.eclipse.imagen.RenderedOp createNullOp​(java.awt.RenderingHints rh)  
      static org.eclipse.imagen.PlanarImage createPaletteOp​(java.awt.image.RenderedImage src, byte[] r, byte[] g, byte[] b)  
      static org.eclipse.imagen.PlanarImage createPlanarImage​(java.awt.image.WritableRaster raster)  
      static org.eclipse.imagen.RenderedOp createRectifyOp​(java.awt.image.RenderedImage src, int degree, RectificationGrid grid, org.eclipse.imagen.Interpolation interp)  
      static org.eclipse.imagen.PlanarImage createRescaledImage​(java.awt.image.RenderedImage image, double low, double high)
      Returns a rescaled version of the given source image in the given sample value range.
      static org.eclipse.imagen.RenderedOp createRescaleOp​(java.awt.image.RenderedImage src, double scale, double offset)  
      static org.eclipse.imagen.RenderedOp createRotateOp​(java.awt.image.RenderedImage src, double xOrigin, double yOrigin, double angle)  
      static org.eclipse.imagen.RenderedOp createScaleOp​(java.awt.image.RenderedImage src, double xScale, double yScale, double xTrans, double yTrans, org.eclipse.imagen.Interpolation ip)  
      static org.eclipse.imagen.RenderedOp createShortCastOp​(java.awt.image.RenderedImage src)  
      static org.eclipse.imagen.RenderedOp createStretchOp​(java.awt.image.RenderedImage src, double minValue, double maxValue)  
      static org.eclipse.imagen.RenderedOp createStretchOp​(java.awt.image.RenderedImage src, double minValueOld, double maxValueOld, double minValueNew, double maxValueNew)  
      static org.eclipse.imagen.TiledImage createTiledImage​(float[][] data, int width, int height, int numBands)  
      static org.eclipse.imagen.TiledImage createTiledImage​(float[] data, int width, int height)  
      static org.eclipse.imagen.TiledImage createTiledImage​(java.awt.image.Raster raster)
      Creates a tiled image from the supplied raster.
      static org.eclipse.imagen.RenderedOp createTileFormatOp​(java.awt.image.RenderedImage img, int tileWidth, int tileHeight)  
      static org.eclipse.imagen.RenderedOp createUShortCastOp​(java.awt.image.RenderedImage src)  
      static org.eclipse.imagen.RenderedOp createValueToIndexOp​(java.awt.image.RenderedImage src, double minValue, double maxValue, int numIndices)  
      static org.eclipse.imagen.RenderedOp createValueToIndexOp​(java.awt.image.RenderedImage src, int numIndices)  
      static org.eclipse.imagen.PlanarImage createWindowLevelImage​(java.awt.image.RenderedImage image, double window, double level)
      Returns a rescaled version of the given source image in the range
      static double[][] getExtrema​(java.awt.image.RenderedImage src)  
      static double[] getExtrema​(java.awt.image.RenderedImage src, double[] extrema)  
      static org.eclipse.imagen.Histogram getHistogramOf​(org.eclipse.imagen.PlanarImage sourceImage)
      Retrieves the histogram (if any) of the given image.
      static double[] getNativeMinMaxOf​(org.eclipse.imagen.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.
      static void setDefaultTileCacheCapacity​(int megabytes)
      Sets the memory capacity of the default tile cache in megabytes
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • JAIUtils

        public JAIUtils()
    • Method Detail

      • 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 org.eclipse.imagen.RenderedOp createTileFormatOp​(java.awt.image.RenderedImage img,
                                                                       int tileWidth,
                                                                       int tileHeight)
      • createTiledImage

        public static org.eclipse.imagen.TiledImage createTiledImage​(float[] data,
                                                                     int width,
                                                                     int height)
      • createTiledImage

        public static org.eclipse.imagen.TiledImage createTiledImage​(float[][] data,
                                                                     int width,
                                                                     int height,
                                                                     int numBands)
      • createTiledImage

        public static org.eclipse.imagen.TiledImage createTiledImage​(java.awt.image.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 org.eclipse.imagen.PlanarImage createPlanarImage​(java.awt.image.WritableRaster raster)
      • createColorToGrayOp

        public static org.eclipse.imagen.RenderedOp createColorToGrayOp​(java.awt.image.RenderedImage src)
        Use this method to scale an CS_sRGB into a grayscale Image (CS_GRAY)
      • getExtrema

        public static double[][] getExtrema​(java.awt.image.RenderedImage src)
      • getExtrema

        public static double[] getExtrema​(java.awt.image.RenderedImage src,
                                          double[] extrema)
      • createScaleOp

        public static org.eclipse.imagen.RenderedOp createScaleOp​(java.awt.image.RenderedImage src,
                                                                  double xScale,
                                                                  double yScale,
                                                                  double xTrans,
                                                                  double yTrans,
                                                                  org.eclipse.imagen.Interpolation ip)
      • createRectifyOp

        public static org.eclipse.imagen.RenderedOp createRectifyOp​(java.awt.image.RenderedImage src,
                                                                    int degree,
                                                                    RectificationGrid grid,
                                                                    org.eclipse.imagen.Interpolation interp)
      • createRescaleOp

        public static org.eclipse.imagen.RenderedOp createRescaleOp​(java.awt.image.RenderedImage src,
                                                                    double scale,
                                                                    double offset)
      • createFormatOp

        public static org.eclipse.imagen.RenderedOp createFormatOp​(java.awt.image.RenderedImage src,
                                                                   int dataType)
      • createClampOp

        public static org.eclipse.imagen.RenderedOp createClampOp​(java.awt.image.RenderedImage src,
                                                                  double minValue,
                                                                  double maxValue)
      • createLookupOp

        public static org.eclipse.imagen.RenderedOp createLookupOp​(java.awt.image.RenderedImage src,
                                                                   byte[][] lookupTable)
      • createLogOp

        public static org.eclipse.imagen.RenderedOp createLogOp​(java.awt.image.RenderedImage src)
      • createExpOp

        public static org.eclipse.imagen.RenderedOp createExpOp​(java.awt.image.RenderedImage src)
      • createNullOp

        public static org.eclipse.imagen.RenderedOp createNullOp​(java.awt.RenderingHints rh)
      • createRotateOp

        public static org.eclipse.imagen.RenderedOp createRotateOp​(java.awt.image.RenderedImage src,
                                                                   double xOrigin,
                                                                   double yOrigin,
                                                                   double angle)
      • createByteCastOp

        public static org.eclipse.imagen.RenderedOp createByteCastOp​(java.awt.image.RenderedImage src)
      • createShortCastOp

        public static org.eclipse.imagen.RenderedOp createShortCastOp​(java.awt.image.RenderedImage src)
      • createUShortCastOp

        public static org.eclipse.imagen.RenderedOp createUShortCastOp​(java.awt.image.RenderedImage src)
      • createIntCastOp

        public static org.eclipse.imagen.RenderedOp createIntCastOp​(java.awt.image.RenderedImage src)
      • createStretchOp

        public static org.eclipse.imagen.RenderedOp createStretchOp​(java.awt.image.RenderedImage src,
                                                                    double minValue,
                                                                    double maxValue)
      • createStretchOp

        public static org.eclipse.imagen.RenderedOp createStretchOp​(java.awt.image.RenderedImage src,
                                                                    double minValueOld,
                                                                    double maxValueOld,
                                                                    double minValueNew,
                                                                    double maxValueNew)
      • createValueToIndexOp

        public static org.eclipse.imagen.RenderedOp createValueToIndexOp​(java.awt.image.RenderedImage src,
                                                                         double minValue,
                                                                         double maxValue,
                                                                         int numIndices)
      • createValueToIndexOp

        public static org.eclipse.imagen.RenderedOp createValueToIndexOp​(java.awt.image.RenderedImage src,
                                                                         int numIndices)
      • createPaletteOp

        public static org.eclipse.imagen.PlanarImage createPaletteOp​(java.awt.image.RenderedImage src,
                                                                     byte[] r,
                                                                     byte[] g,
                                                                     byte[] b)
      • createWindowLevelImage

        public static org.eclipse.imagen.PlanarImage createWindowLevelImage​(java.awt.image.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 org.eclipse.imagen.PlanarImage createRescaledImage​(java.awt.image.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 org.eclipse.imagen.Histogram getHistogramOf​(org.eclipse.imagen.PlanarImage sourceImage)
        Retrieves the histogram (if any) of the given image.
      • getNativeMinMaxOf

        public static double[] getNativeMinMaxOf​(org.eclipse.imagen.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 org.eclipse.imagen.RenderedOp createHistogramImage​(org.eclipse.imagen.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 org.eclipse.imagen.RenderedOp createHistogramImage​(org.eclipse.imagen.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 org.eclipse.imagen.RenderedOp createHistogramEqualizedImage​(org.eclipse.imagen.PlanarImage sourceImage)
        Creates an equalization CDF image.
      • createHistogramNormalizedImage

        public static org.eclipse.imagen.RenderedOp createHistogramNormalizedImage​(org.eclipse.imagen.PlanarImage sourceImage)
        Creates a normalization CDF image.
        Parameters:
        sourceImage - the image to normalze
        Returns:
        the normalized image
      • createHistogramNormalizedImage

        public static org.eclipse.imagen.RenderedOp createHistogramNormalizedImage​(org.eclipse.imagen.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 org.eclipse.imagen.PlanarImage createAlphaOverlay​(org.eclipse.imagen.PlanarImage baseImage,
                                                                        org.eclipse.imagen.PlanarImage alphaImage,
                                                                        java.awt.Color color)
      • createColorLookupTable

        public static org.eclipse.imagen.LookupTableJAI createColorLookupTable​(java.awt.image.IndexColorModel icm)
      • computePreferredTileSize

        public static java.awt.Dimension computePreferredTileSize​(int imageWidth,
                                                                  int imageHeight,
                                                                  int granularity)
      • createMapping2

        public static org.eclipse.imagen.PlanarImage createMapping2​(java.awt.image.RenderedImage sourceImage,
                                                                    IntMap indexMap)
      • createIndexedImage

        public static org.eclipse.imagen.PlanarImage createIndexedImage​(java.awt.image.RenderedImage sourceImage,
                                                                        IntMap intMap,
                                                                        int undefinedIndex)