[RESOLVED] Cleaning of physiological signals

Hi! I would like to ask how the cleaning of physiological signals ( PULS and RESP) can be integrated into the pipeline. Thanks!!

Giulia, hi!

I am assuming that you would like to use the physiological signal to regress it out from the BOLD images, similar to the movement and ventricle, white matter, and global signal. Am I correct? In this case, the physiological signal has to be downsampled to the sampling rate of the BOLD signal and added as a separate column to the .nuisance files that are generated using the extract_nuisance_signal command. That signal can then be regressed out using the preprocess_bold and preprocess_conc commands. QuNex currently does not provide specific tools for preprocessing physiological signal and embedding it in the .nuisance files.

To be more specific: after running extract_nuisance_signal command, each session has a bold[n].nuisance for each BOLD image file. These regular text files are located in /<session_id>/images/functional/movement/. An example file would be:

frame            V                WM               WB              
1                34038.4648437500 24706.4003906250 28420.8613281250
2                34089.4843750000 24708.6406250000 28422.0644531250
3                34172.4218750000 24692.6777343750 28420.8203125000
4                33993.5898437500 24658.7695312500 28434.7207031250
5                34018.8984375000 24728.0644531250 28525.8027343750
6                34121.9765625000 24745.7968750000 28542.5273437500
7                34176.1250000000 24718.6230468750 28527.4414062500
8                34115.8789062500 24708.5937500000 28536.4042968750

The example above lists values for Ventricle, White Matter, and Whole Brain signals for the first eight BOLD frames. To add heart rate and respiratory signal, you would add two columns, e.g. (the values are arbitrary in this case):

frame            V                WM               WB               RESP     PULSE
1                34038.4648437500 24706.4003906250 28420.8613281250 8.131354 55.342
2                34089.4843750000 24708.6406250000 28422.0644531250 7.123123 57.234
3                34172.4218750000 24692.6777343750 28420.8203125000 6.286312 64.342
4                33993.5898437500 24658.7695312500 28434.7207031250 7.323124 58.324
5                34018.8984375000 24728.0644531250 28525.8027343750 6.424234 58.367
6                34121.9765625000 24745.7968750000 28542.5273437500 5.532646 54.543
7                34176.1250000000 24718.6230468750 28527.4414062500 7.032464 56.423
8                34115.8789062500 24708.5937500000 28536.4042968750 9.432534 54.645

When running preprocess_bold or preprocess_conc you can then add the following to the bold_nuisance parameter:

qunex preprocess_conc \
    --sessions="$STUDYFOLDER/processing/batch.txt" \
    --sessionsfolder="$STUDYFOLDER/sessions" \
    --bold_nuisance="m,V,WM,RESP,PULSE,1d" \

In this case, movement, ventricle, white matter, respiratory and pulse signal and their first derivatives (1d) would be regressed out using the preprocess_conc command.

I hope this helps.

With kind regards,


1 Like

Hi Grega!
Thank you very much for your helpful reply. I have a doubt about the movement: if it also has to be added as a column and how the movement data is obtained or if the movement correction is implicit in the pipeline.
Thank you.

Giulia, hi!

Motion correction parameters are saved during the HCP minimal preprocessing step and are copied over to the study/sessions/<session_id>/images/functional/movement/ folder. They are stored in bold[n].mov files, where [n] is the number of the bold file they correspond to. These are simple txt files with the six motion correction parameters written in six columns. There is no need to process these files additionally. The information is used automatically when you specify that you would like to include movement correction parameters in the GLM. This is again specified using the --bold_nuisance parameter. You can provide the following values to specify what specifically to include in the regression:

  • m – 6 motion parameters
  • m1d – 6 motion parameters’ first derivatives
  • mSq – 6 motion parameters’ squared values
  • m1dSq – 6 squared motion parameters’ first derivatives

If you include m and 1d, it will also add the six motion parameters’ first derivatives.

To sum up, movement correction parameters are not implicit in the analysis, you still need to specify them, however, there is no need to prepare them, you just need to specify them using the --bold_niusance parameter to either preprocess_conc or preprocess_bold command.

All the best,