javax.media.jai.operator
Class MultiplyComplexDescriptor

java.lang.Object
  |
  +--javax.media.jai.OperationDescriptorImpl
        |
        +--javax.media.jai.operator.MultiplyComplexDescriptor

public class MultiplyComplexDescriptor
extends OperationDescriptorImpl

An OperationDescriptor describing the "MultiplyComplex" operation.

The "MultiplyComplex" operation multiplies two images representing complex data. The source images must each contain an even number of bands with the even-indexed bands (0, 2, ...) representing the real and the odd-indexed bands (1, 3, ...) the imaginary parts of each pixel. The destination image similarly contains an even number of bands with the same interpretation and with contents defined by:

 a = src0[x][y][2*k];
 b = src0[x][y][2*k+1];
 c = src1[x][y][2*k];
 d = src1[x][y][2*k+1];

 dst[x][y][2*k]   = a*c - b*d;
 dst[x][y][2*k+1] = a*d + b*c;
 
where 0 <= k < numBands/2. With one exception, the number of bands of the destination image is the same as the minimum of the number of bands of the two sources, and the data type is the biggest data type of the sources. The exception occurs when one of the source images has two bands, the other source image has N = 2*K bands where K > 1, and an ImageLayout hint is provided containing a destination SampleModel which specifies M = 2*L bands for the destination image where L > 1 and L <= K. In this special case each of the first L complex components in the N-band source will be multiplied by the single complex component in the 1-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.

"MultiplyComplex" defines a PropertyGenerator that sets the "COMPLEX" property of the image to java.lang.Boolean.TRUE, which may be retrieved by calling the getProperty() method with "COMPLEX" as the property name.

Resource List
Name Value
GlobalName MultiplyComplex
LocalName MultiplyComplex
Vendor com.sun.media.jai
Description Computes the complex product of two images.
DocURL http://java.sun.com/products/java-media/jai/forDevelopers/jaiapi/
javax.media.jai.operator.MultiplyComplexDescriptor.html
Version 1.0

No parameters are needed for the "MultiplyComplex" operation.

See Also:
OperationDescriptor

Fields inherited from class javax.media.jai.OperationDescriptorImpl
paramClasses, paramDefaults, paramNames, renderableSourceClasses, resources, sourceClasses
 
Constructor Summary
MultiplyComplexDescriptor()
          Constructor.
 
Method Summary
 PropertyGenerator[] getPropertyGenerators()
          Returns an array of PropertyGenerators implementing property inheritance for the "MultiplyComplex" operation.
 boolean isRenderableSupported()
          Returns true since renderable operation is supported.
protected  boolean validateSources(java.awt.image.renderable.ParameterBlock args, java.lang.StringBuffer msg)
          Validates the input sources.
 
Methods inherited from class javax.media.jai.OperationDescriptorImpl
getDestClass, getName, getNumParameters, getNumSources, getParamClasses, getParamDefaults, getParamDefaultValue, getParamMaxValue, getParamMinValue, getParamNames, getRenderableDestClass, getRenderableSourceClasses, getResourceBundle, getResources, getSourceClasses, isImmediate, isRenderedSupported, validateArguments, validateParameters, validateRenderableArguments, validateRenderableSources
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MultiplyComplexDescriptor

public MultiplyComplexDescriptor()
Constructor.
Method Detail

isRenderableSupported

public boolean isRenderableSupported()
Returns true since renderable operation is supported.
Overrides:
isRenderableSupported in class OperationDescriptorImpl

validateSources

protected boolean validateSources(java.awt.image.renderable.ParameterBlock args,
                                  java.lang.StringBuffer msg)
Validates the input sources.

In addition to the standard checks performed by the superclass method, this method checks that the source images each have an even number of bands.

Overrides:
validateSources in class OperationDescriptorImpl

getPropertyGenerators

public PropertyGenerator[] getPropertyGenerators()
Returns an array of PropertyGenerators implementing property inheritance for the "MultiplyComplex" operation.
Returns:
An array of property generators.
Overrides:
getPropertyGenerators in class OperationDescriptorImpl



Casa de Bender