All Packages  Class Hierarchy  This Package  Previous  Next  Index

Class JSci.maths.wavelet.MatchingPursuit

java.lang.Object
   |
   +----JSci.maths.wavelet.BasisFunctionLibrary
           |
           +----JSci.maths.wavelet.MatchingPursuit

public class MatchingPursuit
extends BasisFunctionLibrary
implements Cloneable
A Wavelet (and more) matching pursuit class Uses adaptative Morse coding for better performance. The MatchingPursuit is used to obtain a Time-Frequency representation (TF) through a fast algorithm.


Constructor Index

 o MatchingPursuit(DiscreteFunction)
Constructor

Method Index

 o add(MultiscaleFunction, MultiscaleFunction)
Add a clone of the given MultiscaleFunctions to the internal arrays of MultiscaleFunctions.
 o clone()
 o diagnostic(double)
Check the validity of the current matching algorithm.
 o forcedMatch(int)
Force the system to select the given element as the best match.
 o getCoefs()
Recover the matching coefficients.
 o getRecord()
all matches are recorded so one can trace them back
 o getRecordedNorms()
Trace back how much of the norm was taken out at each match.
 o match()
Does the matching 1 time and return the TF representation.
 o match(int)
Does the matching j times and return the TF representation.
 o matchAll(double)
Repeatly match until it remains less than tol * 100 percent of the original L2 norm; no matter what, at least one match will be done.
 o setData(DiscreteFunction)
Allows the user to change the DiscreteFunction (see constructor).

Constructors

 o MatchingPursuit
 public MatchingPursuit(DiscreteFunction f)
Constructor

Methods

 o add
 public void add(MultiscaleFunction fprimary,
                 MultiscaleFunction fdual)
Add a clone of the given MultiscaleFunctions to the internal arrays of MultiscaleFunctions.

Overrides:
add in class BasisFunctionLibrary
 o clone
 public Object clone()
Overrides:
clone in class BasisFunctionLibrary
 o getRecord
 public int[] getRecord()
all matches are recorded so one can trace them back

 o getRecordedNorms
 public double[] getRecordedNorms()
Trace back how much of the norm was taken out at each match.

 o getCoefs
 public double[] getCoefs()
Recover the matching coefficients.

 o setData
 public void setData(DiscreteFunction f)
Allows the user to change the DiscreteFunction (see constructor).

Overrides:
setData in class BasisFunctionLibrary
 o diagnostic
 public void diagnostic(double tol) throws MaximumIterationsExceededException
Check the validity of the current matching algorithm. Will return an exception if the diagnostic fails. This makes sense: the software should stop if the algorithm isn't safely within the given tolerance.

Throws: IllegalArgumentException
if the matching fails
Throws: MaximumIterationsExceededException
if it can't match one of the elements of the dictionnary
Throws: IllegalArgumentException
if tol is is negative
 o match
 public double[][] match()
Does the matching 1 time and return the TF representation. The TF representation may contain negative values and so, taking the absolute value of the result will often be useful.

 o matchAll
 public double[][] matchAll(double tol) throws MaximumIterationsExceededException
Repeatly match until it remains less than tol * 100 percent of the original L2 norm; no matter what, at least one match will be done. It will return the TF representaiton. The TF representation may contain negative values and so, taking the absolute value of the result will often be useful.

Parameters:
tol - percentile of energy
Throws: IllegalArgumentException
if tol is not within the interval [0,1]
Throws: MaximumIterationsExceededException
if the number of required match exceeds 5 times the size of the dictionnary (it should be a more than confortable margin unless the problem is ill-posed, change the dictionnary if it doesn't work)
 o forcedMatch
 public double[][] forcedMatch(int pos)
Force the system to select the given element as the best match. It will return the TF representaiton. The TF representation may contain negative values and so, taking the absolute value of the result will often be useful.

 o match
 public double[][] match(int j)
Does the matching j times and return the TF representation. The TF representation may contain negative values and so, taking the absolute value of the result will often be useful.

Parameters:
number - of iterations
Throws: IllegalArgumentException
if j is not positive

All Packages  Class Hierarchy  This Package  Previous  Next  Index