Click or drag to resize

PeakFinderCWTExecute Method

Finds peaks in a 1-D array using continuous wavelet transformation.

Namespace: Altaxo.Science.Spectroscopy.PeakSearching
Assembly: AltaxoCore (in AltaxoCore.dll) Version: 4.8.3448.0 (4.8.3448.0)
Syntax
C#
public 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