Physiological Noise Correction - Brain Innovation · 2019. 9. 18. · RETROICOR (Glover et al.,...

29
Physiological Noise Correction Using the Filtered Physiological Recordings, RETROICOR and BIDS 18-09-2019

Transcript of Physiological Noise Correction - Brain Innovation · 2019. 9. 18. · RETROICOR (Glover et al.,...

Page 1: Physiological Noise Correction - Brain Innovation · 2019. 9. 18. · RETROICOR (Glover et al., 2000) • Retrospective Image Correction (RETROICOR) was developed for whole-brain

Physiological Noise CorrectionUsing the Filtered Physiological Recordings, RETROICOR and BIDS

18-09-2019

Page 2: Physiological Noise Correction - Brain Innovation · 2019. 9. 18. · RETROICOR (Glover et al., 2000) • Retrospective Image Correction (RETROICOR) was developed for whole-brain

Background

• Physiological noise increases signal variance and decreases true signal detection power

• Because of the structured nature of the physiological noise, the assumption of independent and identically distributed residuals in fMRI analyses might be compromised

• Physiological noise is specifically problematic in connectivity studies -> connections between brain regions are inferred based on temporal correlation between time courses

• the cardiac and respiratory cycle cause signal changes in brain areas near major vessels and ventricles, and motion artifacts near the edges of the brain

• respiration-induced magnetic field changes and motions -> global effects, effects of pulsatility of blood flow -> local effect

• changes in physiological processes (breathing and heartbeat) can be the result of different task demands -> difficult interpretation of task-induced BOLD changes

• Nice overview work: Murphy et al., 2013, Caballero-Gaudes & Reynolds, 2017

Page 3: Physiological Noise Correction - Brain Innovation · 2019. 9. 18. · RETROICOR (Glover et al., 2000) • Retrospective Image Correction (RETROICOR) was developed for whole-brain

RETROICOR (Glover et al., 2000)

• Retrospective Image Correction (RETROICOR) was developed for whole-brain fMRI

• physiological noise (respiration & cardiac pulsatility) is removed by:

1. Assigning a cardiac and respiratory phase to each data point based on its acquisition time relative to the physiological cycles

• Phase of the cardiac cycle: time to the nearest preceding heartbeat / time between heart beats (cardiac_phase(t) = 2*pi*(t - t1)/(t2-t1))

• Phase of the respiratory cycle: depth of the breath at the time of the image acquisition relative to a histogram (scaled from 1 to 100) of the respiration depth across the entire imaging run

2. Then modelling their likely effect on imaging data using a basis set including 4-6 Fourier terms

• Assumption: physiological processes are quasi-periodic, so that cardiac and respiratory phases can be uniquely assigned for each image in time series

• although a time lag may exist between the pulse measured at the finger tip and that measured in the head, the oscillatory nature of the correction means that the lag will result in a phase shift only -> the cardiac modeling in the cardiac phase model is by design insensitive to phase shifts (Hutton et al., 2011)

• Modified version which is implemented via the GLM:

• Fourier analysis can be used to model noise in the data

• 4 – 6 terms for cardiac (sine/cosine)

• 4 – 6 terms for respiratory (sine/cosine)

• These low-order Fourier-series are fitted to the image data to account for signal variations due to physiological noise

Page 4: Physiological Noise Correction - Brain Innovation · 2019. 9. 18. · RETROICOR (Glover et al., 2000) • Retrospective Image Correction (RETROICOR) was developed for whole-brain

Matlab Scripts Available to Convert Physiological Recordings to BIDS format

• Different Matlab scripts to convert physiological recordings to BIDS format are available upon request ([email protected]) for:

• Physiological recordings saved via the multi-band accelerated EPI sequences developed at the Center for Magnetic Resonance Research (CMRR), Department of Radiology, University of Minnesota (https://github.com/CMRR-C2P/MB/blob/master/readCMRRPhysio.m)

• Physiological recordings from different Siemens scanners

• Physiological recordings from Brain Products ExG (*.vhdr and *.vmrk and *.eeg), in combination with EEGlab 14_1_2b -> (https://sccn.ucsd.edu/eeglab/index.php)

Page 5: Physiological Noise Correction - Brain Innovation · 2019. 9. 18. · RETROICOR (Glover et al., 2000) • Retrospective Image Correction (RETROICOR) was developed for whole-brain

The main script

CreatePhysioPredictors_BIDS.m

Page 6: Physiological Noise Correction - Brain Innovation · 2019. 9. 18. · RETROICOR (Glover et al., 2000) • Retrospective Image Correction (RETROICOR) was developed for whole-brain

Required Input

• FMR (DICOM Acquisition Time Stamp only important when converting physio data to BIDS standard)

• Physiological Data in accordance with the BIDS standard:

• * _Physio.json and

• *_Physio.tsv.gz:

Page 7: Physiological Noise Correction - Brain Innovation · 2019. 9. 18. · RETROICOR (Glover et al., 2000) • Retrospective Image Correction (RETROICOR) was developed for whole-brain

Output Files

• Naming scheme: • all resulting files start with the name of the FMR

1. *_cardiacrespiratory.mat

2. *_RawPulse.png & *_RawPulse.fig

3. *_pulse_TBP0.5-8Hz.sdm

4. *_pulse_RETROICOR.sdm

5. *_RawResp.png & *_RawResp.fig

6. *_resp_TLP2Hz.sdm

7. *_resp_RETROICOR.sdm

8. *_pulseresp_RETROICOR.sdm

9. *_RespPeaks.png & *_RespPeaks.fig

Page 8: Physiological Noise Correction - Brain Innovation · 2019. 9. 18. · RETROICOR (Glover et al., 2000) • Retrospective Image Correction (RETROICOR) was developed for whole-brain

Output Files (1)1. *_cardiacrespiratory.mat

• Contains structure called physio with different parameters extracted from the *_Physio.json and the *_Physio.tsv.gz as well as the FMR:

1. Scriptname: script that was used to create this mat file

2. Scriptdate: date and time the script was edited last

3. Current date: date the script was ran with the current data set4. Sampling: sampling frequency of physiological signal

5. Startsec: delay with respect to begin sequence start, defined in seconds

6. Colheader: data traces available in *_Physio.tsv.gz 7. Data: data traces from *_Physio.tsv.gz

8. NoOfTriggerIntervals: number of volume triggers or number of volume * slice triggers

9. TR: repetition time of functional scan10. NoVols: Number of Volumes in FMR (without skipped volumes)

11. NoSlices: No of Slices in FMR document

12. SliceTimingTableSize: Number of Slices for which individual acquisition time exists in volume13. SliceTable: Individual Slice Acquisition Times

14. SliceTimes: Unique Slice Acquisition Times (important for MB sequences)

15. Timestampsinmsec: time stamps of data in msec with respect to onset of fMRI run16. Pulsepeaks_ind: Indices of identified pulse peaks in data trace

17. MeanHeartRate: mean heart rate in data trace, calculated based on the identified pulse peaks

18. StdHeartRate: standard deviation of heart rate in data trace, calculated based on the identified pulse peaks

19. resppeaks_userthreshold: user-defined peak threshold for respiratory peaks in data trace (only available if user chose set this extra threshold after peak identification)

20. Resppeaks_ind: Indices of identified respiratory peaks in data trace (based on low-pass filtered signal)

21. MeanRespiratoryRate: mean respiratory rate in data trace, calculated based on the identified respiratory peaks

22. StdRespiratoryRate: standard deviation of respiratory rate in data trace, calculated based on the identified respiratory peaks

Page 9: Physiological Noise Correction - Brain Innovation · 2019. 9. 18. · RETROICOR (Glover et al., 2000) • Retrospective Image Correction (RETROICOR) was developed for whole-brain

Output Files (2)

2. *_RawPulse.png & _RawPulse.fig• Figure showing the unfiltered and filtered raw data,

together with the identified peak locations of the signal within the run, as well as the start and end of the run

Page 10: Physiological Noise Correction - Brain Innovation · 2019. 9. 18. · RETROICOR (Glover et al., 2000) • Retrospective Image Correction (RETROICOR) was developed for whole-brain

Output Files (3)

3. *_pulse_TBP0.5-8Hz.sdm

• Data trace filtered with a zero-phase digital bandpass filter between 0.5 and 8 Hz to eliminate slow drifts and spikes

• Z-transformed

Page 11: Physiological Noise Correction - Brain Innovation · 2019. 9. 18. · RETROICOR (Glover et al., 2000) • Retrospective Image Correction (RETROICOR) was developed for whole-brain

Output Files (4)

4. *_pulse_RETROICOR.sdm• Cardiac RETROICOR predictors

• Default number of cardiac harmonics (N3) based on Harvey et al., 2008

Page 12: Physiological Noise Correction - Brain Innovation · 2019. 9. 18. · RETROICOR (Glover et al., 2000) • Retrospective Image Correction (RETROICOR) was developed for whole-brain

Output Files (5)

5. *_RawResp.png & _RawResp.fig• Figure showing the unfiltered and filtered raw data, as

well as the start and end of the run

Page 13: Physiological Noise Correction - Brain Innovation · 2019. 9. 18. · RETROICOR (Glover et al., 2000) • Retrospective Image Correction (RETROICOR) was developed for whole-brain

Output Files (6)

6. *_resp_TLP2Hz.sdm

• Data trace filtered with a zero-phase digital lowpass filter of 2 Hz to eliminate spikes

• Z-transformed

Page 14: Physiological Noise Correction - Brain Innovation · 2019. 9. 18. · RETROICOR (Glover et al., 2000) • Retrospective Image Correction (RETROICOR) was developed for whole-brain

Output Files (7)

7. *_resp_RETROICOR.sdm• Respiratory RETROICOR predictors

• Default number of respiratory harmonics (N4) based on Harvey et al., 2008

Page 15: Physiological Noise Correction - Brain Innovation · 2019. 9. 18. · RETROICOR (Glover et al., 2000) • Retrospective Image Correction (RETROICOR) was developed for whole-brain

Output Files (8)8. *_pulseresp_RETROICOR.sdm

• The joint cardiac (N3) and respiratory (N4) RETROICOR predictors together with one multiplicative term (N1)

• cos(cardiac_phase + resp_phase)

• sin(cardiac_phase + resp_phase)

• cos(cardiac_phase - resp_phase)

• sin(cardiac_phase - resp_phase)

• based on Harvey et al., 2008

Page 16: Physiological Noise Correction - Brain Innovation · 2019. 9. 18. · RETROICOR (Glover et al., 2000) • Retrospective Image Correction (RETROICOR) was developed for whole-brain

Output Files (9)9. *_RespPeaks.png & *_RespPeaks.fig

• Figure showing unfiltered and filtered raw data, together with identified peak locations in the signal

• original peaks are identified taking only the immediate neighbors of each data point into account

• Afterwards the time difference between successive peaks is checked: based on the assumption that the respiratory rate at rest is between 0.2 and 0.4 Hz, it is safe to assume that neighbouring peaks should not be closer than 1.66 sec (about 0.6 Hz) and the lower peak of two peaks too close in time is removed (red peaks)

• The user is asked whether he/she would like to remove peaks below a user-defined amplitude threshold, if yes, this threshold (see red line in plot) is used to remove low-amplitude peaks

Page 17: Physiological Noise Correction - Brain Innovation · 2019. 9. 18. · RETROICOR (Glover et al., 2000) • Retrospective Image Correction (RETROICOR) was developed for whole-brain

The Script: Step by Step

1. User InputInput Files

• *_Physio.tsv.gz

• Should take into account the number of skipped volumes in the FMR

• *_Physio.json

• StartTime should be computed with respect to the first non-skipped volume in FMR

• *.fmr

• File Version 7

Definition of RETROICOR model:

• Number of harmonics

• based on the paper:Harvey, A. K., Pattinson, K. T. S., Brooks, J. C. W., Mayhew, S. D., Jenkinson, M., & Wise, R. G. (2008). Brainstem functional magnetic resonance imaging: Disentangling signal from physiological noise. Journal of Magnetic Resonance Imaging, 28(6), 1337?1344. https://doi.org/10.1002/jmri.21623

• Order can be changed in the header, if needed:

• order_c = 3; number of cardiac harmonics

• order_r = 4; number of respiratory harmonics

• order_cr = 1; number of multiplicative harmonics

Page 18: Physiological Noise Correction - Brain Innovation · 2019. 9. 18. · RETROICOR (Glover et al., 2000) • Retrospective Image Correction (RETROICOR) was developed for whole-brain

The Script: Step by Step

2. Extracting Information from Input Files• *_Physio.json

• Sampling Frequency of Physiological Data (physio.sampling in Hz - double)

• Start Time of Physiological Trace with respect to start of fMRI Data Acquisition (physio.startsec in seconds - double)

• Kind of data traces saved in *_Physio.tsv.gz file, e.g. cardiac, respiratory, trigger (physio.colheader - cell)

• *_Physio.tsv.gz

• All data traces (physio.data – double)

• Number of triggers in file (physio. NoOfTriggerIntervals – double)

• *.fmr

• Time to repeat of fMRI data (physio.TR – double)

• Number of Volumes in FMR (physio.NoVols – double)

• Number of Slices in FMR (physio.NoSlices – double)

• No of Slice Acquisition Times or size of the Slice Time Table (physio.SliceTimingTableSize – double)

• Slice Acquisition Time for each slice (physio.SliceTable – double)

• Unique slice acquisition times (physio.SliceTimes – double) would be half of the physio.SliceTable for MB sequence of factor 2

• Output: Physio_cardiacrespiratory.mat file

• will be saved in the same folder as the FMR file

• Same name as the FMR file including the physio.colheader (e.g. _cardiacrespiratory.mat)

• Extract the exact trigger indices (trig_startsli_ind) and create a time vector in seconds that is of the same length as the physio.data (timestamps)

Page 19: Physiological Noise Correction - Brain Innovation · 2019. 9. 18. · RETROICOR (Glover et al., 2000) • Retrospective Image Correction (RETROICOR) was developed for whole-brain

The Script: Step by Step

3. Plotting the Quality of the Physio Traces

• Cardiac

• Plot the raw time course of the cardiac signal trace

• Plot the bandpass filtered data to check whether the filtering improved the data quality, e.g. by removing spikes in the signal and baseline wander

• Zero-phase second-order bandpass butterworth filter, normalized cut-off frequency between 0.5/Nyquist frequency and 8/Nyquist frequency

• For plotting within the same figure, the mean of the raw data trace is added to the filtered data

• Plot the first and last MRI trigger to check whether there is enough information prior and after the scan (i.e. at least one systolic peak before and after the end of the scan)

• Plot all detected systolic peaks within and before and after the scan time

• Saved as PNG and Matlab Figure

• Respiratory

• Plot the raw time course of the respiratory signal trace

• Plot the lowpass filtered data to check whether the filtering improved the data quality, e.g. by removing spikes in the signal

• Zero-phase second-order lowpass butterworth filter, normalized cut-off frequency of 2/Nyquist frequency (normal respiratory frequency at rest between 0.2 and 0.4 Hz (respiratory rate between 12 and 24 breaths per minute)

• Plot the first and last MRI trigger to check whether there is enough information prior and after the scan

Page 20: Physiological Noise Correction - Brain Innovation · 2019. 9. 18. · RETROICOR (Glover et al., 2000) • Retrospective Image Correction (RETROICOR) was developed for whole-brain

The Script: Step by Step

4. Cardiac Signal : Systolic Peak Detection And Cardiac Phase Assignment• Systolic Peak Detection based on Elgendi et al., 2013: Three-Stage Method to Get Indices of Systolic Peaks in Data Trace

1. Preprocessing (bandpass filtering and squaring)• remove baseline wander and high frequencies not contributing to the systolic peaks

• clipping the output by keeping the signal > 0

• squaring the signal -> squaring emphasizes large differences resulting from the systolic wave and suppresses small differences arisingfrom the diastolic wave and noise

2. Feature extraction (generating potential blocks using two moving averages - MA)

• Blocks of interest are generated using two event-related moving averages that demarcate the systolic and heartbeat areas

• w1 = 111 ms (window size of one systolic peak duration), w2 = 667 ms (window size of one beat duration)

3. Classification (thresholding)• Threshold 1 (THR1) is equal to MAbeat + a small offset * mean(preprocessed cardiac trace) (The equation that determines the offset level

beta (=0.02) is based on a brute force search)

• Find blocks that contain possible peaks: blocks = MApeak > THR1

• set second Threshold (THR2) to size of standard peak duration

• Find blocks with durations >= THR2

• Cardiac Phase Assignment

• Phase coded between 0 and 2 pi

• cardiac_phase(t) = 2*pi*(t - t1)/(t2-t1), t1 = time point of previous peak, t2 = time point of next peak

4. Computation of heart rate (mean and std)

• Mean( (Sampling Rate/Difference(Peak indices)) *60 )

• Std( (Sampling Rate/Difference(Peak indices)) *60 )

original

filtered

clipped

squared

Page 21: Physiological Noise Correction - Brain Innovation · 2019. 9. 18. · RETROICOR (Glover et al., 2000) • Retrospective Image Correction (RETROICOR) was developed for whole-brain

The Script: Step by Step

5. Respiratory Signal : Find Inspiration Location and Amplitude And Respiratory Phase Assignment

• Calculation of peak inspiration (peak location) and amplitude of inspiration (value of peak), since depth of breathing also influences the amount of head motion

1. Filtering

• one could set the respiration max value to a specific value when assuming clipping in the signal, so all values above this threshold would be set to a new max value

• removing extreme spikes in the data by using a lowpass filter of 2 Hz

2. Amplitude of respiratory signal from pneumatic belt normalized to the range 0, Rmax, i.e. find max and min amplitudes and normalize amplitude

• resp_norm = (resp_filt - min(resp_filt)) / (max(resp_filt) - min(resp_filt))

3. Calculate histogram from the number of occurrences of specific respiratory amplitudes in bins 1:100 and the bth bin is accordingly centered at bRmax/100

• resp_hist = hist(resp_norm,100)

4. Calculate running integral of the histogram, creating an equalized transfer function between the breathing amplitude and respiratory phase, where end-expiration is assigned a phase of 0 and peak inspiration has a phase of +/-pi. While inhaling the phase spans 0 to pi and during expiration, the phase is negated

• Calculate transfer function: resp_transfer_func = [0 (cumsum(resp_hist) / sum(resp_hist))]

• Smoothed version of normalized respiratory signal for taking derivative: kern_size = round(physio.sampling - 1), resp_smooth = conv(resp_norm,ones(kern_size,1),'same’)

• Derivative dR/dt: resp_diff = [diff(resp_smooth);0]

• respiratory phase between -pi to 0 to +pi: pi*resp_transfer_func(round(resp_norm * nbins)+1)' .* sign(resp_diff)

original

filtered

Amplitude normalized

squared

Page 22: Physiological Noise Correction - Brain Innovation · 2019. 9. 18. · RETROICOR (Glover et al., 2000) • Retrospective Image Correction (RETROICOR) was developed for whole-brain

The Script: Step by Step

6. Respiratory Signal : Peak Detection for Calculation of Respiratory Rate

• Find local maxima in filtered respiratory signal for computation of respiratory phase, see peak inspiration (peak location)

1. Filtering

• Assuming that the normal respiratory rate at rest is between 0.2 and 0.4 Hz (12 – 24 breaths per minute), it is safe to apply a lowpass filter of 0.8 Hz

2. Identify peaks in filtered signal, by checking the immediate neighbours of each datapoint

• Peak indices = (resp_filt (i-1) < resp_filt (i)) && (resp_filt (i+1) < resp_filt (i))

3. Clean identified peaks based on minimum distance between neighbouring peaks

• based on the assumption that respiratory rate at rest is between 0.2 and 0.4 Hz, it is safe to assume that neighbouring peaks should not be closer than 1.66 sec (about 0.6 Hz) apart

• Using this time difference and the sampling frequency, the minimum number of datapoints between neighbouring peaks is calculated

• And peaks that are too close in time are removed (the lower one of the two peaks too close is removed)

4. Optional user-defined cleaning of peak locations based on amplitude threshold

5. Computation of respiratory rate (mean and std)

• Mean( (Sampling Rate/Difference(Peak indices)) *60 )

• Std( (Sampling Rate/Difference(Peak indices)) *60 )

original

filtered

Peak Identification (red)

Peaks (green)Removed (red)

User-defined peak threshold (red line)Removed peaks (red)

Page 23: Physiological Noise Correction - Brain Innovation · 2019. 9. 18. · RETROICOR (Glover et al., 2000) • Retrospective Image Correction (RETROICOR) was developed for whole-brain

The Script: Step by Step

7. Model effect of phase on imaging data using a basis set of Fourier terms

1. Generate Volume-based Filtered Physio Data and Phase Values using triggers saved in _Physio.tsv.gz file

• Check if slice- or volume-based triggers are saved in tsv.gz file

• If slice-based triggers are saved, the start of each volume is sampled (at the moment – volume-based correction)• this could be changed to a different time point for volume-based correction

• Future: generate slice-based values for slice-based GLMs in BrainVoyager (this would be the optimum in the future)

2. Fit Xth Order Fourier Series

• cos(order*phase_vol)

• sin(order*phase_vol)

3. Save RETROICOR Predictors and Z-Transformed, Filtered Raw Signal in separate SDMs

4. If Both Cardiac and Respiratory Signal is available add Multiplicative Term to SDM and save as new SDM

• interaction between cardiac and respiratory processes might result in amplitude modulation of the cardiac signal by the respiratory waveform

• heart rate varies with respiration (respiratory sinus arrhythmia)

• venous return to the heart is facilitated during inspiration (intrathoracic pump)

• cos(order*cardiac_phase_vol + order*resp_phase_vol)

• sin(order*cardiac_phase_vol + order*resp_phase_vol)

• cos(order*cardiac_phase_vol - order*resp_phase_vol)

• sin(order*cardiac_phase_vol - order*resp_phase_vol)

Page 24: Physiological Noise Correction - Brain Innovation · 2019. 9. 18. · RETROICOR (Glover et al., 2000) • Retrospective Image Correction (RETROICOR) was developed for whole-brain

Post-Processing Options

1. During preprocessing of fMRI data:• Best order preprocessing steps:

• Motion Correction – RETROICOR – Slice-Scan-Time Correction (Jones et al., 2008)

• Volume-Based (at the moment) vs. Slice-Based GLMs (optimum – in the future)

2. As Confound Predictors during Data Analysis

Page 25: Physiological Noise Correction - Brain Innovation · 2019. 9. 18. · RETROICOR (Glover et al., 2000) • Retrospective Image Correction (RETROICOR) was developed for whole-brain

Computation of Heart Rate and Respiratory Rate per Stimulus

Condition

ExtractConditionBeatsAndBreathsPerMinute.m

&

ReadPRT.m

Page 26: Physiological Noise Correction - Brain Innovation · 2019. 9. 18. · RETROICOR (Glover et al., 2000) • Retrospective Image Correction (RETROICOR) was developed for whole-brain

ReadPRT.m - Output1. PRTfilename_prt.mat

2. Figure with Experimental Protocol

Page 27: Physiological Noise Correction - Brain Innovation · 2019. 9. 18. · RETROICOR (Glover et al., 2000) • Retrospective Image Correction (RETROICOR) was developed for whole-brain

ExtractConditionBeatsAndBreathsPerMinute.m (1)Input and Output

1. Input:• Output matlab structure from the script CreatePhysioPredictors_BIDS.m:

*_cardiacrespiratory.mat OR *_cardiac.mat OR *_respiratory.mat

• PRT file (via the script ReadPRT.m)

2. Output:• Updated physio structure: original mat file name & _inclProtocolInfo.mat

Page 28: Physiological Noise Correction - Brain Innovation · 2019. 9. 18. · RETROICOR (Glover et al., 2000) • Retrospective Image Correction (RETROICOR) was developed for whole-brain

ExtractConditionBeatsAndBreathsPerMinute.m (2)Script description

1. If the protocol is defined in Volumes, all condition on- & offsets will be transformed to msec resolution to compare them to the peak times defined in msec

2. save the script name , the date the script was changed last as well as the current date in the output file

3. find all peaks within each condition interval and save these identified peak times per interval in the prtstructure

1. Case 1: 2 or more peaks were identified in condition interval: a

2. Case 2: no peaks identified in condition interval: take closest peak before onset & closest peak after condition offset

3. Case 3: only 1 peak identified in condition interval: take closest peak in time outside condition interval, irrespective of before onset or after condition offset

4. compute time differences between consecutive peaks in condition intervals

5. compute mean/std heart rate/respiratory rate in each condition interval

6. compute mean/std heart rate/respiratory rate in each condition

Page 29: Physiological Noise Correction - Brain Innovation · 2019. 9. 18. · RETROICOR (Glover et al., 2000) • Retrospective Image Correction (RETROICOR) was developed for whole-brain

References

• Caballero-Gaudes, C., & Reynolds, R. C. (2017). Methods for cleaning the BOLD fMRI signal. NeuroImage, 154, 128–149. https://doi.org/10.1016/J.NEUROIMAGE.2016.12.018

• Elgendi, M., Norton, I., Brearley, M., Abbott, D., & Schuurmans, D. (2013). Systolic peak detection in acceleration photoplethysmograms measured from emergency responders in tropical conditions. PloS One, 8(10), e76585. https://doi.org/10.1371/journal.pone.0076585

• Glover, G. H., Li, T.-Q., & Ress, D. (2000). Image-based method for retrospective correction of physiological motion effects in fMRI: RETROICOR. Magnetic Resonance in Medicine, 44(1), 162–167. https://doi.org/10.1002/1522-2594(200007)44:1<162::AID-MRM23>3.0.CO;2-E

• Harvey, A. K., Pattinson, K. T. S., Brooks, J. C. W., Mayhew, S. D., Jenkinson, M., & Wise, R. G. (2008). Brainstem functional magnetic resonance imaging: Disentangling signal from physiological noise. Journal of Magnetic Resonance Imaging, 28(6), 1337–1344. https://doi.org/10.1002/jmri.21623

• Hutton, C., Josephs, O., Stadler, J., Featherstone, E., Reid, A., Speck, O., … Weiskopf, N. (2011). The impact of physiological noise correction on fMRI at 7 T. NeuroImage, 57(1), 101–112. https://doi.org/10.1016/j.neuroimage.2011.04.018

• Jones, T. B., Bandettini, P. A., & Birn, R. M. (2008). Integration of motion correction and physiological noise regression in fMRI. NeuroImage, 42(2), 582–590. https://doi.org/10.1016/j.neuroimage.2008.05.019

• Murphy, K., Birn, R. M., & Bandettini, P. A. (2013). Resting-state fMRI confounds and cleanup. NeuroImage, 80, 349–359. https://doi.org/10.1016/J.NEUROIMAGE.2013.04.001