javax.media.jai.operator
Class ThresholdDescriptor

java.lang.Object
  extended byjavax.media.jai.OperationDescriptorImpl
      extended byjavax.media.jai.operator.ThresholdDescriptor
All Implemented Interfaces:
OperationDescriptor, RegistryElementDescriptor, Serializable

public class ThresholdDescriptor
extends OperationDescriptorImpl

An OperationDescriptor describing the "Threshold" operation.

The Threshold operation takes one rendered image, and maps all the pixels of this image whose value falls within a specified range to a specified constant. The range is specified by a low value and a high value.

If the number of elements supplied via the "high", "low", and "constants" arrays are less than the number of bands of the source image, then the element from entry 0 is applied to all the bands. Otherwise, the element from a different entry is applied to its corresponding band.

The destination pixel values are defined by the pseudocode:

 lowVal = (low.length < dstNumBands) ?
          low[0] : low[b];
 highVal = (high.length < dstNumBands) ?
           high[0] : high[b];
 const = (constants.length < dstNumBands) ?
           constants[0] : constants[b];

 if (src[x][y][b] >= lowVal && src[x][y][b] <= highVal) {
     dst[x][y][b] = const;
 } else {
     dst[x][y][b] = src[x][y][b];
 }
 

Resource List
Name Value
GlobalName Threshold
LocalName Threshold
Vendor com.sun.media.jai
Description Maps the pixels whose value falls between a low value and a high value to a constant.
DocURL http://java.sun.com/products/java-media/jai/forDevelopers/jai-apidocs/javax/media/jai/operator/ThresholdDescriptor.html
Version 1.0
arg0Desc The low value.
arg1Desc The high value.
arg2Desc The constant the pixels are mapped to.

Parameter List
Name Class Type Default Value
low double[] NO_PARAMETER_DEFAULT
high double[] NO_PARAMETER_DEFAULT
constants double[] NO_PARAMETER_DEFAULT

See Also:
OperationDescriptor, Serialized Form

Field Summary
 
Fields inherited from class javax.media.jai.OperationDescriptorImpl
sourceNames, supportedModes
 
Fields inherited from interface javax.media.jai.OperationDescriptor
NO_PARAMETER_DEFAULT
 
Constructor Summary
ThresholdDescriptor()
          Constructor.
 
Method Summary
static RenderedOp create(RenderedImage source0, double[] low, double[] high, double[] constants, RenderingHints hints)
          Maps the pixels whose value falls between a low value and a high value to a constant.
static RenderableOp createRenderable(RenderableImage source0, double[] low, double[] high, double[] constants, RenderingHints hints)
          Maps the pixels whose value falls between a low value and a high value to a constant.
 boolean isRenderableSupported()
          Returns true since renderable operation is supported.
protected  boolean validateParameters(ParameterBlock args, StringBuffer msg)
          Validates input parameters.
 
Methods inherited from class javax.media.jai.OperationDescriptorImpl
arePropertiesSupported, getDefaultSourceClass, getDestClass, getDestClass, getInvalidRegion, getName, getNumParameters, getNumSources, getParamClasses, getParamDefaults, getParamDefaultValue, getParameterListDescriptor, getParamMaxValue, getParamMinValue, getParamNames, getPropertyGenerators, getPropertyGenerators, getRenderableDestClass, getRenderableSourceClasses, getResourceBundle, getResources, getSourceClasses, getSourceClasses, getSourceNames, getSupportedModes, isImmediate, isModeSupported, isRenderedSupported, makeDefaultSourceClassList, validateArguments, validateArguments, validateParameters, validateRenderableArguments, validateRenderableSources, validateSources, validateSources
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ThresholdDescriptor

public ThresholdDescriptor()
Constructor.

Method Detail

isRenderableSupported

public boolean isRenderableSupported()
Returns true since renderable operation is supported.

Specified by:
isRenderableSupported in interface OperationDescriptor
Overrides:
isRenderableSupported in class OperationDescriptorImpl
See Also:
OperationDescriptorImpl.isModeSupported(java.lang.String)

validateParameters

protected boolean validateParameters(ParameterBlock args,
                                     StringBuffer msg)
Validates input parameters.

Overrides:
validateParameters in class OperationDescriptorImpl
See Also:
OperationDescriptorImpl.validateParameters(java.lang.String, java.awt.image.renderable.ParameterBlock, java.lang.StringBuffer)

create

public static RenderedOp create(RenderedImage source0,
                                double[] low,
                                double[] high,
                                double[] constants,
                                RenderingHints hints)
Maps the pixels whose value falls between a low value and a high value to a constant.

Creates a ParameterBlockJAI from all supplied arguments except hints and invokes JAI.create(String,ParameterBlock,RenderingHints).

Parameters:
source0 - RenderedImage source 0.
low - The low value.
high - The high value.
constants - The constant the pixels are mapped to.
hints - The RenderingHints to use. May be null.
Returns:
The RenderedOp destination.
Throws:
IllegalArgumentException - if source0 is null.
IllegalArgumentException - if low is null.
IllegalArgumentException - if high is null.
IllegalArgumentException - if constants is null.
See Also:
JAI, ParameterBlockJAI, RenderedOp

createRenderable

public static RenderableOp createRenderable(RenderableImage source0,
                                            double[] low,
                                            double[] high,
                                            double[] constants,
                                            RenderingHints hints)
Maps the pixels whose value falls between a low value and a high value to a constant.

Creates a ParameterBlockJAI from all supplied arguments except hints and invokes JAI.createRenderable(String,ParameterBlock,RenderingHints).

Parameters:
source0 - RenderableImage source 0.
low - The low value.
high - The high value.
constants - The constant the pixels are mapped to.
hints - The RenderingHints to use. May be null.
Returns:
The RenderableOp destination.
Throws:
IllegalArgumentException - if source0 is null.
IllegalArgumentException - if low is null.
IllegalArgumentException - if high is null.
IllegalArgumentException - if constants is null.
See Also:
JAI, ParameterBlockJAI, RenderableOp