edu.emory.mathcs.jtransforms.dht
Class FloatDHT_3D

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

public class FloatDHT_3D
extends Object

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

Constructor Detail

FloatDHT_3D

public FloatDHT_3D(int slices,
                   int rows,
                   int columns)
Creates new instance of FloatDHT_3D.

Parameters:
slices - number of slices
rows - number of rows
columns - number of columns
Method Detail

forward

public void forward(float[] 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(float[][][] 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(float[] 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(float[][][] 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


Copyright © 2012. All Rights Reserved.