JTransforms 2.1

edu.emory.mathcs.jtransforms.dht
Class DoubleDHT_3D

java.lang.Object
  extended by edu.emory.mathcs.jtransforms.dht.DoubleDHT_3D

public class DoubleDHT_3D
extends Object

Computes 3D Discrete Hartley Transform (DHT) of real, 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
DoubleDHT_3D(int n1, int n2, int n3)
          Creates new instance of DoubleDHT_3D.
 
Method Summary
 void forward(double[] a)
          Computes the 3D real, forward DHT leaving the result in a.
 void forward(double[][][] a)
          Computes the 3D real, forward DHT leaving the result in a.
 void inverse(double[][][] a, boolean scale)
          Computes the 3D real, inverse DHT leaving the result in a.
 void inverse(double[] a, boolean scale)
          Computes the 3D real, inverse DHT leaving the result in a.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DoubleDHT_3D

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

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

forward

public void forward(double[] a)
Computes the 3D real, forward DHT 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

forward

public void forward(double[][][] a)
Computes the 3D real, forward DHT leaving the result in a. The data is stored in 3D array.

Parameters:
a - data to transform

inverse

public void inverse(double[] a,
                    boolean scale)
Computes the 3D real, inverse DHT 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 real, inverse DHT 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