Class JAIIDFT

  • All Implemented Interfaces:
    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$
    Author:
    James Yeh
    See Also:
    JAIDataConvert, JAIDFT
    Pt.AcceptedRating:
    Red (cxh)
    Pt.ProposedRating:
    Red (cxh)
    • Field Detail

      • 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.