## visad.math
Class FFT

    java.lang.Object
      visad.math.FFT

public class FFT
extends Object

FFT is the VisAD class for Fourier Transforms, using the Fast Fourier Transform when the domain length is a power of two.

Constructor Summary
`FFT()`

Method Summary
`static FlatField` `backwardFT(Data[] datums)` for use by SpreadSheet only - ordinary applications should use other method signatures; invoke in SpreadSheet by: link(visad.math.FFT.backwardFT(A1))
`static double[][]` `FFT1D(double[][] x, boolean forward)` compute 1-D FFT transform length (2nd dimension of x) must be a power of 2
`static float[][]` `FFT1D(float[][] x, boolean forward)` compute 1-D FFT transform length (2nd dimension of x) must be a power of 2
`static FlatField` `forwardFT(Data[] datums)` for use by SpreadSheet only - ordinary applications should use other method signatures; invoke in SpreadSheet by: link(visad.math.FFT.forwardFT(A1))
`static FlatField` `fourierTransform(Field field, boolean forward)` return Fourier Transform of field, use FFT if domain dimension(s) are powers of 2
`static FlatField` `fourierTransform(Field field, boolean forward, FunctionType ftype, GriddedSet domain_set, CoordinateSystem range_coord_sys, Set[] range_sets, Unit[] units)` return Fourier Transform of field, use FFT if domain dimension(s) are powers of 2
`static double[][]` `FT1D(double[][] x, boolean forward)` compute 1-D Fourier transform use FFT if length (2nd dimension of x) is a power of 2
`static float[][]` `FT1D(float[][] x, boolean forward)` compute 1-D Fourier transform use FFT if length (2nd dimension of x) is a power of 2
`static double[][]` `FT2D(int rows, int cols, double[][] x, boolean forward)` compute 2-D Fourier transform, calling 1-D FT twice use FFT if rows and cols are powers of 2
`static float[][]` `FT2D(int rows, int cols, float[][] x, boolean forward)` compute 2-D Fourier transform, calling 1-D FT twice use FFT if rows and cols are powers of 2
`static void` `main(String[] args)` test Fourier Transform methods

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### FFT

    public FFT()

Method Detail

### forwardFT

    public static FlatField forwardFT(Data[] datums)

  for use by SpreadSheet only - ordinary applications should use other method signatures; invoke in SpreadSheet by: link(visad.math.FFT.forwardFT(A1))

### backwardFT

    public static FlatField backwardFT(Data[] datums)

  for use by SpreadSheet only - ordinary applications should use other method signatures; invoke in SpreadSheet by: link(visad.math.FFT.backwardFT(A1))

### fourierTransform

    public static FlatField fourierTransform(Field field,
                                             boolean forward)
                                      throws VisADException,
                                             RemoteException

  return Fourier Transform of field, use FFT if domain dimension(s) are powers of 2

  Parameters:
    `field` - Field with domain dimension = 1 (1-D FT) or 2 (2-D FT) and 1 (real part) or 2 (real & imaginary) range RealTypes
    `forward` - true for forward and false for backward
  Returns:
    Fourier transform of field
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### fourierTransform

    public static FlatField fourierTransform(Field field,
                                             boolean forward,
                                             FunctionType ftype,
                                             GriddedSet domain_set,
                                             CoordinateSystem range_coord_sys,
                                             Set[] range_sets,
                                             Unit[] units)
                                      throws VisADException,
                                             RemoteException

  return Fourier Transform of field, use FFT if domain dimension(s) are powers of 2

  Parameters:
    `field` - Field with domain dimension = 1 (1-D FT) or 2 (2-D FT) and 1 (real part) or 2 (real & imaginary) range RealTypes
    `forward` - true for forward and false for backward
    `ftype` - use for return Field (may be null)
    `domain_set` - use for return Field (may be null)
    `range_coord_sys` - use for return Field (may be null)
    `range_sets` - use for return Field (may be null)
    `units` - use for return Field (may be null)
  Returns:
    Fourier transform of field
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### FT2D

    public static float[][] FT2D(int rows,
                                 int cols,
                                 float[][] x,
                                 boolean forward)
                          throws VisADException

  compute 2-D Fourier transform, calling 1-D FT twice use FFT if rows and cols are powers of 2

  Parameters:
    `rows` - first dimension for 2-D
    `cols` - second dimension for 2-D
    `x` - array for take Fourier transform of, dimensioned [2][length] where length = rows * cols, and the first index (2) is over real & imaginary parts
    `forward` - true for forward and false for backward
  Returns:
    Fourier transform of x
  Throws:
    `VisADException` - a VisAD error occurred

### FT2D

    public static double[][] FT2D(int rows,
                                  int cols,
                                  double[][] x,
                                  boolean forward)
                           throws VisADException

  compute 2-D Fourier transform, calling 1-D FT twice use FFT if rows and cols are powers of 2

  Parameters:
    `rows` - first dimension for 2-D
    `cols` - second dimension for 2-D
    `x` - array for take Fourier transform of, dimensioned [2][length] where length = rows * cols, and the first index (2) is over real & imaginary parts
    `forward` - true for forward and false for backward
  Returns:
    Fourier transform of x
  Throws:
    `VisADException` - a VisAD error occurred

### FT1D

    public static float[][] FT1D(float[][] x,
                                 boolean forward)
                          throws VisADException

  compute 1-D Fourier transform use FFT if length (2nd dimension of x) is a power of 2

  Parameters:
    `x` - array for take Fourier transform of, dimensioned [2][length], the first index (2) is over real & imaginary parts
    `forward` - true for forward and false for backward
  Returns:
    Fourier transform of x
  Throws:
    `VisADException` - a VisAD error occurred

### FFT1D

    public static float[][] FFT1D(float[][] x,
                                  boolean forward)
                           throws VisADException

  compute 1-D FFT transform length (2nd dimension of x) must be a power of 2

  Parameters:
    `x` - array for take Fourier transform of, dimensioned [2][length], the first index (2) is over real & imaginary parts
    `forward` - true for forward and false for backward
  Returns:
    Fourier transform of x
  Throws:
    `VisADException` - a VisAD error occurred

### FT1D

    public static double[][] FT1D(double[][] x,
                                  boolean forward)
                           throws VisADException

  compute 1-D Fourier transform use FFT if length (2nd dimension of x) is a power of 2

  Parameters:
    `x` - array for take Fourier transform of, dimensioned [2][length], the first index (2) is over real & imaginary parts
    `forward` - true for forward and false for backward
  Returns:
    Fourier transform of x
  Throws:
    `VisADException` - a VisAD error occurred

### FFT1D

    public static double[][] FFT1D(double[][] x,
                                   boolean forward)
                            throws VisADException

  compute 1-D FFT transform length (2nd dimension of x) must be a power of 2

  Parameters:
    `x` - array for take Fourier transform of, dimensioned [2][length], the first index (2) is over real & imaginary parts
    `forward` - true for forward and false for backward
  Returns:
    Fourier transform of x
  Throws:
    `VisADException` - a VisAD error occurred

### main

    public static void main(String[] args)
                     throws VisADException

  test Fourier Transform methods

  Throws:
    `VisADException`