Parallel Colt 0.7.2

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.

Part of code is derived from General Purpose FFT Package written by Takuya Ooura (http://www.kurims.kyoto-u.ac.jp/~ooura/fft.html)

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

Constructor Summary
DoubleDHT_3D(int slices, int rows, int columns)
          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 slices,
                    int rows,
                    int columns)
Creates new instance of DoubleDHT_3D.

Parameters:
slices - number of slices
rows - number of rows
columns - 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[slices][rows][columns] is stored in a[i*sliceStride + j*rowStride + k], where sliceStride = rows * columns and rowStride = columns.

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[slices][rows][columns] is stored in a[i*sliceStride + j*rowStride + k], where sliceStride = rows * columns and rowStride = columns.

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

Parallel Colt 0.7.2

Jump to the Parallel Colt Homepage