Rerun denoising w/external regressors adding CSF and WM signal

Hi,

I have been trying to run tedana using motion, CSF, and WM external regressors. The motion part was straightforward, but I am struggling with the physiological signals. Any input or advice that anyone may have would be greatly appreciated.
Based on digging around on NeuroStarts and GitHub, it seems the conceptual way to go is:

  1. Run tedana (using desired parameters and the default tree)
  2. Extract mean CSF and WM signal from desc-optcom_bold.nii.gz.
  3. Generate external_regressors.tsv with motion and physiological signals.
  4. Run tedana again with external regressors and a custom tree to handle them, with the --mix to specify the ICA mixing matrix.

Putting this into practice is where I get confused.
If I run tedana with the following command:
tedana --out-dir TEDANA_OUT -d sub_ses_task-rest_echo-1_moco.nii.gz sub_ses_task-rest_echo-2_moco.nii.gz sub_ses_task-rest_echo-3_moco.nii.gz -e 12.60 30.34 48.08 --fittype curvefit --mask sub_ses_task-rest_echo-1_moco_brain_mask.nii.gz --masktype none --tedpca 200 --ica_method robustica --tree tedana_orig --tedort --maxrestart 10 --n_robust_runs 30 --seed -1 --gscontrol gsr

note: The data I am trying this on has 900 time points, so tedpca 200 was set as ~20-25% of total timepoints.

Then when rerunning with the external regressors and a different decision tree:
a. What would be the -d input? Using the same input as on first run takes up time re-doing the fits and remaking the desc-optcom_bold.nii.gz.
b. For the --mix argument would I provide the desc-ICA_mixing.tsv or desc-ICAOrth_mixing.tsv?

I tried rerunning with the following command:
tedana --out-dir test-reclassify -d sub_ses_task-rest_echo-1_moco.nii.gz sub_ses_task-rest_echo-2_moco.nii.gz sub_ses_task-rest_echo-3_moco.nii.gz -e 12.60 30.34 48.08 --fittype curvefit --mask sub_ses_task-rest_echo-1_moco_brain_mask.nii.gz --masktype none --tree tedana_orig_modified.json --tedort --external external_regressors.tsv --mix desc-ICAOrth_mixing.tsv --gscontrol gsr

This seems to achieve the desired effect, but I wanted to confirm and get input on whether is is the correct/best way of doing this.

Side Note: I was this old post Rerun Tedana with different decision tree - #3 by handwerkerd from @handwerkerd about ica_reclasify potentially having functionality to rerun with a different tree. Did that ever happen?

Many thanks for any advice and suggestions!
-Jenya

You still need to pass the data in, so -d should be the same as the first run. Passing in the T2* map from the first run via the --t2smap would speed things up.

You’ll want to pass in desc-ICA_mixing.tsv. The orthogonalized mixing matrix contains component time series where the accepted components are regressed out of the rejected components, but your new decision tree will probably change the classifications, so that orthogonalization from the previous run is no longer appropriate.

That mostly looks good to me, though you should change the mixing matrix and consider passing in --t2smap.

Not yet, but it sounds like it’s worth implementing.

1 Like