Motion scrubbing in C-PAC 1.8.0

43 views
Skip to first unread message

TT

unread,
Jun 14, 2021, 10:49:13 AM6/14/21
to cpax_forum
Hi All,

Does CPAC 1.8.0 include motion scrubbing functionality?
I'd like to include motion scrubbing in a C-PAC v1.8.0 pipeline, but do not see the options in the pipeline yml file, or pipeline GUI. (I'd like to include it not just in PyPEER)

Older version:
  • I see that scrubbing is included in older versions of C-PAC and can be turned on via the pipeline yml file, but do not see the ability to turn it on in v1.8.0.

Related post:

Code:
Thank you,
Alex

sgia...@gmail.com

unread,
Jun 21, 2021, 6:32:22 PM6/21/21
to cpax_forum
Hi Alex,

It is indeed still in C-PAC. The nuisance regression suite has been expanded and the naming is a bit different. Scrubbing is now under "Censoring".
We are in the process of updating all of our User Guides- apologies if we have not been clear.

AFNI 3dTproject is now the toolset used for nuisance regression. The censoring options, according to its manual:

                       ++ mode = ZERO ==> put zero values in their place
                                      ==> output datset is same length as input
                       ++ mode = KILL ==> remove those time points
                                      ==> output dataset is shorter than input
                       ++ mode = NTRP ==> censored values are replaced by interpolated
                                          neighboring (in time) non-censored values,
                                          BEFORE any projections, and then the
                                          analysis proceeds without actual removal
                                          of any time points -- this feature is to
                                          keep the Spanish Inquisition happy.

(We also offer spike regression).
To use scrubbing as it is traditionally, you will want to set up the Censor regressor with "KILL". According to the AFNI manual, this will not keep the Spanish Inquisition happy:

    nuisance_corrections:
        2-nuisance_regression:
            run: [On]
        Regressors:
            - Name: 'scrubbing_example'
              Censor:
                  method: 'Kill'
                  thresholds:
                  - type: 'FD_J'
                    value: 0.3
                  number_of_previous_trs_to_censor: 0
                  number_of_subsequent_trs_to_censor: 2

For example, this would use the Jenkinson calculation of Mean FD and set the threshold to 0.3mm- any Mean FD above that will scrub those volumes - and in this example, 2 volumes after that one (if you want).

Here is the v1.8+ pipeline format as reference, specifically the nuisance regression section:

Let me know if you have any questions.

Best,
Steve
Reply all
Reply to author
Forward
0 new messages