public class RealFFTUtils_2D extends Object
DoubleFFT_2D.realForward(double[])DoubleFFT_2D.realForward(DoubleLargeArray)DoubleFFT_2D.realForward(double[][])FloatFFT_2D.realForward(float[])FloatFFT_2D.realForward(FloatLargeArray)FloatFFT_2D.realForward(float[][])DoubleFFT_2D fft = new DoubleFFT_2D(rows, columns); double[] data = new double[2 * rows * columns]; ... fft.realForwardFull(data); data[r1 * 2 * columns + c1] = val1; val2 = data[r2 * 2 * columns + c2];is equivalent to
DoubleFFT_2D fft = new DoubleFFT_2D(rows, columns); RealFFTUtils_2D unpacker = new RealFFTUtils_2D(rows, columns); double[] data = new double[rows * columns]; ... fft.realForward(data); unpacker.pack(val1, r1, c1, data); val2 = unpacker.unpack(r2, c2, data, 0);Even (resp. odd) values of
c correspond to the real (resp.
imaginary) part of the Fourier mode.
DoubleFFT_2D fft = new DoubleFFT_2D(rows, columns); double[][] data = new double[rows][2 * columns]; ... fft.realForwardFull(data); data[r1][c1] = val1; val2 = data[r2][c2];is equivalent to
DoubleFFT_2D fft = new DoubleFFT_2D(rows, columns); RealFFTUtils_2D unpacker = new RealFFTUtils_2D(rows, columns); double[][] data = new double[rows][columns]; ... fft.realForward(data); unpacker.pack(val1, r1, c1, data); val2 = unpacker.unpack(r2, c2, data, 0);Even (resp. odd) values of
c correspond to the real (resp.
imaginary) part of the Fourier mode.| Constructor and Description |
|---|
RealFFTUtils_2D(long rows,
long columns)
Creates a new instance of this class.
|
| Modifier and Type | Method and Description |
|---|---|
int |
getIndex(int r,
int c)
Returns the 1d index of the specified 2d Fourier mode.
|
long |
getIndex(long r,
long c)
Returns the 1d index of the specified 2d Fourier mode.
|
void |
pack(double val,
int r,
int c,
double[][] packed)
Sets the specified Fourier mode of the transformed data.
|
void |
pack(double val,
int r,
int c,
double[] packed,
int pos)
Sets the specified Fourier mode of the transformed data.
|
void |
pack(double val,
long r,
long c,
pl.edu.icm.jlargearrays.DoubleLargeArray packed,
long pos)
Sets the specified Fourier mode of the transformed data.
|
void |
pack(float val,
int r,
int c,
float[][] packed)
Sets the specified Fourier mode of the transformed data.
|
void |
pack(float val,
int r,
int c,
float[] packed,
int pos)
Sets the specified Fourier mode of the transformed data.
|
void |
pack(float val,
long r,
long c,
pl.edu.icm.jlargearrays.FloatLargeArray packed,
long pos)
Sets the specified Fourier mode of the transformed data.
|
double |
unpack(int r,
int c,
double[][] packed)
Returns the specified Fourier mode of the transformed data.
|
double |
unpack(int r,
int c,
double[] packed,
int pos)
Returns the specified Fourier mode of the transformed data.
|
float |
unpack(int r,
int c,
float[][] packed)
Returns the specified Fourier mode of the transformed data.
|
float |
unpack(int r,
int c,
float[] packed,
int pos)
Returns the specified Fourier mode of the transformed data.
|
double |
unpack(long r,
long c,
pl.edu.icm.jlargearrays.DoubleLargeArray packed,
long pos)
Returns the specified Fourier mode of the transformed data.
|
float |
unpack(long r,
long c,
pl.edu.icm.jlargearrays.FloatLargeArray packed,
long pos)
Returns the specified Fourier mode of the transformed data.
|
public RealFFTUtils_2D(long rows,
long columns)
DoubleFFT_2D or FloatFFT_2D must be specified.rows - number of rowscolumns - number of columnspublic int getIndex(int r,
int c)
packed contains the transformed data following a call to
DoubleFFT_2D.realForward(double[]) or
FloatFFT_2D.realForward(float[]), then the returned value
index gives access to the [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],r - the row indexc - the column indexindexpublic long getIndex(long r,
long c)
packed contains the transformed data following a call to
DoubleFFT_2D.realForward(DoubleLargeArray) or
FloatFFT_2D.realForward(FloatLargeArray), then the returned value
index gives access to the [r][c] Fourier mode
index == Long.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],r - the row indexc - the column indexindexpublic void pack(double val,
int r,
int c,
double[] packed,
int pos)
DoubleFFT_2D.realForward(double[]).val - the new value of the [r][c] Fourier moder - the row indexc - the column indexpacked - the transformed datapos - index of the first element in array packedpublic void pack(double val,
long r,
long c,
pl.edu.icm.jlargearrays.DoubleLargeArray packed,
long pos)
DoubleFFT_2D.realForward(DoubleLargeArray).val - the new value of the [r][c] Fourier moder - the row indexc - the column indexpacked - the transformed datapos - index of the first element in array packedpublic void pack(double val,
int r,
int c,
double[][] packed)
DoubleFFT_2D.realForward(double[][]).val - the new value of the [r][c] Fourier moder - the row indexc - the column indexpacked - the transformed datapublic void pack(float val,
int r,
int c,
float[] packed,
int pos)
FloatFFT_2D.realForward(float[]).val - the new value of the [r][c] Fourier moder - the row indexc - the column indexpacked - the transformed datapos - index of the first element in array packedpublic void pack(float val,
long r,
long c,
pl.edu.icm.jlargearrays.FloatLargeArray packed,
long pos)
FloatFFT_2D.realForward(FloatLargeArray).val - the new value of the [r][c] Fourier moder - the row indexc - the column indexpacked - the transformed datapos - index of the first element in array packedpublic void pack(float val,
int r,
int c,
float[][] packed)
FloatFFT_2D.realForward(float[][]).val - the new value of the [r][c] Fourier moder - the row indexc - the column indexpacked - the transformed datapublic double unpack(int r,
int c,
double[] packed,
int pos)
DoubleFFT_2D.realForward(double[]).r - the row indexc - the column indexpacked - the transformed datapos - index of the first element in array packed[r][c] Fourier modepublic double unpack(long r,
long c,
pl.edu.icm.jlargearrays.DoubleLargeArray packed,
long pos)
DoubleFFT_2D.realForward(DoubleLargeArray).r - the row indexc - the column indexpacked - the transformed datapos - index of the first element in array packed[r][c] Fourier modepublic double unpack(int r,
int c,
double[][] packed)
DoubleFFT_2D.realForward(double[][])
.r - the row indexc - the column indexpacked - the transformed data[r][c] Fourier modepublic float unpack(int r,
int c,
float[] packed,
int pos)
FloatFFT_2D.realForward(float[])
.r - the row indexc - the column indexpacked - the transformed datapos - index of the first element in array packed[r][c] Fourier modepublic float unpack(long r,
long c,
pl.edu.icm.jlargearrays.FloatLargeArray packed,
long pos)
FloatFFT_2D.realForward(FloatLargeArray)
.r - the row indexc - the column indexpacked - the transformed datapos - index of the first element in array packed[r][c] Fourier modepublic float unpack(int r,
int c,
float[][] packed)
FloatFFT_2D.realForward(float[][]) .r - the row indexc - the column indexpacked - the transformed data[r][c] Fourier modeCopyright © 2015. All rights reserved.