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:
- Run tedana (using desired parameters and the default tree)
- Extract mean CSF and WM signal from
desc-optcom_bold.nii.gz. - Generate
external_regressors.tsvwith motion and physiological signals. - Run tedana again with external regressors and a custom tree to handle them, with the
--mixto 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