ptolemy.actor.lib.jai
Class JAIDFT
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.JAIDFT
- 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 JAIDFT
- extends Transformer
Calculate the discrete Fourier transform of an image. If the input
is real, then the output has twice as many bands as the input (the
dataNature parameter should be set to realToComplex). Band 0
in the input gets mapped to bands 0 and 1 in the output (band 0
contains the real information, band 1 contains the imaginary
information). Band 1 in the input gets mapped to bands 1 and 2, etc.
If the input is complex, then the output has the same amount of bands
as the input (the dataNature parameter should be set to
"complexToComplex", "complexToReal should never be used").
The image is zero-padded to the next highest power of 2 (unless it
already is a power of 2, in which case nothing happens).
The output of this actor may not be suitable for displaying or saving
because of the increase in the number of bands, as well as the high
resolution of the data (doubles).
- Since:
- Ptolemy II 3.0
- Version:
- $Id: JAIDFT.java 57040 2010-01-27 20:52:32Z cxh $
- Author:
- James Yeh
- See Also:
JAIIDFT
,
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 |
JAIDFT(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 realToComplex. If the input is
complex, then complexToComplex should be used. The
setting complexToReal should probably not be used.
scalingType
public StringAttribute scalingType
- The scaling to be done on the output. There are three options,
none (the default, does no scaling), unitary
(multiplies by square root of the product of the dimensions),
and dimensions (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
JAIDFT
public JAIDFT(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 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.