ptolemy.actor.lib.jai
Class DoubleMatrixToJAI

java.lang.Object
  extended by ptolemy.kernel.util.NamedObj
      extended by ptolemy.kernel.InstantiableNamedObj
          extended by ptolemy.kernel.Entity
              extended by ptolemy.kernel.ComponentEntity
                  extended by ptolemy.actor.AtomicActor
                      extended by ptolemy.actor.TypedAtomicActor
                          extended by ptolemy.actor.lib.Transformer
                              extended by ptolemy.actor.lib.jai.DoubleMatrixToJAI
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 DoubleMatrixToJAI
extends Transformer

Converts a DoubleMatrix to a JAIImageToken. This JAIImageToken is a single-banded grayscale image. To assemble multiple band's into one image, use the BandCombine operator on each image and add them together.

If the data was previously normalized, then the data can be rescaled to whichever non-floating data type is chosen.

Since:
Ptolemy II 3.1
Version:
$Id: DoubleMatrixToJAI.java 57040 2010-01-27 20:52:32Z cxh $
Author:
James Yeh
See Also:
JAIBandCombine, JAIDataConvert, JAIToDoubleMatrix, Serialized Form
Accepted Rating:
Red (cxh)
Proposed Rating:
Red (cxh)

Nested Class Summary
 
Nested classes/interfaces inherited from class ptolemy.kernel.Entity
Entity.ContainedObjectsIterator
 
Field Summary
private static int _BYTE
           
private  int _dataFormat
          An indicator for the data type to format to.
private static int _DOUBLE
           
private static int _FLOAT
           
private static int _INT
           
private  double _maxValue
          Double representation of the highest value possible for the internal data type.
private  double _minValue
          Double representation of the lowest value possible for the internal data type.
private  boolean _scale
          Flag determining whether or not to scale the data
private static int _SHORT
           
private static int _USHORT
           
 StringAttribute dataFormat
          The type to cast the data to.
 Parameter scale
          This parameter indicates whether to scale the data or not.
 
Fields inherited from class ptolemy.actor.lib.Transformer
input, output
 
Fields inherited from class ptolemy.actor.AtomicActor
_actorFiringListeners, _initializables, _notifyingActorFiring, _stopRequested
 
Fields inherited from class ptolemy.kernel.util.NamedObj
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS
 
Fields inherited from interface ptolemy.actor.Executable
COMPLETED, NOT_READY, STOP_ITERATING
 
Constructor Summary
DoubleMatrixToJAI(CompositeEntity container, java.lang.String name)
          Construct an actor with the given container and name.
 
Method Summary
 void attributeChanged(Attribute attribute)
          Override the base class and determine the data type to format the data to, as well as whether to scale the data.
 void fire()
          Fire this actor.
 
Methods inherited from class ptolemy.actor.TypedAtomicActor
_addPort, _fireAt, _fireAt, attributeTypeChanged, clone, newPort, typeConstraintList, typeConstraints
 
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.InstantiableNamedObj
_setParent, exportMoML, getChildren, getElementName, getParent, getPrototypeList, isClassDefinition, isWithinClassDefinition
 
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
 
Methods inherited from interface ptolemy.actor.Actor
createReceivers, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, newReceiver, outputPortList
 
Methods inherited from interface ptolemy.actor.Executable
isFireFunctional, isStrict, iterate, postfire, prefire, stop, stopFire, terminate
 
Methods inherited from interface ptolemy.actor.Initializable
addInitializable, initialize, preinitialize, removeInitializable, wrapup
 
Methods inherited from interface ptolemy.kernel.util.Nameable
description, getContainer, getDisplayName, getFullName, getName, getName, setName
 
Methods inherited from interface ptolemy.kernel.util.Derivable
getDerivedLevel, getDerivedList, propagateValue
 

Field Detail

dataFormat

public StringAttribute dataFormat
The type to cast the data to. This is a string valued attribute that defaults to "byte".


scale

public Parameter scale
This parameter indicates whether to scale the data or not. This should only be checked if the data was normalized in the first place. The default value is true.


_dataFormat

private int _dataFormat
An indicator for the data type to format to.


_maxValue

private double _maxValue
Double representation of the highest value possible for the internal data type.


_minValue

private double _minValue
Double representation of the lowest value possible for the internal data type.


_scale

private boolean _scale
Flag determining whether or not to scale the data


_BYTE

private static final int _BYTE
See Also:
Constant Field Values

_DOUBLE

private static final int _DOUBLE
See Also:
Constant Field Values

_FLOAT

private static final int _FLOAT
See Also:
Constant Field Values

_INT

private static final int _INT
See Also:
Constant Field Values

_SHORT

private static final int _SHORT
See Also:
Constant Field Values

_USHORT

private static final int _USHORT
See Also:
Constant Field Values
Constructor Detail

DoubleMatrixToJAI

public DoubleMatrixToJAI(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.
Method Detail

attributeChanged

public void attributeChanged(Attribute attribute)
                      throws IllegalActionException
Override the base class and determine the data type to format the data to, as well as whether to scale the data.

Overrides:
attributeChanged in class NamedObj
Parameters:
attribute - The attribute that changed.
Throws:
IllegalActionException - If the base class throws it, or if the data type is not recognized.

fire

public void fire()
          throws IllegalActionException
Fire this actor. Output the JAIImageToken constructed from the matrix of doubles.

Specified by:
fire in interface Executable
Overrides:
fire in class AtomicActor
Throws:
IllegalActionException - If a contained method throws it, or if a token is received that contains a null image.