Skip to content

← signal_processing package

PeakFindingWavelet

Find all peaks in the given data along a given axis.

This method uses a continuous wavelet based approach to be able to identify multiple peaks of various shapes and sizes. Note that there is also an alternative method that is based on contours, which may be easier to use or give more predictable results. By default, the offset is returned as the index of the element, counting from zero for the first element. However, in the special case that the node is applied over the time axis, it is possible to measure the offset instead in seconds, and one may also look up the position in seconds from the time axis (e.g., relative to whatever is 0 in the time axis). One can also optionally account for the delay of previous filter nodes, to the extent that the data is annotated with it. Version 1.0.2

Ports/Properties

indata

Input data.

verbose name
Indata
default value
None
port type
DataPort
value type
Packet (can be None)
data direction
IN

latencies

Output peak latencies.

verbose name
Latencies
default value
None
port type
DataPort
value type
Packet (can be None)
data direction
OUT

amplitudes

Output peak amplitudes.

verbose name
Amplitudes
default value
None
port type
DataPort
value type
Packet (can be None)
data direction
OUT

axis

Axis along which to find the peak. This axis will drop out of the data and be replaced by a one-element feature axis.

verbose name
Find Peak Along Axis
default value
time
port type
ComboPort
value type
str (can be None)

negative

Apply to negative peaks. If checked, the smallest element will be searched, instead of the largest.

verbose name
Find Negative Peaks
default value
False
port type
BoolPort
value type
bool (can be None)

unit

Unit of measurement to use, depending on axis that the peak is searched along. Using seconds here works only if the operation is performed along the time axis, and if the axis has a sampling rate set.

verbose name
Unit Of Measurement
default value
samples
port type
EnumPort
value type
str (can be None)

wavelet

Type of wavelet to use for matching.

verbose name
Wavelet
default value
ricker
port type
EnumPort
value type
str (can be None)

min_width

Minimum peak width. Expressed in the selected unit of measurement (seconds or samples). For other units (e.g., Hz), this is still measured in samples.

verbose name
Min Width
default value
5
port type
FloatPort
value type
float (can be None)

max_width

Maximum peak width. Expressed in the selected unit of measurement (seconds or samples). For other units (e.g., Hz), this is still measured in samples.

verbose name
Max Width
default value
15
port type
FloatPort
value type
float (can be None)

num_widths

Number of intermediate widths to consider. The algorithm will separately scan for a number of intermediate widths between min_width and max_with. Choosing a finer resolution here may improve the accuracy of peak finding, but at increased computational cost.

verbose name
Num Widths
default value
10
port type
IntPort
value type
int (can be None)

max_count

Maximum number of peaks to find. If more peaks are found, the ones with the highest amplitude will be kept.

verbose name
Max Count
default value
None
port type
IntPort
value type
int (can be None)

subtract_filter_delay

Subtract filter delay (time axis only). Note that this is most reliable when used with only linear-phase filters (e.g., FIR filter without minimum phase option), since otherwise the delay will depend on the frequency content of the signal.

verbose name
Subtract Filter Delay
default value
False
port type
BoolPort
value type
bool (can be None)

account_for_time_axis

Look up latency from the time axis. If unchecked, the lantency will be computed relative to the beginning of the data segment, but if checked, it will be relative to whatever is 0.0 in the time axis (and would even work with irregularly sampled data).

verbose name
Respect Time Axis
default value
False
port type
BoolPort
value type
bool (can be None)

update_on_streaming

Update on streaming data. If enabled (default), then this node will update its output measure on every chunk, whether it is marked as streaming or not. If False, then it will only update on non-streaming, chunks, such as calibration data.

verbose name
Update On Streaming Data
default value
True
port type
BoolPort
value type
bool (can be None)

min_snr

Minimum signal-to-noise ratio.

verbose name
Min Snr
default value
1
port type
FloatPort
value type
float (can be None)

noise_percentile

Percentile of where the noise floor lies.

verbose name
Noise Percentile
default value
10
port type
FloatPort
value type
float (can be None)

set_breakpoint

Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

verbose name
Set Breakpoint (Debug Only)
default value
False
port type
BoolPort
value type
bool (can be None)

metadata

User-definable meta-data associated with the node. Usually reserved for technical purposes.

verbose name
Metadata
default value
{}
port type
DictPort
value type
dict (can be None)