Time Series Data in MNI Space: Difference between revisions
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		
		
	
No edit summary  | 
				No edit summary  | 
				||
| Line 1: | Line 1: | ||
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_Data_in_Surface_Space | time series in surface space]]  | 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_Data_in_Surface_Space | time series in surface space]]  | ||
After the data have been [[Detrending_FreeSurfer_Data | detrended]], <code>mri_segstats</code> can be called on the detrended volume to extract the average waveform within each of the labeled segments  | After the data have been [[Detrending_FreeSurfer_Data | detrended]], <code>mri_segstats</code> 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 ${sub} contains the subject ID  | ||
Revision as of 18:41, 13 June 2019
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