PeakFinderCWTExecute Method |
Finds peaks in a 1-D array using continuous wavelet transformation.
Namespace: Altaxo.Science.Spectroscopy.PeakSearchingAssembly: AltaxoCore (in AltaxoCore.dll) Version: 4.8.3448.0 (4.8.3448.0)
Syntaxpublic static (List<RidgeLine> RidgeLines, double[,] ) Execute(
double[] vector,
IEnumerable<double> widths,
Func<double, double, double>? wavelet = null,
Func<int, int>? max_distances = null,
double? gap_thresh = null
)
Parameters
- vector Double
- 1-D array in which to find peaks.
- widths IEnumerableDouble
-
Widths to use for calculating the CWT matrix.
In general, this range should cover the expected widths of peaks of interest.
- wavelet FuncDouble, Double, Double (Optional)
-
The wavelet function.
The first parameter is the x-value of the wavelet function, the second parameter is the scale (widths).
The wavelet should be normalized and symmetric.
Default is the Ricker wavelet.
- max_distances FuncInt32, Int32 (Optional)
-
At each row, a ridge line is only connected if the relative maximum at row n is within max_distances(n)
from the relative maximum at row n+1.
Default is ceil(widths[n] / 4).
- gap_thresh NullableDouble (Optional)
-
If a relative maximum is not found within max_distances, there will be a gap.
A ridge line is discontinued if there are more than gap_thresh rows without connecting a new relative maximum.
Default is ceil(widths[0]).
Return Value
ValueTupleListRidgeLine,
Double
A tuple containing all ridge lines that were found and the matrix of CWT coefficients.
The list of ridge lines is not sorted.
Use a filter function (e.g.
FilterRidgeLines(IROMatrixDouble, ListRidgeLine, NullableInt32, NullableInt32, Double, Double)) to filter out non-essential lines.
See Also