-
Notifications
You must be signed in to change notification settings - Fork 19
Open
Labels
EnhancementNew feature or requestNew feature or request
Description
Harrison et al. (2020) proposes a new filtering approach when calculating respiration-based metrics (especially respiratory volume per unit time [RVT]) that is supposedly better able to capture atypical breathing (e.g., deep breaths). While it's just a preprint, I think it's worth looking into this method to see if it's worth supporting in phys2denoise.
Here are the details of the algorithm, taken from the manuscript:
- PhysIO preprocessing: Remove low frequency drifts (less than 0.01 Hz) from the breathing signal, and remove high-frequency noise above 2.0 Hz. This version of the breathing signal is used for both RETROICOR and the peak-based RVT estimate in the physiological pipelines used in the Results section. This is the raw trace shown in Panel (a) of Figure 3.
- Lowpass filter the data again to more aggressively remove high-frequency noise above 0.75 Hz. This is the raw trace shown in Figure 1.
- Decompose the signal into magnitude and phase components via the Hilbert transform.
- Linearly interpolate any periods where the phase time course decreases, using the procedure in Figure 2, to remove any artefactual negative frequencies. Reconstruct the oscillatory portion of the signal, cos(𝜙(𝑡)), and lowpass filter at 0.75 Hz to remove any resulting artefacts. This procedure is repeated 10 times, with the new phase timecourse re- estimated from the filtered oscillatory signal.
- Calculate RV and low-pass filter the signal magnitude at 0.2 Hz to remove within-cycle fluctuations. Instantaneous breathing frequency is the numerical derivative of the phase timecourse, filtered as above. Finally, estimates are thresholded to remove physiologically implausible values.
Metadata
Metadata
Assignees
Labels
EnhancementNew feature or requestNew feature or request