javax.media.jai.operator
Class MagnitudeSquaredDescriptor

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

public class MagnitudeSquaredDescriptor
extends OperationDescriptorImpl

An OperationDescriptor describing the "MagnitudeSquared" operation.

The "MagnitudeSquared" operation computes the squared magnitude or of each pixel of a complex image. The source image must have an even number of bands, with the even bands (0, 2, ...) representing the real parts and the odd bands (1, 3, ...) the imaginary parts of each complex pixel. The destination image has at most half the number of bands of the source image with each sample in a pixel representing the magnitude of the corresponding complex source sample. The magnitude squared values of the destination image are defined for a given sample by the pseudocode:

dstPixel[x][y][b] = src[x][y][2*b]^2 + src[x][y][2*b + 1]^2
where the number of bands b varies from zero to one less than the number of bands in the destination image.

For integral image datatypes, the result will be rounded and clamped as needed.

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

Resource List
Name Value
GlobalName MagnitudeSquared
LocalName MagnitudeSquared
Vendor com.sun.media.jai
Description Computes the squared magnitude of each pixel of a complex image.
DocURL http://java.sun.com/products/java-media/jai/forDevelopers/jai-apidocs/javax/media/jai/operator/MagnitudeSquaredDescriptor.html
Version 1.0

No parameters are needed for the "MagnitudeSquared" operation.

See Also:
OperationDescriptor, Serialized Form

Field Summary
 
Fields inherited from class javax.media.jai.OperationDescriptorImpl
sourceNames
 
Fields inherited from interface javax.media.jai.OperationDescriptor
NO_PARAMETER_DEFAULT
 
Constructor Summary
MagnitudeSquaredDescriptor()
          Constructor.
 
Method Summary
static RenderedOp create(RenderedImage source0, RenderingHints hints)
          Computes the squared magnitude of each pixel of a complex image.
static RenderableOp createRenderable(RenderableImage source0, RenderingHints hints)
          Computes the squared magnitude of each pixel of a complex image.
 PropertyGenerator[] getPropertyGenerators(String modeName)
          Returns an array of PropertyGenerators implementing property inheritance for the "MagnitudeSquared" operation.
protected  boolean validateSources(String modeName, ParameterBlock args, StringBuffer msg)
          Validates the input source.
 
Methods inherited from class javax.media.jai.OperationDescriptorImpl
arePropertiesSupported, getDefaultSourceClass, getDestClass, getDestClass, getInvalidRegion, getName, getNumParameters, getNumSources, getParamClasses, getParamDefaults, getParamDefaultValue, getParameterListDescriptor, getParamMaxValue, getParamMinValue, getParamNames, getPropertyGenerators, getRenderableDestClass, getRenderableSourceClasses, getResourceBundle, getResources, getSourceClasses, getSourceClasses, getSourceNames, getSupportedModes, isImmediate, isModeSupported, isRenderableSupported, isRenderedSupported, makeDefaultSourceClassList, validateArguments, validateArguments, validateParameters, validateParameters, validateRenderableArguments, validateRenderableSources, validateSources
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MagnitudeSquaredDescriptor

public MagnitudeSquaredDescriptor()
Constructor.

Method Detail

getPropertyGenerators

public PropertyGenerator[] getPropertyGenerators(String modeName)
Returns an array of PropertyGenerators implementing property inheritance for the "MagnitudeSquared" operation.

Specified by:
getPropertyGenerators in interface RegistryElementDescriptor
Overrides:
getPropertyGenerators in class OperationDescriptorImpl
Parameters:
modeName - the registry mode name
Returns:
An array of property generators.
See Also:
RegistryElementDescriptor

validateSources

protected boolean validateSources(String modeName,
                                  ParameterBlock args,
                                  StringBuffer msg)
Validates the input source.

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

Overrides:
validateSources in class OperationDescriptorImpl
Parameters:
modeName - the operation mode name
args - a ParameterBlock that has the sources
msg - A string that may contain error messages.
See Also:
OperationDescriptorImpl.validateArguments(java.lang.String, java.awt.image.renderable.ParameterBlock, java.lang.StringBuffer)

create

public static RenderedOp create(RenderedImage source0,
                                RenderingHints hints)
Computes the squared magnitude of each pixel of a complex image.

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

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

createRenderable

public static RenderableOp createRenderable(RenderableImage source0,
                                            RenderingHints hints)
Computes the squared magnitude of each pixel of a complex image.

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

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