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