Time Series Data in Surface Space

From CCN Wiki
Revision as of 15:27, 4 May 2016 by 192.168.1.1 (talk)
Jump to navigation Jump to search

We can calculate mean time course vectors calculated across all voxels within regions defined in a FreeSurfer annotation (.annot) file. Though any annotation file can be used for this purpose, we have been working at the scale of the 1000 region Lausanne parcellation. A script exists, gettimecourses.sh, that will handle this:

gettimecourses.sh

#!/bin/bash
USAGE="Usage: gettimecourses.sh annot filepattern sub1 ... subN"

if [ "$#" == "0" ]; then
        echo "$USAGE"
        exit 1
fi

#first two parameters are is the annot files and filepatterns for the \
#.nii.gz time series to be detrended, up to the hemisphere indicator
#e.g., detrend.fmcpr.sm6.self.?h.nii.gz would use detrend.fmcpr.sm6.self as the filepattern
annot="$1"
shift
filepat="$1"
shift

#subjects
subs=( "$@" );
#hemispheres
hemis=( lh rh )

for sub in "${subs[@]}"; do
source_dir=${SUBJECTS_DIR}/${sub}/bold

   if [ ! -d ${source_dir} ]; then
       #The subject_id does not exist
       echo "${source_dir} does not exist!"
   else
       cd ${source_dir}
       readarray -t runs < runs
       for hemi in "${hemis[@]}"; do
               for r in "${runs[@]}"; do
                       mri_segstats \
                       --annot ${sub} ${hemi} ${annot} \
                       --i ${source_dir}/${r}/${filepat}.${hemi}.mgh \
                       --sum ${sub}_${hemi}_${seg}_${r}.${filepat}.sum.txt \
                       --avgwf ${sub}_${hemi}_${seg}_${r}.${filepat}.wav.txt
               done
       done
    fi
done


A precondition of this script is that the data have been detrended following the procedure for detrending FreeSurfer data. The script is run in a terminal by specifying a file pattern followed by a list of subject IDs:

gettimecourses.sh lausanne detrend.fmcpr.sm6.self FS_T1_501

It also This creates output files ${sub}_?h_lausanne_${run}.detrend.wav.txt