Wavelet Transformation Demo:
Performs the forward wavelet transformation (Analysis) on a given image.
borderExtMethod
private String borderExtMethod
boundSize
private int boundSize
decompMethod
private String decompMethod
destCanvas
private ImageCanvas destCanvas
dispNorm
private boolean dispNorm
filterSize
private int filterSize
highPass
private double[] highPass
lineColor
private int lineColor
lowPass
private double[] lowPass
maxlevel
private int maxlevel
orgByteData
private byte[][][] orgByteData
orgData
private Data orgData
orgNumBands
private int orgNumBands
orgNumCols
private int orgNumCols
orgNumRows
private int orgNumRows
anaNotify
public void anaNotify()
Notify the currently executing thread
anaWait
public void anaWait()
Let the currently executing thread wait (until notified)
convolution
private double[] convolution(double[] in)
Convolute the samples (using the specified filter)
extendSamples
private double[] extendSamples(double[] samples,
int slen)
Extend the original samples in one row depending on the selected border extension method
samples
- The original input samples (one row)slen
- The original input samples length
- Returns the extended samples
getBoundMethod
public String getBoundMethod()
Returns the currently selected border extension method as a String
getCoeffs
public Object getCoeffs(String name)
Returns the current storage object of the wavelet coefficents (which is dependent
on the selected decomposition method)
name
- The currently selected decomposition method
getDecompMethod
public String getDecompMethod()
Returns the currently selected decomposition method as a String
getDisplayArray
public byte[][][] getDisplayArray()
Return the byte array
getDisplayNormalization
public boolean getDisplayNormalization()
Returns the currently selected display normalization
getFilter
public Filter getFilter()
Returns the current transformation filter
getImageMaker
public ImageMaker getImageMaker()
Returns the current ImageMaker object (that handels the image creation from
single pixel values and finally the image display)
- Current ImageMaker object (for analysis)
getOrgNumBands
public int getOrgNumBands()
Returns the number of color bands of the source image
getOrgNumCols
public int getOrgNumCols()
Returns the number of columns of the source image
getOrgNumRows
public int getOrgNumRows()
Returns the number of rows of the source image
getSeperatorColor
public int getSeperatorColor()
Returns the currently selected seperator line color for display
getTransLen
public TransformLength getTransLen()
Returns an object with the lengths of convoluted samples by level
nonStandardDecomposition
private void nonStandardDecomposition(Data data,
int level,
int dispLevel)
Apply the Non-Standard-Decomposition to the image
data
- The Data array to transformlevel
- Current processing leveldispLevel
- Current display level (needed for LP display normalization)
run
public void run()
Start the forward wavelet transformation (Analysis) thread.
setDecompMethod
private void setDecompMethod(String method)
Sets the selected decomposition method and creates corresponding image layout objects (ImageMaker)
method
- The currently selected decomposition method (as a String)
setFilter
private void setFilter(Filter filter)
Initialize filter specific parameters
filter
- The currently selected filter
showImage
private void showImage(int numBands,
int numRows,
int numCols)
Set the image byte data and display the image
numBands
- Number of bands to displaynumRows
- Number of rows to displaynumCols
- Number of columns to display
standardDecompositionCol
private void standardDecompositionCol(Data data,
StdData storage,
int level)
Apply the Standard-Decomposition (in direction of columns) to the image
data
- The Data array to transformstorage
- The storage array for the wavelet coeffslevel
- Current processing level
standardDecompositionRow
private void standardDecompositionRow(Data data,
StdData storage,
int level)
Apply the Standard-Decomposition (in direction of rows) to the image
data
- The Data array to transformstorage
- The storage array for the wavelet coeffslevel
- Current processing level
waitSomeTime
private void waitSomeTime(boolean wait)
Stop the current thread processing (if requested) and wait until time is over,
or user selection.
wait
- Flag: Should thread wait?