Contents | Package | Class | Tree | Deprecated | Index | Help Java 1.2 Beta 3
PREV | NEXT SHOW LISTS | HIDE LISTS

Class java.awt.image.ThresholdOp

java.lang.Object
    |
    +----java.awt.image.ThresholdOp

public class ThresholdOp
extends Object
implements BufferedImageOp, RasterOp
This class performs thresholding on the source image by mapping the value of each image component (for BufferedImages) or channel element (for Rasters) that falls between a low and a high value, to a constant.

For Rasters, the number of sets of threshold constants may be one, in which case the same constants are applied to all bands, or it must equal the number of Source Raster bands.

For BufferedImages, the number of low/high values may be one, in which case the same range is applied to all color and alpha components, or it must equal the number of Source color components, in which case no thresholding of the alpha component (if present) is performed, or it must equal the number of Source color components plus alpha components, in which case all color and alpha components are thresholded. Image with an IndexColorModel cannot be thresholded.

The pseudo code for the thresholding operation is as follows:

for each pixel from Source object {
    for each channel/component of the pixel {
        if (srcElement <= thresholdValue) {
            destElement = lowValue;
        }
        else {
            destElement = highValue;
        }
    }
}
 
Note that in-place operation is allowed (i.e. the source and destination can be the same object).


Constructor Summary
 ThresholdOp(int[] threshold, int[] low, int[] high)
Constructs a new ThresholdOp with the desired per channel/component mappings.
 ThresholdOp(int threshold, int low, int high)
Constructs a new ThresholdOp with the desired mapping.
 

Method Summary
BufferedImage  createCompatibleDestImage(BufferedImage src, ColorModel destCM)
Creates an empty destination image with the correct size and number of bands.
WritableRaster  createCompatibleDestRaster(Raster src)
Creates an empty destination Raster with the correct size and number of bands.
BufferedImage  filter(BufferedImage src, BufferedImage dst)
Performs thresholding on the BufferedImage.
WritableRaster  filter(Raster src, WritableRaster dst)
Performs thresholding on the Raster.
Rectangle2D  getDestBounds(BufferedImage src)
Returns the bounding box of the thresholded destination.
Rectangle2D  getDestBounds(Raster src)
Returns the bounding box of the thresholded destination.
Point2D  getDestPoint(Point2D srcPt, Point2D dstPt)
Returns the location of the destination point given a point in the source image.
int[]  getHighs()
Returns the high value array.
int[]  getLows()
Returns the low value array.
int[]  getThreshold()
Returns the threshold value.
 
Methods inherited from class java.lang.Object
 clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ThresholdOp

public ThresholdOp(int[] threshold,
                   int[] low,
                   int[] high)
Constructs a new ThresholdOp with the desired per channel/component mappings. The number of sets of mapping constants is subject to the restrictions given in the class comments above.

ThresholdOp

public ThresholdOp(int threshold,
                   int low,
                   int high)
Constructs a new ThresholdOp with the desired mapping. The same set of thresholding constants will be applied to all channels/components of the Raster/BufferedImage.
Method Detail

getThreshold

public final int[] getThreshold()
Returns the threshold value.

getLows

public final int[] getLows()
Returns the low value array.

getHighs

public final int[] getHighs()
Returns the high value array.

filter

public BufferedImage filter(BufferedImage src,
                            BufferedImage dst)
Performs thresholding on the BufferedImage. If the color model in the source image is not the same as that in the destination image, the pixels will be converted in the destination. If the destination image is null, a BufferedImage will be created with the source ColorModel. The number of sets of threshold constants in this object may be one, in which case the same constants are applied to all color and alpha components, or it must equal the number of Source color components, in which case no thresholding of the alpha component (if present) is performed, or it must equal the number of Source color components plus alpha components, in which case all color and alpha components are thresholded. Otherwise an IllegalArgumentException will be thrown.
Implements:
filter in interface BufferedImageOp

filter

public WritableRaster filter(Raster src,
                             WritableRaster dst)
Performs thresholding on the Raster. If the destination Raster is null, a new Raster will be created. The source and destination must have the same number of bands. The number of sets of threshold constants in this object may be one, in which case the same constants are applied to all bands, or it must equal the number of Source Raster bands. An IllegalArgumentException will be thrown if the number of bands in the source does not match the destination, or if the above restrictions on the number of sets of threshold constants are not met.
Implements:
filter in interface BufferedImageOp

getDestBounds

public Rectangle2D getDestBounds(BufferedImage src)
Returns the bounding box of the thresholded destination. Since this is not a geometric operation, the bounding box does not change. An IllegalArgumentException will be thrown if the number of sets of threshold constants does not meet the restrictions stated in the class comments above.
Implements:
getDestBounds in interface BufferedImageOp

getDestBounds

public Rectangle2D getDestBounds(Raster src)
Returns the bounding box of the thresholded destination. Since this is not a geometric operation, the bounding box does not change. An IllegalArgumentException will be thrown if the number of sets of threshold constants does not meet the restrictions stated in the class comments above.
Implements:
getDestBounds in interface BufferedImageOp

createCompatibleDestImage

public BufferedImage createCompatibleDestImage(BufferedImage src,
                                               ColorModel destCM)
Creates an empty destination image with the correct size and number of bands. An IllegalArgumentException will be thrown if the number of sets of threshold constants does not meet the restrictions stated in the class comments above.
Implements:
createCompatibleDestImage in interface BufferedImageOp
Parameters:
src - Source image for the filter operation.
destCM - ColorModel of the destination. If null, the ColorModel of the source will be used.

createCompatibleDestRaster

public WritableRaster createCompatibleDestRaster(Raster src)
Creates an empty destination Raster with the correct size and number of bands. An IllegalArgumentException will be thrown if the number of sets of threshold constants does not meet the restrictions stated in the class comments above.
Implements:
createCompatibleDestRaster in interface RasterOp

getDestPoint

public Point2D getDestPoint(Point2D srcPt,
                            Point2D dstPt)
Returns the location of the destination point given a point in the source image. If dstPt is non-null, it will be used to hold the return value. Since this is not a geometric operation, the srcPt will equal the dstPt.
Implements:
getDestPoint in interface BufferedImageOp

Contents | Package | Class | Tree | Deprecated | Index | Help Java 1.2 Beta 3
PREV | NEXT SHOW LISTS | HIDE LISTS

Submit a bug or feature
Submit comments/suggestions about new javadoc look.
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, California, 94303, U.S.A. All Rights Reserved.