edu.emory.mathcs.jtransforms.dct
Class FloatDCT_3D
- java.lang.Object
-
- edu.emory.mathcs.jtransforms.dct.FloatDCT_3D
-
public class FloatDCT_3D extends java.lang.ObjectComputes 3D Discrete Cosine Transform (DCT) of single precision data. The sizes of all three dimensions can be arbitrary numbers. This is a parallel implementation of split-radix and mixed-radix algorithms optimized for SMP systems.
Part of code is derived from General Purpose FFT Package written by Takuya Ooura (http://www.kurims.kyoto-u.ac.jp/~ooura/fft.html)
-
-
Constructor Summary
Constructors Constructor and Description FloatDCT_3D(int slices, int rows, int columns)Creates new instance of FloatDCT_3D.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description voidforward(float[][][] a, boolean scale)Computes the 3D forward DCT (DCT-II) leaving the result ina.voidforward(float[] a, boolean scale)Computes the 3D forward DCT (DCT-II) leaving the result ina.voidinverse(float[][][] a, boolean scale)Computes the 3D inverse DCT (DCT-III) leaving the result ina.voidinverse(float[] a, boolean scale)Computes the 3D inverse DCT (DCT-III) leaving the result ina.
-
-
-
Constructor Detail
-
FloatDCT_3D
public FloatDCT_3D(int slices, int rows, int columns)Creates new instance of FloatDCT_3D.- Parameters:
slices- number of slicesrows- number of rowscolumns- number of columns
-
-
Method Detail
-
forward
public void forward(float[] a, boolean scale)Computes the 3D forward DCT (DCT-II) leaving the result ina. The data is stored in 1D array addressed in slice-major, then row-major, then column-major, in order of significance, i.e. the element (i,j,k) of 3D array x[slices][rows][columns] is stored in a[i*sliceStride + j*rowStride + k], where sliceStride = rows * columns and rowStride = columns.- Parameters:
a- data to transformscale- if true then scaling is performed
-
forward
public void forward(float[][][] a, boolean scale)Computes the 3D forward DCT (DCT-II) leaving the result ina. The data is stored in 3D array- Parameters:
a- data to transformscale- if true then scaling is performed
-
inverse
public void inverse(float[] a, boolean scale)Computes the 3D inverse DCT (DCT-III) leaving the result ina. The data is stored in 1D array addressed in slice-major, then row-major, then column-major, in order of significance, i.e. the element (i,j,k) of 3D array x[slices][rows][columns] is stored in a[i*sliceStride + j*rowStride + k], where sliceStride = rows * columns and rowStride = columns.- Parameters:
a- data to transformscale- if true then scaling is performed
-
inverse
public void inverse(float[][][] a, boolean scale)Computes the 3D inverse DCT (DCT-III) leaving the result ina. The data is stored in 3D array.- Parameters:
a- data to transformscale- if true then scaling is performed
-
-
DMelt 3.0 © DataMelt by jWork.ORG