ptolemy.actor.lib.jai
Class JAIIDFT
java.lang.Object
ptolemy.kernel.util.NamedObj
ptolemy.kernel.InstantiableNamedObj
ptolemy.kernel.Entity
ptolemy.kernel.ComponentEntity
ptolemy.actor.AtomicActor
ptolemy.actor.TypedAtomicActor
ptolemy.actor.lib.Transformer
ptolemy.actor.lib.jai.JAIIDFT
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, Actor, Executable, FiringsRecordable, Initializable, TypedActor, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable
public class JAIIDFT
- extends Transformer
Calculate the inverse discrete Fourier transform of an image. If the
input is complex, there are two options. One is to set the dataNature
parameter to complexToReal (the default). The output would have
half the bands of the input (bands 0 and 1 get transformed into band 0,
bands 2 and 3 would get transformed into band 1, etc.), and could be
display or saved after passing through a JAIDataConvert
actor.
The other option would be to set it to complexToComplex, in which
case the output would have the same number of bands as the input.
If the input is real, the only option is to set the dataNature parameter
to realToComplex. An alternative to this would be to create a
complex image from this real image by using the real image as a magnitude
image, and creating a phase image of all 0's, and making a complex image
using the JAIPolarToComplex actor.
The data of the output is of a high resolution (doubles), not suitable
for displaying or saving. To display or save the output of this image,
use the JAIDataConvert Actor to cast the data to an appropriate type
(for instance, byte).
- Since:
- Ptolemy II 3.1
- Version:
- $Id: JAIIDFT.java 57040 2010-01-27 20:52:32Z cxh $
- Author:
- James Yeh
- See Also:
JAIDataConvert
,
JAIDFT
,
Serialized Form
- Accepted Rating:
- Proposed Rating:
Fields inherited from class ptolemy.kernel.util.NamedObj |
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS |
Constructor Summary |
JAIIDFT(CompositeEntity container,
java.lang.String name)
Construct an actor with the given container and name. |
Methods inherited from class ptolemy.actor.AtomicActor |
_actorFiring, _actorFiring, addActorFiringListener, addInitializable, clone, connectionsChanged, createReceivers, declareDelayDependency, getCausalityInterface, getDirector, getExecutiveDirector, getManager, initialize, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, postfire, prefire, preinitialize, pruneDependencies, recordFiring, removeActorFiringListener, removeDependency, removeInitializable, setContainer, stop, stopFire, terminate, wrapup |
Methods inherited from class ptolemy.kernel.ComponentEntity |
_adjustDeferrals, _checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, isAtomic, isOpaque, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, propagateExistence, setName |
Methods inherited from class ptolemy.kernel.Entity |
_description, _exportMoMLContents, _removePort, _validateSettables, connectedPortList, connectedPorts, containedObjectsIterator, getAttribute, getPort, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts, setClassDefinition, uniqueName |
Methods inherited from class ptolemy.kernel.util.NamedObj |
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _debug, _debug, _debug, _debug, _debug, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _propagateValue, _recordDecoratedAttributes, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, attributeList, attributeList, deepContains, depthInHierarchy, description, description, event, executeChangeRequests, exportMoML, exportMoML, exportMoML, exportMoML, exportMoMLPlain, getAttribute, getAttributes, getChangeListeners, getClassName, getDecoratorAttribute, getDecoratorAttributes, getDerivedLevel, getDerivedList, getDisplayName, getFullName, getModelErrorHandler, getName, getName, getSource, handleModelError, isDeferringChangeRequests, isOverridden, isPersistent, lazyContainedObjectsIterator, message, propagateValue, propagateValues, removeChangeListener, removeDebugListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, validateSettables, workspace |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
dataNature
public StringAttribute dataNature
- A parameter that describes the nature of the input and output
data. The default is complexToReal (so that the output
can be saved and/or displayed after putting it through the
actor
. The setting
complexToComplex can also be used. The setting
realToComplex should probably not be used.
scalingType
public StringAttribute scalingType
- The scaling to be done on the output. There are three options,
none (does no scaling), unitary (multiplies by
square root of the product of the dimensions), and
dimensions (the default, multiplies by the product of the
dimensions). In a DFT-IDFT chain, the overall scaling should
equal the product of the dimensions.
_dataNature
private int _dataNature
- An indicator for the type of data being inputted and the type
of data being outputted.
_scalingType
private int _scalingType
- An indicator for the type of scaling done
_COMPLEX_TO_COMPLEX
private static final int _COMPLEX_TO_COMPLEX
- Constants used for more efficient computation
- See Also:
- Constant Field Values
_COMPLEX_TO_REAL
private static final int _COMPLEX_TO_REAL
- See Also:
- Constant Field Values
_REAL_TO_COMPLEX
private static final int _REAL_TO_COMPLEX
- See Also:
- Constant Field Values
_DIMENSIONS
private static final int _DIMENSIONS
- See Also:
- Constant Field Values
_NONE
private static final int _NONE
- See Also:
- Constant Field Values
_UNITARY
private static final int _UNITARY
- See Also:
- Constant Field Values
JAIIDFT
public JAIIDFT(CompositeEntity container,
java.lang.String name)
throws IllegalActionException,
NameDuplicationException
- Construct an actor with the given container and name.
- Parameters:
container
- The container.name
- The name of this actor.
- Throws:
IllegalActionException
- If the actor cannot be contained
by the proposed container.
NameDuplicationException
- If the container already has an
actor with this name.
attributeChanged
public void attributeChanged(Attribute attribute)
throws IllegalActionException
- Override the base class and set the parameters.
- Overrides:
attributeChanged
in class NamedObj
- Parameters:
attribute
- The attribute that changed.
- Throws:
IllegalActionException
- If the function is not recognized.
fire
public void fire()
throws IllegalActionException
- Fire this actor.
Output the inverse discrete Fourier transform of the inputted
image.
- Specified by:
fire
in interface Executable
- Overrides:
fire
in class AtomicActor
- Throws:
IllegalActionException
- If a contained method throws it,
or if there is an invalid scaling type, or an invalid data nature
set.