cz.cuni.jagrlib.iface
Interface DiscreteTransform

All Superinterfaces:
PersistentParamsBinary, Property
All Known Implementing Classes:
DCT, DefaultDiscreteTransform

public interface DiscreteTransform
extends Property, PersistentParamsBinary

Discrete transform of raster 1D - 2D data. Transforms segments/rectangles of integer/floating-point samples.

Since:
0.24
See Also:
DiscreteTransform.java

Field Summary
 
Fields inherited from interface cz.cuni.jagrlib.iface.Property
LOGGING, STATISTICS, TEXT_DESCRIPTION
 
Method Summary
 boolean getSizeBounds(int[] bounds)
          Get extreme domain (source) ranges.
 int inverse1D(double[] coef, int len, double[] sample, int start)
          Inverse 1D transform (floating-point form).
 int inverse1D(int[] coef, int len, int[] sample, int start)
          Inverse 1D transform (integer form).
 int inverse2D(double[] coef, int len, double[] sample, int start, int width, int stride)
          Inverse 2D transform (floating-point form).
 int inverse2D(int[] coef, int len, int[] sample, int start, int width, int stride)
          Inverse 2D transform (integer form).
 int transform1D(double[] sample, int start, int len, double[] coef)
          Forward 1D transform (floating-point form).
 int transform1D(int[] sample, int start, int len, int[] coef)
          Forward 1D transform (integer form).
 int transform2D(double[] sample, int start, int width, int height, int stride, double[] coef)
          Forward 2D transform (floating-point form).
 int transform2D(int[] sample, int start, int width, int height, int stride, int[] coef)
          Forward 2D transform (integer form).
 
Methods inherited from interface cz.cuni.jagrlib.iface.Property
commit, get, set
 
Methods inherited from interface cz.cuni.jagrlib.iface.PersistentParamsBinary
loadData, storeData
 

Method Detail

getSizeBounds

boolean getSizeBounds(int[] bounds)
Get extreme domain (source) ranges.

Parameters:
bounds - Pre-allocated array to hold extreme ranges:
bounds[0] .. minimum size in 1st dim,
bounds[1] .. maximum size in 1st dim,
bounds[2] .. minimum size in 2nd dim,
bounds[3] .. maximum size in 2nd dim, etc.
Returns:
true if arbitrary lengths are allowed (even non-powers-ow-two).

transform1D

int transform1D(int[] sample,
                int start,
                int len,
                int[] coef)
Forward 1D transform (integer form). Can be used if both source and target data are in integer format.

Parameters:
sample - Source array (containing sample data).
start - Starting index of the transformed segment.
len - Source segment length.
coef - Pre-allocated array to hold transformed data (coefficients).
Returns:
Number of coefficients (0 in case of error).
See Also:
inverse1D(int[],int,int[],int), transform1D(double[],int,int,double[])

transform1D

int transform1D(double[] sample,
                int start,
                int len,
                double[] coef)
Forward 1D transform (floating-point form). Has to be used if source and/or target data are floating-point!

Parameters:
sample - Source array (containing sample data).
start - Starting index of the transformed segment.
len - Source segment length.
coef - Pre-allocated array to hold transformed data (coefficients).
Returns:
Number of coefficients (0 in case of error).
See Also:
inverse1D(double[],int,double[],int), transform1D(int[],int,int,int[])

inverse1D

int inverse1D(int[] coef,
              int len,
              int[] sample,
              int start)
Inverse 1D transform (integer form). Inverse mapping to transform1D(int[],int,int,int[]).

Parameters:
coef - Source array (holding coefficients).
len - Number of coefficients.
sample - Pre-allocated array to hold reconstructed sample data.
start - Starting index of the reconstructed sample data.
Returns:
Sample data length (0 in case of error).
See Also:
transform1D(int[],int,int,int[]), inverse1D(double[],int,double[],int)

inverse1D

int inverse1D(double[] coef,
              int len,
              double[] sample,
              int start)
Inverse 1D transform (floating-point form). Inverse mapping to transform1D(double[],int,int,double[]).

Parameters:
coef - Source array (holding coefficients).
len - Number of coefficients.
sample - Pre-allocated array to hold reconstructed sample data.
start - Starting index of the reconstructed sample data.
Returns:
Sample data length (0 in case of error).
See Also:
transform1D(double[],int,int,double[]), inverse1D(int[],int,int[],int)

transform2D

int transform2D(int[] sample,
                int start,
                int width,
                int height,
                int stride,
                int[] coef)
Forward 2D transform (integer form). Can be used if both source and target data are in integer format.

Parameters:
sample - Source array (containing sample data).
start - Starting index of the transformed data.
width - Source rectangle's width (faster index).
height - Source rectangle's height (slower index).
stride - Source matrix row length.
coef - Pre-allocated array to hold transformed data (coefficients).
Returns:
Number of coefficients (0 in case of error).
See Also:
inverse2D(int[],int,int[],int,int,int), transform2D(double[],int,int,int,int,double[])

transform2D

int transform2D(double[] sample,
                int start,
                int width,
                int height,
                int stride,
                double[] coef)
Forward 2D transform (floating-point form). Has to be used if source and/or target data are floating-point!

Parameters:
sample - Source array (containing sample data).
start - Starting index of the transformed data.
width - Source rectangle's width (faster index).
height - Source rectangle's height (slower index).
stride - Source matrix row length.
coef - Pre-allocated array to hold transformed data (coefficients).
Returns:
Number of coefficients (0 in case of error).
See Also:
inverse2D(double[],int,double[],int,int,int), transform2D(int[],int,int,int,int,int[])

inverse2D

int inverse2D(int[] coef,
              int len,
              int[] sample,
              int start,
              int width,
              int stride)
Inverse 2D transform (integer form). Inverse mapping to transform2D(int[],int,int,int,int,int[]).

Parameters:
coef - Source array (holding coefficients).
len - Number of coefficients.
sample - Pre-allocated array to hold reconstructed sample data.
start - Starting index of the reconstructed rectangle.
width - Reconstructed rectangle's width (faster index).
stride - Reconstructed data matrix row length.
Returns:
Sample data height (0 in case of error).
See Also:
transform2D(int[],int,int,int,int,int[]), inverse2D(double[],int,double[],int,int,int)

inverse2D

int inverse2D(double[] coef,
              int len,
              double[] sample,
              int start,
              int width,
              int stride)
Inverse 2D transform (floating-point form). Inverse mapping to transform2D(double[],int,int,int,int,double[]).

Parameters:
coef - Source array (holding coefficients).
len - Number of coefficients.
sample - Pre-allocated array to hold reconstructed sample data.
start - Starting index of the reconstructed rectangle.
width - Reconstructed rectangle's width (faster index).
stride - Reconstructed data matrix row length.
Returns:
Sample data height (0 in case of error).
See Also:
transform2D(double[],int,int,int,int,double[]), inverse2D(int[],int,int[],int,int,int)