#!/bin/tcsh -xef echo "auto-generated by afni_proc.py, Fri Oct 13 14:09:41 2017" echo "(version 5.18, September 12, 2017)" echo "execution started: `date`" # execute via : # tcsh -xef proc.VNS_01RS_fm_NL_RSFC |& tee output.proc.VNS_01RS_fm_NL_RSFC # =========================== auto block: setup ============================ # script setup # take note of the AFNI version afni -ver # check that the current AFNI version is recent enough afni_history -check_date 23 Sep 2016 if ( $status ) then echo "** this script requires newer AFNI binaries (than 23 Sep 2016)" echo " (consider: @update.afni.binaries -defaults)" exit endif # the user may specify a single subject to run with if ( $#argv > 0 ) then set subj = $argv[1] else set subj = VNS_01RS_fm_NL_RSFC endif # assign output directory name set output_dir = $subj.results # verify that the results directory does not yet exist if ( -d $output_dir ) then echo output dir "$subj.results" already exists exit endif # set list of runs set runs = (`count -digits 2 1 1`) # create results and stimuli directories mkdir $output_dir mkdir $output_dir/stimuli # copy anatomy to results dir 3dcopy VNS_01.nii.gz $output_dir/VNS_01 # copy any -mask_import datasets as mask_import_LABEL 3dcopy \ /rpool/home/asimmons/data/VNS1/AFNI_RS/files/template_ventricle_4mm.nii.gz \ $output_dir/mask_import_Tvent # ============================ auto block: tcat ============================ # apply 3dTcat to copy input dsets to results dir, while # removing the first 2 TRs 3dTcat -prefix $output_dir/pb00.$subj.r01.tcat \ VNS_01RestingVNS_fm.nii.gz'[2..$]' # and make note of repetitions (TRs) per run set tr_counts = ( 478 ) # ------------------------------------------------------- # enter the results directory (can begin processing data) cd $output_dir # ========================== auto block: outcount ========================== # data check: compute outlier fraction for each volume touch out.pre_ss_warn.txt foreach run ( $runs ) 3dToutcount -automask -fraction -polort 5 -legendre \ pb00.$subj.r$run.tcat+orig > outcount.r$run.1D # censor outlier TRs per run, ignoring the first 0 TRs # - censor when more than 0.1 of automask voxels are outliers # - step() defines which TRs to remove via censoring 1deval -a outcount.r$run.1D -expr "1-step(a-0.1)" > rm.out.cen.r$run.1D # outliers at TR 0 might suggest pre-steady state TRs if ( `1deval -a outcount.r$run.1D"{0}" -expr "step(a-0.4)"` ) then echo "** TR #0 outliers: possible pre-steady state TRs in run $run" \ >> out.pre_ss_warn.txt endif end # catenate outlier counts into a single time series cat outcount.r*.1D > outcount_rall.1D # catenate outlier censor files into a single time series cat rm.out.cen.r*.1D > outcount_${subj}_censor.1D # get run number and TR index for minimum outlier volume set minindex = `3dTstat -argmin -prefix - outcount_rall.1D\'` set ovals = ( `1d_tool.py -set_run_lengths $tr_counts \ -index_to_run_tr $minindex` ) # save run and TR indices for extraction of vr_base_min_outlier set minoutrun = $ovals[1] set minouttr = $ovals[2] echo "min outlier: run $minoutrun, TR $minouttr" | tee out.min_outlier.txt # ================================ despike ================================= # apply 3dDespike to each run foreach run ( $runs ) 3dDespike -NEW -nomask -prefix pb01.$subj.r$run.despike \ pb00.$subj.r$run.tcat+orig end # ================================= tshift ================================= # time shift data so all slice timing is the same foreach run ( $runs ) 3dTshift -tzero 0 -quintic -prefix pb02.$subj.r$run.tshift \ pb01.$subj.r$run.despike+orig end # -------------------------------- # extract volreg registration base 3dbucket -prefix vr_base_min_outlier \ pb02.$subj.r$minoutrun.tshift+orig"[$minouttr]" # ================================= align ================================== # for e2a: compute anat alignment transformation to EPI registration base # (new anat will be intermediate, stripped, VNS_01_ns+orig) align_epi_anat.py -anat2epi -anat VNS_01+orig \ -save_skullstrip -suffix _al_junk \ -epi vr_base_min_outlier+orig -epi_base 0 \ -epi_strip 3dAutomask \ -cost lpc+ZZ \ -volreg off -tshift off # ================================== tlrc ================================== # warp anatomy to standard space (non-linear warp) auto_warp.py -base MNI_avg152T1+tlrc -input VNS_01_ns+orig \ -skull_strip_input no # move results up out of the awpy directory # (NL-warped anat, affine warp, NL warp) # (use typical standard space name for anat) # (wildcard is a cheap way to go after any .gz) 3dbucket -prefix VNS_01_ns awpy/VNS_01_ns.aw.nii* mv awpy/anat.un.aff.Xat.1D . mv awpy/anat.un.aff.qw_WARP.nii . # ================================= volreg ================================= # align each dset to base volume, align to anat, warp to tlrc space # verify that we have a +tlrc warp dataset if ( ! -f VNS_01_ns+tlrc.HEAD ) then echo "** missing +tlrc warp dataset: VNS_01_ns+tlrc.HEAD" exit endif # register and warp foreach run ( $runs ) # register each volume to the base 3dvolreg -verbose -zpad 1 -base vr_base_min_outlier+orig \ -1Dfile dfile.r$run.1D -prefix rm.epi.volreg.r$run \ -cubic \ -1Dmatrix_save mat.r$run.vr.aff12.1D \ pb02.$subj.r$run.tshift+orig # create an all-1 dataset to mask the extents of the warp 3dcalc -overwrite -a pb02.$subj.r$run.tshift+orig -expr 1 \ -prefix rm.epi.all1 # catenate volreg/epi2anat/tlrc xforms cat_matvec -ONELINE \ anat.un.aff.Xat.1D \ VNS_01_al_junk_mat.aff12.1D -I \ mat.r$run.vr.aff12.1D > mat.r$run.warp.aff12.1D # apply catenated xform: volreg/epi2anat/tlrc # then apply non-linear standard-space warp 3dNwarpApply -master VNS_01_ns+tlrc -dxyz 4 \ -source pb02.$subj.r$run.tshift+orig \ -nwarp "anat.un.aff.qw_WARP.nii mat.r$run.warp.aff12.1D" \ -prefix rm.epi.nomask.r$run # warp the all-1 dataset for extents masking 3dNwarpApply -master VNS_01_ns+tlrc -dxyz 4 \ -source rm.epi.all1+orig \ -nwarp "anat.un.aff.qw_WARP.nii mat.r$run.warp.aff12.1D" \ -interp cubic \ -ainterp NN -quiet \ -prefix rm.epi.1.r$run # make an extents intersection mask of this run 3dTstat -min -prefix rm.epi.min.r$run rm.epi.1.r$run+tlrc end # make a single file of registration params cat dfile.r*.1D > dfile_rall.1D # compute motion magnitude time series: the Euclidean norm # (sqrt(sum squares)) of the motion parameter derivatives 1d_tool.py -infile dfile_rall.1D -set_nruns 1 \ -derivative -collapse_cols euclidean_norm \ -write motion_${subj}_enorm.1D # ---------------------------------------- # create the extents mask: mask_epi_extents+tlrc # (this is a mask of voxels that have valid data at every TR) # (only 1 run, so just use 3dcopy to keep naming straight) 3dcopy rm.epi.min.r01+tlrc mask_epi_extents # and apply the extents mask to the EPI data # (delete any time series with missing data) foreach run ( $runs ) 3dcalc -a rm.epi.nomask.r$run+tlrc -b mask_epi_extents+tlrc \ -expr 'a*b' -prefix pb03.$subj.r$run.volreg end # warp the volreg base EPI dataset to make a final version cat_matvec -ONELINE \ anat.un.aff.Xat.1D \ VNS_01_al_junk_mat.aff12.1D -I > mat.basewarp.aff12.1D 3dNwarpApply -master VNS_01_ns+tlrc -dxyz 4 \ -source vr_base_min_outlier+orig \ -nwarp "anat.un.aff.qw_WARP.nii mat.basewarp.aff12.1D" \ -prefix final_epi_vr_base_min_outlier # create an anat_final dataset, aligned with stats 3dcopy VNS_01_ns+tlrc anat_final.$subj # record final registration costs 3dAllineate -base final_epi_vr_base_min_outlier+tlrc -allcostX \ -input anat_final.$subj+tlrc |& tee out.allcostX.txt # ----------------------------------------- # warp anat follower datasets (non-linear) 3dNwarpApply -source VNS_01+orig \ -master anat_final.$subj+tlrc \ -ainterp wsinc5 -nwarp anat.un.aff.qw_WARP.nii anat.un.aff.Xat.1D\ -prefix anat_w_skull_warped # ================================== mask ================================== # create 'full_mask' dataset (union mask) foreach run ( $runs ) 3dAutomask -dilate 1 -prefix rm.mask_r$run pb03.$subj.r$run.volreg+tlrc end # create union of inputs, output type is byte 3dmask_tool -inputs rm.mask_r*+tlrc.HEAD -union -prefix full_mask.$subj # ---- create subject anatomy mask, mask_anat.$subj+tlrc ---- # (resampled from tlrc anat) 3dresample -master full_mask.$subj+tlrc -input VNS_01_ns+tlrc \ -prefix rm.resam.anat # convert to binary anat mask; fill gaps and holes 3dmask_tool -dilate_input 5 -5 -fill_holes -input rm.resam.anat+tlrc \ -prefix mask_anat.$subj # compute overlaps between anat and EPI masks 3dABoverlap -no_automask full_mask.$subj+tlrc mask_anat.$subj+tlrc \ |& tee out.mask_ae_overlap.txt # note Dice coefficient of masks, as well 3ddot -dodice full_mask.$subj+tlrc mask_anat.$subj+tlrc \ |& tee out.mask_ae_dice.txt # ---- create group anatomy mask, mask_group+tlrc ---- # (resampled from tlrc base anat, MNI_avg152T1+tlrc) 3dresample -master full_mask.$subj+tlrc -prefix ./rm.resam.group \ -input /rpool/apps/AFNI/abin_201710/MNI_avg152T1+tlrc # convert to binary group mask; fill gaps and holes 3dmask_tool -dilate_input 5 -5 -fill_holes -input rm.resam.group+tlrc \ -prefix mask_group # ---- segment anatomy into classes CSF/GM/WM ---- 3dSeg -anat anat_final.$subj+tlrc -mask AUTO -classes 'CSF ; GM ; WM' # copy resulting Classes dataset to current directory 3dcopy Segsy/Classes+tlrc . # make individual ROI masks for regression (CSF GM WM and CSFe GMe WMe) foreach class ( CSF GM WM ) # unitize and resample individual class mask from composite 3dmask_tool -input Segsy/Classes+tlrc"<$class>" \ -prefix rm.mask_${class} 3dresample -master pb03.$subj.r01.volreg+tlrc -rmode NN \ -input rm.mask_${class}+tlrc -prefix mask_${class}_resam # also, generate eroded masks 3dmask_tool -input Segsy/Classes+tlrc"<$class>" -dilate_input -1 \ -prefix rm.mask_${class}e 3dresample -master pb03.$subj.r01.volreg+tlrc -rmode NN \ -input rm.mask_${class}e+tlrc -prefix mask_${class}e_resam end # create intersect mask Svent from masks CSFe and Tvent 3dmask_tool -input mask_CSFe_resam+tlrc mask_import_Tvent+tlrc \ -inter -prefix mask_inter_Svent # ================================== blur ================================== # blur each volume of each run foreach run ( $runs ) 3dBlurToFWHM -FWHM 6 -mask full_mask.$subj+tlrc \ -input pb03.$subj.r$run.volreg+tlrc \ -prefix pb04.$subj.r$run.blur end # ================================ regress ================================= # compute de-meaned motion parameters (for use in regression) 1d_tool.py -infile dfile_rall.1D -set_nruns 1 \ -demean -write motion_demean.1D # compute motion parameter derivatives (for use in regression) 1d_tool.py -infile dfile_rall.1D -set_nruns 1 \ -derivative -demean -write motion_deriv.1D # convert motion parameters for per-run regression 1d_tool.py -infile motion_demean.1D -set_nruns 1 \ -split_into_pad_runs mot_demean 1d_tool.py -infile motion_deriv.1D -set_nruns 1 \ -split_into_pad_runs mot_deriv # note TRs that were not censored set ktrs = `1d_tool.py -infile outcount_${subj}_censor.1D \ -show_trs_uncensored encoded` # ------------------------------ # create ROI PC ort sets: Svent # create a time series dataset to run 3dpc on... # detrend, so principal components are not affected foreach run ( $runs ) # to censor, create per-run censor files 1d_tool.py -set_run_lengths $tr_counts -select_runs $run \ -infile outcount_${subj}_censor.1D -write rm.censor.r$run.1D # do not let censored time points affect detrending 3dTproject -polort 5 -prefix rm.det_pcin_r$run \ -censor rm.censor.r$run.1D -cenmode KILL \ -input pb03.$subj.r$run.volreg+tlrc # make ROI PCs (per run) : Svent 3dpc -mask mask_inter_Svent+tlrc -pcsave 3 \ -prefix rm.ROIPC.Svent.r${run} rm.det_pcin_r$run+tlrc # zero pad censored TRs and further pad to fill across all runs 1d_tool.py -censor_fill_parent rm.censor.r$run.1D \ -infile rm.ROIPC.Svent.r${run}_vec.1D \ -write - \ | 1d_tool.py -set_run_lengths $tr_counts -pad_into_many_runs $run 1 \ -infile - -write ROIPC.Svent.r$run.1D end # ------------------------------ # run the regression analysis 3dDeconvolve -input pb04.$subj.r*.blur+tlrc.HEAD \ -censor outcount_${subj}_censor.1D \ -ortvec ROIPC.Svent.r01.1D ROIPC.Svent.r01 \ -polort 5 -float \ -num_stimts 12 \ -stim_file 1 mot_demean.r01.1D'[0]' -stim_base 1 -stim_label 1 roll_01 \ -stim_file 2 mot_demean.r01.1D'[1]' -stim_base 2 -stim_label 2 pitch_01 \ -stim_file 3 mot_demean.r01.1D'[2]' -stim_base 3 -stim_label 3 yaw_01 \ -stim_file 4 mot_demean.r01.1D'[3]' -stim_base 4 -stim_label 4 dS_01 \ -stim_file 5 mot_demean.r01.1D'[4]' -stim_base 5 -stim_label 5 dL_01 \ -stim_file 6 mot_demean.r01.1D'[5]' -stim_base 6 -stim_label 6 dP_01 \ -stim_file 7 mot_deriv.r01.1D'[0]' -stim_base 7 -stim_label 7 roll_02 \ -stim_file 8 mot_deriv.r01.1D'[1]' -stim_base 8 -stim_label 8 pitch_02 \ -stim_file 9 mot_deriv.r01.1D'[2]' -stim_base 9 -stim_label 9 yaw_02 \ -stim_file 10 mot_deriv.r01.1D'[3]' -stim_base 10 -stim_label 10 dS_02 \ -stim_file 11 mot_deriv.r01.1D'[4]' -stim_base 11 -stim_label 11 dL_02 \ -stim_file 12 mot_deriv.r01.1D'[5]' -stim_base 12 -stim_label 12 dP_02 \ -fout -tout -x1D X.xmat.1D -xjpeg X.jpg \ -x1D_uncensored X.nocensor.xmat.1D \ -fitts fitts.$subj \ -errts errts.${subj} \ -x1D_stop \ -bucket stats.$subj # -- use 3dTproject to project out regression matrix -- 3dTproject -polort 0 -input pb04.$subj.r*.blur+tlrc.HEAD \ -censor outcount_${subj}_censor.1D -cenmode ZERO \ -ort X.nocensor.xmat.1D -prefix errts.${subj}.tproject # if 3dDeconvolve fails, terminate the script if ( $status != 0 ) then echo '---------------------------------------' echo '** 3dDeconvolve error, failing...' echo ' (consider the file 3dDeconvolve.err)' exit endif # display any large pairwise correlations from the X-matrix 1d_tool.py -show_cormat_warnings -infile X.xmat.1D |& tee out.cormat_warn.txt # create an all_runs dataset to match the fitts, errts, etc. 3dTcat -prefix all_runs.$subj pb04.$subj.r*.blur+tlrc.HEAD # -------------------------------------------------- # generate fast ANATICOR result: errts.$subj.fanaticor+tlrc # -------------------------------------------------- # fast ANATICOR: generate local WMe time series averages # create catenated volreg dataset 3dTcat -prefix rm.all_runs.volreg pb03.$subj.r*.volreg+tlrc.HEAD # mask white matter before blurring 3dcalc -a rm.all_runs.volreg+tlrc -b mask_WMe_resam+tlrc \ -expr "a*bool(b)" -datum float -prefix rm.all_runs.volreg.mask # generate ANATICOR voxelwise regressors via blur 3dmerge -1blur_fwhm 30 -doall -prefix Local_WMe_rall \ rm.all_runs.volreg.mask+tlrc # -- use 3dTproject to project out regression matrix -- 3dTproject -polort 0 -input pb04.$subj.r*.blur+tlrc.HEAD \ -censor outcount_${subj}_censor.1D -cenmode ZERO \ -dsort Local_WMe_rall+tlrc \ -ort X.nocensor.xmat.1D -prefix errts.$subj.fanaticor # -------------------------------------------------- # for each run, bandpass with 3dRSFC and calculate parameters mkdir RSFC set b0 = 0 set b1 = -1 # run index is 1 digit (wary of octal), file name run is 2 foreach rind ( `count -digits 1 1 $#runs` ) set reps = $tr_counts[$rind] @ b1 += $reps 3dRSFC -prefix RSFC/run_$runs[$rind] -nodetrend \ 0.01 0.1 errts.$subj.fanaticor+tlrc"[$b0..$b1]" @ b0 += $reps end # copy main LFF results out, catenated back into one dataset # (this basically replaces the input errts dataset) 3dTcat -prefix RSFC_LFF_rall_$subj RSFC/run*_LFF+tlrc.HEAD # -------------------------------------------------- # create a temporal signal to noise ratio dataset # signal: if 'scale' block, mean should be 100 # noise : compute standard deviation of errts 3dTstat -mean -prefix rm.signal.all all_runs.$subj+tlrc"[$ktrs]" 3dTstat -stdev -prefix rm.noise.all RSFC_LFF_rall_$subj+tlrc"[$ktrs]" 3dcalc -a rm.signal.all+tlrc \ -b rm.noise.all+tlrc \ -c full_mask.$subj+tlrc \ -expr 'c*a/b' -prefix TSNR.$subj # --------------------------------------------------- # compute and store GCOR (global correlation average) # (sum of squares of global mean of unit errts) 3dTnorm -norm2 -prefix rm.errts.unit RSFC_LFF_rall_$subj+tlrc 3dmaskave -quiet -mask full_mask.$subj+tlrc rm.errts.unit+tlrc \ > gmean.errts.unit.1D 3dTstat -sos -prefix - gmean.errts.unit.1D\' > out.gcor.1D echo "-- GCOR = `cat out.gcor.1D`" # --------------------------------------------------- # compute correlation volume # (per voxel: average correlation across masked brain) # (now just dot product with average unit time series) 3dcalc -a rm.errts.unit+tlrc -b gmean.errts.unit.1D -expr 'a*b' -prefix rm.DP 3dTstat -sum -prefix corr_brain rm.DP+tlrc # compute 2 requested correlation volume(s) # create correlation volume corr_af_WMe 3dcalc -a mask_WMe_resam+tlrc -b full_mask.$subj+tlrc -expr 'a*b' \ -prefix rm.fm.WMe 3dmaskave -q -mask rm.fm.WMe+tlrc rm.errts.unit+tlrc > mean.unit.WMe.1D 3dcalc -a rm.errts.unit+tlrc -b mean.unit.WMe.1D \ -expr 'a*b' -prefix rm.DP.WMe 3dTstat -sum -prefix corr_af_WMe rm.DP.WMe+tlrc # create correlation volume corr_af_Svent 3dcalc -a mask_inter_Svent+tlrc -b full_mask.$subj+tlrc -expr 'a*b' \ -prefix rm.fm.Svent 3dmaskave -q -mask rm.fm.Svent+tlrc rm.errts.unit+tlrc > mean.unit.Svent.1D 3dcalc -a rm.errts.unit+tlrc -b mean.unit.Svent.1D \ -expr 'a*b' -prefix rm.DP.Svent 3dTstat -sum -prefix corr_af_Svent rm.DP.Svent+tlrc # -------------------------------------------------------- # compute sum of non-baseline regressors from the X-matrix # (use 1d_tool.py to get list of regressor colums) set reg_cols = `1d_tool.py -infile X.nocensor.xmat.1D -show_indices_interest` 3dTstat -sum -prefix sum_ideal.1D X.nocensor.xmat.1D"[$reg_cols]" # also, create a stimulus-only X-matrix, for easy review 1dcat X.nocensor.xmat.1D"[$reg_cols]" > X.stim.xmat.1D # ============================ blur estimation ============================= # compute blur estimates touch blur_est.$subj.1D # start with empty file # create directory for ACF curve files mkdir files_ACF # -- estimate blur for each run in epits -- touch blur.epits.1D # restrict to uncensored TRs, per run foreach run ( $runs ) set trs = `1d_tool.py -infile X.xmat.1D -show_trs_uncensored encoded \ -show_trs_run $run` if ( $trs == "" ) continue 3dFWHMx -detrend -mask full_mask.$subj+tlrc \ -ACF files_ACF/out.3dFWHMx.ACF.epits.r$run.1D \ all_runs.$subj+tlrc"[$trs]" >> blur.epits.1D end # compute average FWHM blur (from every other row) and append set blurs = ( `3dTstat -mean -prefix - blur.epits.1D'{0..$(2)}'\'` ) echo average epits FWHM blurs: $blurs echo "$blurs # epits FWHM blur estimates" >> blur_est.$subj.1D # compute average ACF blur (from every other row) and append set blurs = ( `3dTstat -mean -prefix - blur.epits.1D'{1..$(2)}'\'` ) echo average epits ACF blurs: $blurs echo "$blurs # epits ACF blur estimates" >> blur_est.$subj.1D # -- estimate blur for each run in errts -- touch blur.errts.1D # restrict to uncensored TRs, per run foreach run ( $runs ) set trs = `1d_tool.py -infile X.xmat.1D -show_trs_uncensored encoded \ -show_trs_run $run` if ( $trs == "" ) continue 3dFWHMx -detrend -mask full_mask.$subj+tlrc \ -ACF files_ACF/out.3dFWHMx.ACF.errts.r$run.1D \ RSFC_LFF_rall_$subj+tlrc"[$trs]" >> blur.errts.1D end # compute average FWHM blur (from every other row) and append set blurs = ( `3dTstat -mean -prefix - blur.errts.1D'{0..$(2)}'\'` ) echo average errts FWHM blurs: $blurs echo "$blurs # errts FWHM blur estimates" >> blur_est.$subj.1D # compute average ACF blur (from every other row) and append set blurs = ( `3dTstat -mean -prefix - blur.errts.1D'{1..$(2)}'\'` ) echo average errts ACF blurs: $blurs echo "$blurs # errts ACF blur estimates" >> blur_est.$subj.1D # ================== auto block: generate review scripts =================== # generate a review script for the unprocessed EPI data gen_epi_review.py -script @epi_review.$subj \ -dsets pb00.$subj.r*.tcat+orig.HEAD # generate scripts to review single subject results # (try with defaults, but do not allow bad exit status) gen_ss_review_scripts.py -out_limit 0.1 \ -errts_dset RSFC_LFF_rall_$subj+tlrc.HEAD -exit0 # ========================== auto block: finalize ========================== # remove temporary files \rm -fr rm.* awpy Segsy # if the basic subject review script is here, run it # (want this to be the last text output) if ( -e @ss_review_basic ) ./@ss_review_basic |& tee out.ss_review.$subj.txt # return to parent directory cd .. echo "execution finished: `date`" # ========================================================================== # script generated by the command: # # afni_proc.py -subj_id VNS_01RS_fm_NL_RSFC -blocks despike tshift align tlrc \ # volreg mask blur regress -copy_anat VNS_01.nii.gz -dsets \ # VNS_01RestingVNS_fm.nii.gz -tcat_remove_first_trs 2 -align_opts_aea \ # -cost lpc+ZZ -tlrc_base MNI_avg152T1+tlrc -tlrc_NL_warp \ # -volreg_align_to MIN_OUTLIER -volreg_align_e2a -volreg_tlrc_warp \ # -volreg_warp_dxyz 4 -mask_segment_anat yes -mask_segment_erode yes \ # -mask_import Tvent \ # /rpool/home/asimmons/data/VNS1/AFNI_RS/files/template_ventricle_4mm.nii.gz \ # -mask_intersect Svent CSFe Tvent -blur_to_fwhm -blur_size 6 \ # -blur_in_mask yes -regress_motion_per_run -regress_ROI_PC Svent 3 \ # -regress_ROI_PC_per_run Svent -regress_make_corr_vols WMe Svent \ # -regress_anaticor_fast -regress_censor_outliers 0.1 \ # -regress_apply_mot_types demean deriv -regress_est_blur_epits \ # -regress_est_blur_errts -regress_RSFC -regress_bandpass 0.01 0.1 \ # -regress_run_clustsim yes