```java.lang.Object
```

`public class FFTextends 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)`
`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)`
`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)`

### backwardFT

`public static FlatField backwardFT(Data[] datums)`

### fourierTransform

```public static FlatField fourierTransform(Field field,
boolean forward)
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)
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)
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)
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)
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)
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)
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)
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)
test Fourier Transform methods

Throws:
`VisADException`