public class MatchingPursuit extends BasisFunctionLibrary implements java.lang.Cloneable
DFunction, Fdual, Fprimary| Constructor and Description |
|---|
MatchingPursuit(DiscreteFunction f)
Constructor
|
| Modifier and Type | Method and Description |
|---|---|
void |
add(MultiscaleFunction fprimary,
MultiscaleFunction fdual)
Add a clone of the given MultiscaleFunctions
to the internal arrays of MultiscaleFunctions.
|
java.lang.Object |
clone() |
void |
diagnostic(double tol)
Check the validity of the
current matching algorithm.
|
double[][] |
forcedMatch(int pos)
Force the system to select the given
element as the best match.
|
double[] |
getCoefs()
Recover the matching coefficients.
|
int[] |
getRecord()
all matches are recorded
so one can trace them back
|
double[] |
getRecordedNorms()
Trace back how much of the
norm was taken out at each
match.
|
double[][] |
match()
Does the matching 1 time and return
the TF representation.
|
double[][] |
match(int j)
Does the matching j times and
return the TF representation.
|
double[][] |
matchAll(double tol)
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.
|
void |
setData(DiscreteFunction f)
Allows the user to change the
DiscreteFunction (see constructor).
|
add, add, add, add, checkBiorthogonality, cloneArrayDiscreteFunction, getData, getDual, getMorseThreshold, getPrimary, getResidue, getResidues, getSize, getWeigth, getWeigths, includeFourier, includeMasslessFourier, norm, norm, setMorseThresholdpublic MatchingPursuit(DiscreteFunction f)
public void add(MultiscaleFunction fprimary, MultiscaleFunction fdual)
BasisFunctionLibraryadd in class BasisFunctionLibrarypublic java.lang.Object clone()
clone in class BasisFunctionLibrarypublic int[] getRecord()
public double[] getRecordedNorms()
public double[] getCoefs()
public void setData(DiscreteFunction f)
BasisFunctionLibrarysetData in class BasisFunctionLibrarypublic void diagnostic(double tol)
throws MaximumIterationsExceededException
java.lang.IllegalArgumentException - if
the matching failsMaximumIterationsExceededException - if it can't
match one of the elements of the dictionnaryjava.lang.IllegalArgumentException - if tol is
is negativepublic double[][] match()
public double[][] matchAll(double tol)
throws MaximumIterationsExceededException
tol - percentile of energyjava.lang.IllegalArgumentException - if tol is not within the interval [0,1]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)public double[][] forcedMatch(int pos)
public double[][] match(int j)
number - of iterationsjava.lang.IllegalArgumentException - if j is not positive