JTransforms 2.1

edu.emory.mathcs.jtransforms.dst
Class DoubleDST_3D

java.lang.Object
  extended by edu.emory.mathcs.jtransforms.dst.DoubleDST_3D

public class DoubleDST_3D
extends Object

Computes 3D Discrete Sine Transform (DST) of double precision data. The sizes of all three dimensions can be arbitrary numbers. This is a parallel implementation optimized for SMP systems.

Author:
Piotr Wendykier (piotr.wendykier@gmail.com)

Constructor Summary
DoubleDST_3D(int n1, int n2, int n3)
          Creates new instance of DoubleDST_3D.
 
Method Summary
 void forward(double[][][] a, boolean scale)
          Computes the 3D forward DST (DST-II) leaving the result in a .
 void forward(double[] a, boolean scale)
          Computes the 3D forward DST (DST-II) leaving the result in a .
 void inverse(double[][][] a, boolean scale)
          Computes the 3D inverse DST (DST-III) leaving the result in a.
 void inverse(double[] a, boolean scale)
          Computes the 3D inverse DST (DST-III) leaving the result in a.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DoubleDST_3D

public DoubleDST_3D(int n1,
                    int n2,
                    int n3)
Creates new instance of DoubleDST_3D.

Parameters:
n1 - number of slices
n2 - number of rows
n3 - number of columns
Method Detail

forward

public void forward(double[] a,
                    boolean scale)
Computes the 3D forward DST (DST-II) leaving the result in a . 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[n1][n2][n3] is stored in a[i*sliceStride + j*rowStride + k], where sliceStride = n2 * n3 and rowStride = n3.

Parameters:
a - data to transform
scale - if true then scaling is performed

forward

public void forward(double[][][] a,
                    boolean scale)
Computes the 3D forward DST (DST-II) leaving the result in a . The data is stored in 3D array.

Parameters:
a - data to transform
scale - if true then scaling is performed

inverse

public void inverse(double[] a,
                    boolean scale)
Computes the 3D inverse DST (DST-III) leaving the result in a. 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[n1][n2][n3] is stored in a[i*sliceStride + j*rowStride + k], where sliceStride = n2 * n3 and rowStride = n3.

Parameters:
a - data to transform
scale - if true then scaling is performed

inverse

public void inverse(double[][][] a,
                    boolean scale)
Computes the 3D inverse DST (DST-III) leaving the result in a. The data is stored in 3D array.

Parameters:
a - data to transform
scale - if true then scaling is performed

JTransforms 2.1