Scrubbing#

CPAC.scrubbing.create_scrubbing_preproc(wf_name='scrubbing')[source]#

This workflow essentially takes the list of offending timepoints that are to be removed and removes it from the motion corrected input image. Also, it removes the information of discarded time points from the movement parameters file obtained during motion correction.

Parameters

wf_name (string) – Name of the workflow

Returns

scrub – Scrubbing workfow object

Return type

object

Notes

Source

Workflow Inputs:

inputspec.frames_in_ID : string (mat file)
    path to file containing list of time points for which FD > threshold
inputspec.movement_parameters : string (mat file)
    path to file containing 1D file containing six movement/motion parameters
    (3 Translation, 3 Rotations) in different columns
inputspec.preprocessed : string (nifti file)
    preprocessed input image path

Workflow Outputs:

outputspec.preprocessed : string (nifti file)
    preprocessed scrubbed output image
outputspec.scrubbed_movement_parameters : string (mat file)
    path to 1D file containing six movement/motion parameters
    for the timepoints which are not discarded by scrubbing

Order of Commands:

  • Remove all movement parameters for all the time frames other than those that are present in the frames_in_1D file

  • Remove the discarded timepoints from the input image. For details see 3dcalc:

    3dcalc -a bandpassed_demeaned_filtered.nii.gz[0,1,5,6,7,8,9,10,15,16,17,18,19,20,24,25,287,288,289,290,291,292,293,294,295]
           -expr 'a' -prefix bandpassed_demeaned_filtered_3dc.nii.gz
    

High Level Workflow Graph:


images/generated/scrubbing.png

Detailed Workflow Graph:

images/generated/scrubbing_detailed.png

Example

>>> from CPAC import scrubbing
>>> sc = scrubbing.create_scrubbing_preproc()
>>> sc.inputs.inputspec.frames_in_ID = 'frames_in.1D'  
>>> sc.inputs.inputpsec.movement_parameters = 'rest_mc.1D'  
>>> sc.inputs.inputpsec.preprocessed = 'rest_pp.nii.gz'  
>>> sc.run()  
CPAC.scrubbing.get_indx(scrub_input, frames_in_1D_file)[source]#

Method to get the list of time frames that are to be included

Parameters

in_file (string) – path to file containing the valid time frames

Returns

scrub_input_string – input string for 3dCalc in scrubbing workflow, looks something like ” 4dfile.nii.gz[0,1,2,..100] “

Return type

string

CPAC.scrubbing.get_mov_parameters(infile_a, infile_b)[source]#

Method to get the new movement parameters file after removing the offending time frames (i.e., those exceeding FD 0.5mm/0.2mm threshold)

Parameters
  • infile_a (string) – path to file containing the valid time frames

  • infile_b (string) – path to the file containing motion parameters

Returns

out_file – path to the file containing motion parameters for the valid time frames

Return type

string