Time Series Data in MNI Space

From CCN Wiki
Revision as of 18:41, 13 June 2019 by Chris (talk | contribs)
Jump to navigation Jump to search

Thanks to Cary for sorting this out. It appears that the process for obtaining mean time series from the mni305 volumes generated by preproc-sess is very similar to that for time series in surface space

After the data have been detrended, mri_segstats can be called on the detrended volume to extract the average waveform within each of the labeled segments.

#Assume ${sub} contains the subject ID
#Assume ${r} contains the run number
#Assume ${FILEPAT} contains the name of the detrended volume: 
FILEPAT=fmcpr.siemens.sm7.mni305.2mm.mgh
mri_segstats --seg /usr/local/freesurfer/5.3.0/subjects/fsaverage/mri.2mm/aseg.mgz --i ${sub}/bold/${r}/${FILEPAT} \
--ctab /usr/local/freesurfer/5.3.0/FreeSurferColorLUT.txt \
--sum ${sub}/bold/${r}/sum_subcort.txt \
--avgwf ${sub}_${r}.${FILEPAT}.wav.txt

This will generate a *.wav.txt file in the current working directory with t=timepoints rows and s=43 columns (1 per segment).

The following is a script which will automate this process.

getmnitimecourses.sh

#!/bin/bash
USAGE="Usage: getmnitimecourses.sh 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., fmcpr.sm6.self.?h.nii.gz would use fmcpr.sm6.self as the filepattern
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
			if [ -n "${r}" ]; then
			mri_segstats \
        		--seg /usr/local/freesurfer/5.3.0/subjects/fsaverage/mri.2mm/aseg.mgz \
        		--i ${source_dir}/${r}/${filepat} \
        		--sum ${sub}_${hemi}_${annot}_${r}.${filepat}.sum.txt \
			--ctab /usr/local/freesurfer/5.3.0/FreeSurferColorLUT.txt \
       			--avgwf ${sub}_${hemi}_${annot}_${r}.${filepat}.wav.txt
			fi
		done
	done
    fi
done