#!/bin/tcsh
#======================================================================
# start with basic variable initializations
#======================================================================
#----------------------------------------------------------------------
# save a couple of directory names for future use
set topdir = `pwd`
set outlier_dir = $topdir/afni/outliers
Unix help
#======================================================================
# now perform various tests to make sure the world is okay
#======================================================================
Unix help
#----------------------------------------------------------------------
# verify that the script is being run from the proper directory
if ( ! -d DDmb_data ) then
echo ""
echo "error: this script must be run from the 'ht02_DDmb' directory"
echo " under the top level HOWTO directory"
echo "exiting..."
echo ""
exit
endif
Unix help
#----------------------------------------------------------------------
# if the afni directory is already here, complain and exit
if ( -e afni ) then
echo "failure: the 'afni' directory already exists"
exit
endif
Unix help
#----------------------------------------------------------------------
# make a directory to store the outlier files from the to3d commands
mkdir -p $outlier_dir
Unix help
#----------------------------------------------------------------------
# verify that the previous command succeeded
if ( ! -d afni ) then
echo "failure: cannot create 'afni' directory (no write permission?)"
exit
endif
Unix help
#----------------------------------------------------------------------
# verify that an AFNI program is in the PATH
which to3d >& /dev/null
if ( $status != 0 ) then
echo "failure: cannot find 'to3d' - is AFNI installed?"
exit
endif
Unix help
#======================================================================
# begin pre-processing the data
#======================================================================
AFNI howto Unix help
#----------------------------------------------------------------------
# create the SPGR dataset, putting it in the afni directory
cd DDmb_data/SPGR_data
to3d -prefix DDSPGR -orient ASL -zorigin 70 -session $topdir/afni -anat I.*
AFNI howto Unix help 'to3d -help'
# ----------------------------------------------------------------------
# put run 1 EPI data into a 3D+time AFNI dataset
# - run 1 will be the '-geomparent' for the other run data
cd $topdir/DDmb_data/EPI_data
to3d -session $topdir/afni -prefix DDr1 \
-save_outliers $outlier_dir/DDr1.outliers \
-orient SPR -zorigin 69 -epan \
-xSLAB 118.125S-I -ySLAB 118.125P-A -zSLAB 69R-61L \
-time:tz 110 27 2500 alt+z 3Ds:0:0:64:64:1:"DDr1*"
AFNI howto Unix help 'to3d -help'
#-------------------------------------------------------
# put the other run data into 3D+time AFNI datasets
foreach run ( 2 3 4 )
to3d -geomparent $topdir/afni/DDr1+orig -session $topdir/afni \
-prefix DDr${run} -save_outliers $outlier_dir/DDr${run}.outliers \
-time:tz 110 27 2500 alt+z \
3Ds:0:0:64:64:1:"DDr${run}*"
end
AFNI howto Unix help 'to3d -help'
# ----------------------------------------------------------------------
# concatenate all 4 runs (time points 2 through 109) into a single dataset
# - this makes a dataset with 432 = 108*4 time points (0 through 431)
cd $topdir/afni
3dTcat -prefix DDrall \
DDr1+orig'[2..109]' DDr2+orig'[2..109]' \
DDr3+orig'[2..109]' DDr4+orig'[2..109]'
AFNI howto Unix help '3dTcat -help'
# ----------------------------------------------------------------------
# register each of the 432 sub-bricks (time points) to the last one
3dvolreg -dfile DDrallvrout -base 431 -prefix DDrallvr DDrall+orig
AFNI howto Unix help '3dvolreg -help'
#======================================================================
# done pre-processing data, now analyze it (produce functional bricks)
#======================================================================
#----------------------------------------------------------------------
# make a directory to store the various files
mkdir $topdir/afni/regressors
Unix help
# ----------------------------------------------------------------------
# create stimulus files for each of the 4 stumulus types
cd $topdir/stim_files
Unix help
foreach stim_type ( a t h l )
Unix help
# For this stimulus type, concatenate the stimulus timings
# from all 4 runs into a single file.
cat scan1$stim_type.txt scan2$stim_type.txt \
scan3$stim_type.txt scan4$stim_type.txt \
> $topdir/afni/regressors/scan1to4$stim_type.1D
AFNI howto Unix help
# also, can do:
# cat scan[1-4]$stim_type.txt \
# > $topdir/afni/regressors/scan1to4$stim_type.1D
Unix help
end
Unix help
# ----------------------------------------------------------------------
# create ideal reference function, one for each stimulus type
cd $topdir/afni/regressors
waver -dt 2.5 -GAM -input scan1to4a.1D > scan1to4a_hrf.1D
waver -dt 2.5 -GAM -input scan1to4t.1D > scan1to4t_hrf.1D
waver -dt 2.5 -GAM -input scan1to4h.1D > scan1to4h_hrf.1D
waver -dt 2.5 -GAM -input scan1to4l.1D > scan1to4l_hrf.1D
AFNI howto Unix help 'waver -help'
# ----------------------------------------------------------------------
# create a functional dataset, according to the stimulus timings
# and the contrasts
cd $topdir/afni
3dDeconvolve -xout -input DDrallvr+orig -num_stimts 4 \
-stim_file 1 regressors/scan1to4a_hrf.1D -stim_label 1 Actions \
-stim_file 2 regressors/scan1to4t_hrf.1D -stim_label 2 Tool \
-stim_file 3 regressors/scan1to4h_hrf.1D -stim_label 3 HCMS \
-stim_file 4 regressors/scan1to4l_hrf.1D -stim_label 4 LCMS \
-full_first -fout -tout -concat $topdir/contrasts/runs.1D \
-glt 1 $topdir/contrasts/DDcontrv1.txt -glt_label 1 AvsT \
-glt 1 $topdir/contrasts/DDcontrv2.txt -glt_label 2 HvsL \
-glt 1 $topdir/contrasts/DDcontrv3.txt -glt_label 3 ATvsHL \
-bucket DDrallvrMRv1
AFNI howto Unix help '3dDeconvolve -help'