|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectedu.emory.mathcs.jtransforms.fft.RealFFTUtils_3D
public class RealFFTUtils_3D
This is a set of utility methods for R/W access to data resulting from a call to the Fourier transform of real data. Memory optimized methods, namely
DoubleFFT_3D.realForward(double[])DoubleFFT_3D.realForward(double[][][])FloatFFT_3D.realForward(float[])FloatFFT_3D.realForward(float[][][])
DoubleFFT_3D fft = new DoubleFFT_2D(slices, rows, columns); double[] data = new double[2 * slices * rows * columns]; ... fft.realForwardFull(data); data[(s1 * rows + r1) * 2 * columns + c1] = val1; val2 = data[(s2 * rows + r2) * 2 * columns + c2];is equivalent to
DoubleFFT_3D fft = new DoubleFFT_3D(slices, rows, columns); RealFFTUtils_3D unpacker = new RealFFTUtils_3D(slices, rows, columns); double[] data = new double[slices * rows * columns]; ... fft.realForward(data); unpacker.pack(val1, s1, r1, c1, data); val2 = unpacker.unpack(s2, r2, c2, data, 0);Even (resp. odd) values of
c correspond to the real (resp.
imaginary) part of the Fourier mode.
DoubleFFT_3D fft = new DoubleFFT_3D(slices, rows, columns); double[][][] data = new double[slices][rows][2 * columns]; ... fft.realForwardFull(data); data[s1][r1][c1] = val1; val2 = data[s2][r2][c2];is equivalent to
DoubleFFT_3D fft = new DoubleFFT_3D(slices, rows, columns); RealFFTUtils_3D unpacker = new RealFFTUtils_3D(slices, rows, columns); double[][][] data = new double[slices][rows][columns]; ... fft.realForward(data); unpacker.pack(val1, s1, r1, c1, data); val2 = unpacker.unpack(s2, r2, c2, data, 0);Even (resp. odd) values of
c correspond to the real (resp.
imaginary) part of the Fourier mode.
| Constructor Summary | |
|---|---|
RealFFTUtils_3D(int slices,
int rows,
int columns)
Creates a new instance of this class. |
|
| Method Summary | |
|---|---|
int |
getIndex(int s,
int r,
int c)
Returns the 1d index of the specified 3d Fourier mode. |
void |
pack(double val,
int s,
int r,
int c,
double[][][] packed)
Sets the specified Fourier mode of the transformed data. |
void |
pack(double val,
int s,
int r,
int c,
double[] packed,
int pos)
Sets the specified Fourier mode of the transformed data. |
void |
pack(float val,
int s,
int r,
int c,
float[][][] packed)
Sets the specified Fourier mode of the transformed data. |
void |
pack(float val,
int s,
int r,
int c,
float[] packed,
int pos)
Sets the specified Fourier mode of the transformed data. |
double |
unpack(int s,
int r,
int c,
double[][][] packed)
Returns the specified Fourier mode of the transformed data. |
double |
unpack(int s,
int r,
int c,
double[] packed,
int pos)
Returns the specified Fourier mode of the transformed data. |
float |
unpack(int s,
int r,
int c,
float[][][] packed)
Returns the specified Fourier mode of the transformed data. |
float |
unpack(int s,
int r,
int c,
float[] packed,
int pos)
Returns the specified Fourier mode of the transformed data. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public RealFFTUtils_3D(int slices,
int rows,
int columns)
DoubleFFT_3D or FloatFFT_3D must be specified.
slices - number of slicesrows - number of rowscolumns - number of columns| Method Detail |
|---|
public int getIndex(int s,
int r,
int c)
Returns the 1d index of the specified 3d Fourier mode. In other words, if
packed contains the transformed data following a call to
DoubleFFT_3D.realForwardFull(double[]) or
FloatFFT_3D.realForward(float[]), then the returned value
index gives access to the [s][r][c] Fourier
mode
index == Integer.MIN_VALUE, then the Fourier
mode is zero,index >= 0, then the Fourier mode is
packed[index],index < 0, then the Fourier mode is
-packed[-index],
s - the slice indexr - the row indexc - the column index
index
public void pack(double val,
int s,
int r,
int c,
double[] packed,
int pos)
DoubleFFT_3D.realForward(double[]).
val - the new value of the [s][r][c] Fourier modes - the slice indexr - the row indexc - the column indexpacked - the transformed datapos - index of the first element in array packed
public void pack(double val,
int s,
int r,
int c,
double[][][] packed)
DoubleFFT_3D.realForward(double[][][]).
val - the new value of the [s][r][c] Fourier modes - the slice indexr - the row indexc - the column indexpacked - the transformed data
public void pack(float val,
int s,
int r,
int c,
float[] packed,
int pos)
FloatFFT_3D.realForward(float[]).
val - the new value of the [s][r][c] Fourier modes - the slice indexr - the row indexc - the column indexpacked - the transformed datapos - index of the first element in array packed
public void pack(float val,
int s,
int r,
int c,
float[][][] packed)
FloatFFT_3D.realForward(float[][][]).
val - the new value of the [s][r][c] Fourier modes - the slice indexr - the row indexc - the column indexpacked - the transformed data
public double unpack(int s,
int r,
int c,
double[] packed,
int pos)
DoubleFFT_3D.realForward(double[]).
s - the slice indexr - the row indexc - the column indexpacked - the transformed datapos - index of the first element in array packed
[s][r][c] Fourier mode
public double unpack(int s,
int r,
int c,
double[][][] packed)
DoubleFFT_3D.realForward(double[][][]) .
s - the slice indexr - the row indexc - the column indexpacked - the transformed data
[s][r][c] Fourier mode
public float unpack(int s,
int r,
int c,
float[] packed,
int pos)
FloatFFT_3D.realForward(float[]) .
s - the slice indexr - the row indexc - the column indexpacked - the transformed datapos - index of the first element in array packed
[s][r][c] Fourier mode
public float unpack(int s,
int r,
int c,
float[][][] packed)
FloatFFT_3D.realForward(float[][][])
.
s - the slice indexr - the row indexc - the column indexpacked - the transformed data
[s][r][c] Fourier mode
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||