javax.media.jai.operator
Class DivideDescriptor

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

public class DivideDescriptor
extends OperationDescriptorImpl

An OperationDescriptor describing the "Divide" operation.

The Divide operation takes two rendered or renderable images, and for every pair of pixels, one from each source image of the corresponding position and band, divides the pixel from the first source by the pixel from the second source. No additional parameters are required for this operation.

In case of division by 0, if the numerator is 0, then the result is set to 0; otherwise, the result is set to the maximum value supported by the destination data type.

The two source images may have different number of bands and data types. By default, the destination image bound is the intersection of the two source image bounds. If the two sources don't intersect, the destination will have a width and a height of 0.

The default number of bands of the destination image is the same as the least number of bands of the sources, and the data type is the biggest data type of the sources.

As a special case, if one of the source images has N bands (N > 1), the other source has 1 band, and an ImageLayout hint is provided containing a destination SampleModel with K bands (1 < K <= N), then the single band of the 1-banded source will be divided by or into to each of the first K bands of the N-band source.

If the result of the operation underflows/overflows the minimum/maximum value supported by the destination data type, then it will be clamped to the minimum/maximum value respectively.

The destination pixel values are defined by the pseudocode:

 dst[x][y][dstBand] = srcs[0][x][y][src0Band]/srcs[1][x][y][src1Band];
 

Resource List
Name Value
GlobalName divide
LocalName divide
Vendor com.sun.media.jai
Description Dividies one image by another image.
DocURL http://java.sun.com/products/java-media/jai/forDevelopers/jai-apidocs/javax/media/jai/operator/DivideDescriptor.html
Version 1.0

No parameters are needed for this operation.

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
DivideDescriptor()
          Constructor.
 
Method Summary
static RenderedOp create(RenderedImage source0, RenderedImage source1, RenderingHints hints)
          Divides one image by another image.
static RenderableOp createRenderable(RenderableImage source0, RenderableImage source1, RenderingHints hints)
          Divides one image by another image.
 boolean isRenderableSupported()
          Returns true since renderable operation is supported.
 
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, 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

DivideDescriptor

public DivideDescriptor()
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)

create

public static RenderedOp create(RenderedImage source0,
                                RenderedImage source1,
                                RenderingHints hints)
Divides one image by another image.

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

Parameters:
source0 - RenderedImage source 0.
source1 - RenderedImage source 1.
hints - The RenderingHints to use. May be null.
Returns:
The RenderedOp destination.
Throws:
IllegalArgumentException - if source0 is null.
IllegalArgumentException - if source1 is null.
See Also:
JAI, ParameterBlockJAI, RenderedOp

createRenderable

public static RenderableOp createRenderable(RenderableImage source0,
                                            RenderableImage source1,
                                            RenderingHints hints)
Divides one image by another image.

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

Parameters:
source0 - RenderableImage source 0.
source1 - RenderableImage source 1.
hints - The RenderingHints to use. May be null.
Returns:
The RenderableOp destination.
Throws:
IllegalArgumentException - if source0 is null.
IllegalArgumentException - if source1 is null.
See Also:
JAI, ParameterBlockJAI, RenderableOp