-
Notifications
You must be signed in to change notification settings - Fork 4
How it Works
This page describes the technical details of how the PulseAnalyse tool works.
PulseAnalyse performs several steps to analyse arterial pulse waves, as follows. Click on the links to find out more about each step.
Further details on each of these steps are now provided.
The most notable step taken during the setup is to determine whether a single pulse wave, or multiple pulse waves, have been provided as an input. If the duration of the input signal is less than 2.5 seconds, then it is assumed that it contains a single pulse wave. If it is more than 2.5 seconds, then it is assumed that it contains multiple pulse waves.
Input Signal Duration | Assumed nature of signal |
---|---|
≤ 2.5 secs | single pulse wave |
> 2.5 secs | multiple pulse waves |
This step detects individual beats (i.e. pulse waves) within the signal. It also identifies the point of maximum amplitude within each pulse wave (i.e. the pulse wave peaks). The process differs depending on whether the input signal contains a single, or multiple, pulse waves:
The beat onset and end are simply the first and last point on the input signal.
In this case, individual beats are detected by:
- Filtering the signal to eliminate frequencies outside of 0.2 - 35 Hz.
- Detecting beats using the incremental merge segmentation algorithm (implemented by M.A.F Pimentel as part of the RRest toolbox).
Next, signal quality is assessed using an adaptation of the algorithm presented in ref. This algorithm determines the quality of the signal by assessing the consistency of pulse wave shapes. It assigns either high or low quality to each beat.
optional: performed if up.options.do_filter
is 1.
This filters the signal to eliminate:
- high frequency content above approximately 17.5 Hz.
- low frequency content below approximately 0.2 Hz. (In the case of a single pulse wave, low frequency content is removed by subtracting the baseline - a straight line between the pulse wave onset and the pulse wave end).
(the filter characteristics are specified by up.filtering.fiducial_points.elim_low_freqs
)
The filtering can result in slight changes to the locations of the pulse onsets. Therefore, new locations are obtained by adjusting the old locations to the locations of the minimum pulse wave values with 0.05 s of the old locations. (the tolerance is specified by up.paramSet.onset_tol
)
optional: performed if up.options.calibrate_pw
is 1.
This calibrates a pressure signal using reference blood pressure (BP) values. Two approaches can be taken:
- Provide reference systolic and diastolic (SBP and DBP) values: each pulse wave is scaled and offset to occupy the range between the reference SBP and DBP.
- Provide reference mean and diastolic (MAP and DBP) values: each pulse wave is scaled and offset to have the MAP and DBP values.
The reference values should be provided using two of: options.calib_sbp
, options.calib_dbp
, and options.calib_map
.
optional: performed if up.options.tran_func
is 1.
This transforms a peripheral pressure signal into an estimate of a central pressure signal. Brachial, radial and carotid pressure signals can be transformed into an estimated central (aortic) signal. Since different transfer functions are used for each peripheral pressure signal site, the site of the input signal must be specified using options.sig_type
as one of:
- Brachial:
options.sig_type = 'brachABP'
- Radial:
options.sig_type = 'radiaABP'
- Carotid:
options.sig_type = 'carotABP'
Only the shapes of the pulse waves are changed, and not their timings.
Part of the wider PulseAnalyse Project