Scott Burns wrote:
Doug -
Thanks for the help. A few more questions...
- Is it worth re-preprocessing with -sliceorder siemens?
depends. If you have an even number of slices, then your slice order is wrong, and you should delete the preprocessed data and start over. If you have an odd number, then you're ok.
- Does mkanalysis-sess -fwhm 8 -stc siemens -surface fsaverage lh ... not do preprocessing but just uses those specs to build the string for the filename search? Or will it do preprocessing but not actually recompute anything because there's no update needed (assuming I've recently run preproc-sess)?
It will run the preprocessing (preproc-sess), but preproc-sess will not reanalyze anything unless an update is needed.
doug
scott
On Apr 10, 2011, at 10:40 PM, Douglas Greve wrote:
Hi Scott, the problem is that you specified the "funcstem" as a full filename with extension "-funcstem fmcpr.odd.sm8.fsaverage.lh.nii.gz" should be "-funcstem fmcpr.odd.sm8.fsaverage.lh" (the "stem" is a file name without the extension, so no .nii.gz). I don't think that you need to actually spec the funcstem explicitly. It looks like it will do the right thing if you just spec "-fwhm 8 -stc odd". Also, if you're using data from a Siemens scanner than it is probably better to use "-stc siemens" instead of "-stc odd". Using "-stc siemens" will properly handle interleaved slices regardless of whether you have an odd or even number of slices.
doug
On 4/10/11 7:20 PM, sburns@nmr.mgh.harvard.edu wrote:
Doug -- here's the output from the terminal....
kerryave:functionals $ selxavg3-sess -s ya24 -d /cluster/kuperberg/SemPrMM/MRI/functionals/ -analysis ya.ATLLoc.spm.sm8.lh -debug |& tee debug.log set echo = 1 ; breaksw breaksw
end end while ( $#argv != 0 ) while ( 0 != 0 ) goto parse_args_return ; goto parse_args_return
foreach grp ( $grpdefs ) foreach grp ( )
goto check_params ; goto check_params
if ( $#SessList == 0 ) then if ( 1 == 0 ) then
if ( $#SearchPathList == 0 ) then if ( 1 == 0 ) then
goto check_params_return ; goto check_params_return
set UniqueList = ( ) ; set UniqueList = ( ) foreach d ( $SearchPathList ) foreach d ( /cluster/kuperberg/SemPrMM/MRI/functionals/ ) if ( ! -e $d ) then if ( ! -e /cluster/kuperberg/SemPrMM/MRI/functionals/ ) then
set IsUnique = 1 ; set IsUnique = 1 foreach u ( $UniqueList ) foreach u ( ) if ( $IsUnique ) set UniqueList = ( $UniqueList $d ) ; if ( 1 ) set UniqueList = ( /cluster/kuperberg/SemPrMM/MRI/functionals/ ) set UniqueList = ( /cluster/kuperberg/SemPrMM/MRI/functionals/ ) end end
set SearchPathList = ( $UniqueList ) ; set SearchPathList = ( /cluster/kuperberg/SemPrMM/MRI/functionals/ )
set errs = 0 ; set errs = 0
set SessPath = ( ) ; set SessPath = ( ) foreach sess ( $SessList ) foreach sess ( ya24 ) set tmp = ( ) ; set tmp = ( ) foreach d ( $SearchPathList ) foreach d ( /cluster/kuperberg/SemPrMM/MRI/functionals/ ) set stst = $d/$sess set stst = /cluster/kuperberg/SemPrMM/MRI/functionals//ya24 if ( -d $stst ) then if ( -d /cluster/kuperberg/SemPrMM/MRI/functionals//ya24 ) then if ( ! -r $stst ) then if ( ! -r /cluster/kuperberg/SemPrMM/MRI/functionals//ya24 ) then pushd $stst> /dev/null ; pushd /cluster/kuperberg/SemPrMM/MRI/functionals//ya24 set tmp = ( $tmp `$PWDCMD` ) ; set tmp = ( `$PWDCMD` ) pwd popd> /dev/null ; popd endif endif end end set nfound = ( $#tmp ) ; set nfound = ( 1 ) if ( $nfound == 0 ) then if ( 1 == 0 ) then if ( $nfound> 1 ) then if ( 1> 1 ) then set SessPath = ( $SessPath $tmp ) ; set SessPath = ( /autofs/cluster/kuperberg/SemPrMM/MRI/functionals/ya24 ) end end
set UniqueList = ( ) ; set UniqueList = ( ) foreach s ( $SessPath ) foreach s ( /autofs/cluster/kuperberg/SemPrMM/MRI/functionals/ya24 ) set IsUnique = 1 ; set IsUnique = 1 foreach u ( $UniqueList ) foreach u ( ) if ( ! $IsUnique&& ! $AllowRedundant ) then if ( ! 1&& ! 0 ) then
set UniqueList = ( $UniqueList $s ) ; set UniqueList = ( /autofs/cluster/kuperberg/SemPrMM/MRI/functionals/ya24 ) endif endif end end
echo $SessPath echo /autofs/cluster/kuperberg/SemPrMM/MRI/functionals/ya24
exit $errs ; exit 0 set echo = 1 ; breaksw breaksw
end end while ( $#argv != 0 ) while ( 0 != 0 )
goto parse_args_return ; goto parse_args_return
goto check_params ; goto check_params
if ( $#SessList == 0 ) then if ( 1 == 0 ) then if ( $#analysis == 0&& $flacfile == 0 ) then if ( 1 == 0&& == 0 ) then if ( $#analysis != 0 ) then if ( 1 != 0 ) then if ( ! -d $analysis ) then if ( ! -d ya.ATLLoc.spm.sm8.lh ) then if ( ! -e $analysis/analysis.info ) then if ( ! -e ya.ATLLoc.spm.sm8.lh/analysis.info ) then endif endif if ( $#flacfile != 0 ) then if ( 0 != 0 ) then if ( $perrun&& $jkrun ) then if ( 0&& 0 ) then
if ( $UseOctave ) then if ( 0 ) then
goto check_params_return ; goto check_params_return
set StudyDir = `pwd` ; set StudyDir = `pwd` pwd
if ( $#analysis ) then if ( 1 ) then
set analysisname = $analysis set analysisname = ya.ATLLoc.spm.sm8.lh set fsd = `getana -a $analysis -t fsd` ; set fsd = `getana -a $analysis -t fsd` getana -a ya.ATLLoc.spm.sm8.lh -t fsd set IsNative = `getana -a $analysis -t IsNative` set IsNative = `getana -a $analysis -t IsNative` getana -a ya.ATLLoc.spm.sm8.lh -t IsNative set IsSurface = `getana -a $analysis -t IsSurface` set IsSurface = `getana -a $analysis -t IsSurface` getana -a ya.ATLLoc.spm.sm8.lh -t IsSurface if ( $IsSurface ) then if ( 1 ) then set subject = `getana -a $analysis -t subject` set subject = `getana -a $analysis -t subject` getana -a ya.ATLLoc.spm.sm8.lh -t subject set hemi = `getana -a $analysis -t hemi` set hemi = `getana -a $analysis -t hemi` getana -a ya.ATLLoc.spm.sm8.lh -t hemi echo "Surface data $subject $hemi" echo Surface data fsaverage lh Surface data fsaverage lh endif endif set dt = `getana -a $analysis -t designtype` set dt = `getana -a $analysis -t designtype` getana -a ya.ATLLoc.spm.sm8.lh -t designtype if ( $dt == "abblocked" ) set RequireContrasts = 0 ; if ( event-related == abblocked ) set RequireContrasts = 0 if ( $dt == "retinotopy" ) set RequireContrasts = 0 ; if ( event-related == retinotopy ) set RequireContrasts = 0 set contrasts = `getana -a $analysis -t contrasts` set contrasts = `getana -a $analysis -t contrasts` getana -a ya.ATLLoc.spm.sm8.lh -t contrasts if ( $#contrasts == 0&& $RequireContrasts ) then if ( 7 == 0&& 1 ) then endif endif
if ( $#LF == 0 ) then if ( 0 == 0 ) then if ( $nolog ) then if ( 0 ) then
if ( $#OutParent == 0 ) then if ( 0 == 0 ) then set logdir = `pwd`/log ; set logdir = `pwd`/log pwd else else mkdir -p $logdir mkdir -p /autofs/cluster/kuperberg/SemPrMM/MRI/functionals/log if ( ! -e $logdir ) then if ( ! -e /autofs/cluster/kuperberg/SemPrMM/MRI/functionals/log ) then
set LF = $logdir/selxavg3-sess-$fsd-$analysis-$DateStr.log set LF = /autofs/cluster/kuperberg/SemPrMM/MRI/functionals/log/selxavg3-sess-ATLLoc-ya.ATLLoc.spm.sm8.lh-110410191908.log if ( -e $LF ) mv $LF $LF.old if ( -e /autofs/cluster/kuperberg/SemPrMM/MRI/functionals/log/selxavg3-sess-ATLLoc-ya.ATLLoc.spm.sm8.lh-110410191908.log ) mv /autofs/cluster/kuperberg/SemPrMM/MRI/functionals/log/selxavg3-sess-ATLLoc-ya.ATLLoc.spm.sm8.lh-110410191908.log /autofs/cluster/kuperberg/SemPrMM/MRI/functionals/log/selxavg3-sess-ATLLoc-ya.ATLLoc.spm.sm8.lh-110410191908.log.old endif endif endif endif endif endif echo "--------------------------------------------------------------" echo --------------------------------------------------------------
echo "selxavg3-sess logfile is $LF" echo selxavg3-sess logfile is /autofs/cluster/kuperberg/SemPrMM/MRI/functionals/log/selxavg3-sess-ATLLoc-ya.ATLLoc.spm.sm8.lh-110410191908.log selxavg3-sess logfile is /autofs/cluster/kuperberg/SemPrMM/MRI/functionals/log/selxavg3-sess-ATLLoc-ya.ATLLoc.spm.sm8.lh-110410191908.log echo "--------------------------------------------------------------" echo --------------------------------------------------------------
echo "selxavg3-sess log file">> $LF echo selxavg3-sess log file echo $0>> $LF echo /usr/local/freesurfer/stable5_0_0/fsfast/bin/selxavg3-sess echo $inputargs>> $LF echo -s ya24 -d /cluster/kuperberg/SemPrMM/MRI/functionals/ -analysis ya.ATLLoc.spm.sm8.lh -debug echo $VERSION>> $LF echo $Id: selxavg3-sess,v 1.52.2.5 2010/08/25 19:07:37 greve Exp $ id>> $LF id pwd>> $LF pwd uname -a>> $LF uname -a date>> $LF date
set StartTime = `date` ; set StartTime = `date` date
if ( $SaveRes || $SaveResUnwhitened ) set MatlabSaveRes = 1 ; if ( 0 || 0 ) set MatlabSaveRes = 1
set funcstemspec = `getana -a $analysis -t funcstem-specified` set funcstemspec = `getana -a $analysis -t funcstem-specified` getana -a ya.ATLLoc.spm.sm8.lh -t funcstem-specified if ( $funcstemspec ) set DoPreProc = 0 ; if ( 1 ) set DoPreProc = 0 set DoPreProc = 0
if ( $DoPreProc ) then if ( 0 ) then
if ( $#MLF == 0 ) set MLF = /tmp/selxavg3-sess-$$.m if ( 0 == 0 ) set MLF = /tmp/selxavg3-sess-1405.m set MLF = /tmp/selxavg3-sess-1405.m rm -f $MLF rm -f /tmp/selxavg3-sess-1405.m echo "% `date` ">> $MLF echo % `date` date echo "% `pwd` ">> $MLF echo % `pwd` pwd echo "% $flacfile $analysis ">> $MLF echo % ya.ATLLoc.spm.sm8.lh echo " ">> $MLF echo echo " ">> $MLF echo
set okfile = /tmp/selxavg3-sess-$$.ok set okfile = /tmp/selxavg3-sess-1405.ok rm -f $okfile rm -f /tmp/selxavg3-sess-1405.ok
set parname = `getana -a $analysis -t parname` set parname = `getana -a $analysis -t parname` getana -a ya.ATLLoc.spm.sm8.lh -t parname set funcstem = `getana -a $analysis -t funcstem` set funcstem = `getana -a $analysis -t funcstem` getana -a ya.ATLLoc.spm.sm8.lh -t funcstem set rlf = `getana -a $analysis -t runlistfile` set rlf = `getana -a $analysis -t runlistfile` getana -a ya.ATLLoc.spm.sm8.lh -t runlistfile set ConList = `getana -a $analysis -t contrasts` set ConList = `getana -a $analysis -t contrasts` getana -a ya.ATLLoc.spm.sm8.lh -t contrasts
@ nthsess = 0 ; @ nthsess = 0 @ nprocs = 0 ; @ nprocs = 0 foreach sess ( $SessList ) foreach sess ( /autofs/cluster/kuperberg/SemPrMM/MRI/functionals/ya24 ) @ nthsess = $nthsess + 1 ; @ nthsess = 0 + 1 set sessbase = `basename $sess` ; set sessbase = `basename $sess` basename /autofs/cluster/kuperberg/SemPrMM/MRI/functionals/ya24 set sessdir = `dirname $sess` ; set sessdir = `dirname $sess` dirname /autofs/cluster/kuperberg/SemPrMM/MRI/functionals/ya24
echo "-------------------------------------------" |& tee -a $LF echo ------------------------------------------- tee -a /autofs/cluster/kuperberg/SemPrMM/MRI/functionals/log/selxavg3-sess-ATLLoc-ya.ATLLoc.spm.sm8.lh-110410191908.log
echo "$sess " |& tee -a $LF echo /autofs/cluster/kuperberg/SemPrMM/MRI/functionals/ya24 tee -a /autofs/cluster/kuperberg/SemPrMM/MRI/functionals/log/selxavg3-sess-ATLLoc-ya.ATLLoc.spm.sm8.lh-110410191908.log /autofs/cluster/kuperberg/SemPrMM/MRI/functionals/ya24 date |& tee -a $LF date tee -a /autofs/cluster/kuperberg/SemPrMM/MRI/functionals/log/selxavg3-sess-ATLLoc-ya.ATLLoc.spm.sm8.lh-110410191908.log Sun Apr 10 19:19:09 EDT 2011
if ( ! -d $sess ) then if ( ! -d /autofs/cluster/kuperberg/SemPrMM/MRI/functionals/ya24 ) then
set funcdir = $sess/$fsd set funcdir = /autofs/cluster/kuperberg/SemPrMM/MRI/functionals/ya24/ATLLoc set anadir = $sess/$fsd/$analysisname set anadir = /autofs/cluster/kuperberg/SemPrMM/MRI/functionals/ya24/ATLLoc/ya.ATLLoc.spm.sm8.lh if ( $#OutParent == 0 ) then if ( 0 == 0 ) then set anadir = $sess/$fsd/$analysisname set anadir = /autofs/cluster/kuperberg/SemPrMM/MRI/functionals/ya24/ATLLoc/ya.ATLLoc.spm.sm8.lh else else echo anadir = $anadir | tee -a $LF echo anadir = /autofs/cluster/kuperberg/SemPrMM/MRI/functionals/ya24/ATLLoc/ya.ATLLoc.spm.sm8.lh tee -a /autofs/cluster/kuperberg/SemPrMM/MRI/functionals/log/selxavg3-sess-ATLLoc-ya.ATLLoc.spm.sm8.lh-110410191908.log anadir = /autofs/cluster/kuperberg/SemPrMM/MRI/functionals/ya24/ATLLoc/ya.ATLLoc.spm.sm8.lh
set DoGLMFit = 0 ; set DoGLMFit = 0 if ( $Overwrite || $perrun ) set DoGLMFit = 1 ; if ( 0 || 0 ) set DoGLMFit = 1 set beta = `stem2fname $anadir/beta` set beta = `stem2fname $anadir/beta` stem2fname /autofs/cluster/kuperberg/SemPrMM/MRI/functionals/ya24/ATLLoc/ya.ATLLoc.spm.sm8.lh/beta if ( $status ) set DoGLMFit = 1 ; if ( 0 ) set DoGLMFit = 1 if ( $DoGLMFit == 0 ) then if ( 0 == 0 ) then
set deplist = ( $analysis/analysis.info ) ; set deplist = ( ya.ATLLoc.spm.sm8.lh/analysis.info ) set RunList = ( `getrunlist $sess/$fsd $rlf` ) ; set RunList = ( `getrunlist $sess/$fsd $rlf` ) getrunlist /autofs/cluster/kuperberg/SemPrMM/MRI/functionals/ya24/ATLLoc rlf set funclist = ( ) set funclist = ( ) foreach Run ( $RunList ) foreach Run ( 007 ) set funcstempath = $sess/$fsd/$Run/$funcstem ; set funcstempath = /autofs/cluster/kuperberg/SemPrMM/MRI/functionals/ya24/ATLLoc/007/fmcpr.odd.sm8.fsaverage.lh.nii.gz set func = `stem2fname $funcstempath` ; set func = `stem2fname $funcstempath` stem2fname /autofs/cluster/kuperberg/SemPrMM/MRI/functionals/ya24/ATLLoc/007/fmcpr.odd.sm8.fsaverage.lh.nii.gz if ( $status ) then if ( 1 ) then echo "ERROR: cannot find $funcstempath" echo ERROR: cannot find /autofs/cluster/kuperberg/SemPrMM/MRI/functionals/ya24/ATLLoc/007/fmcpr.odd.sm8.fsaverage.lh.nii.gz ERROR: cannot find /autofs/cluster/kuperberg/SemPrMM/MRI/functionals/ya24/ATLLoc/007/fmcpr.odd.sm8.fsaverage.lh.nii.gz exit 1 ; exit 1
Scott, can you run
selxavg3-sess -analysis ya.ATLLoc.spm.sm8.lh -s ya24 -d /cluster/kuperberg/SemPrMM/MRI/functionals/ -debug |& tee debug.log
and send me debug.log?
doug
Scott Burns wrote:
Freesurfers --
Here's the output of my terminal...
kerryave:functionals $ cd /cluster/kuperberg/SemPrMM/MRI/functionals/ kerryave:functionals $ rm /cluster/kuperberg/SemPrMM/MRI/functionals/ya24/scripts/atlloc_fs-stats.log kerryave:functionals $ selxavg3-sess -analysis ya.ATLLoc.spm.sm8.lh -s ya24 -d /cluster/kuperberg/SemPrMM/MRI/functionals/ -svres -nolog
Surface data fsaverage lh
selxavg3-sess logfile is /dev/null
/autofs/cluster/kuperberg/SemPrMM/MRI/functionals/ya24 Fri Apr 8 16:47:17 EDT 2011 anadir = /autofs/cluster/kuperberg/SemPrMM/MRI/functionals/ya24/ATLLoc/ya.ATLLoc.spm.sm8.lh ERROR: cannot find /autofs/cluster/kuperberg/SemPrMM/MRI/functionals/ya24/ATLLoc/007/fmcpr.odd.sm8.fsaverage.lh.nii.gz kerryave:functionals $ ls -l ya24/ATLLoc/007/fmcpr.odd.sm8.fsaverage.lh.nii.gz -rw-rw-r-- 1 sburns lingua 83660305 Apr 7 07:56 ya24/ATLLoc/007/fmcpr.odd.sm8.fsaverage.lh.nii.gz
Does anyone know what's going on? Here's my analysis.info http://analysis.info for that analysis...
kerryave:functionals $ cd ya.ATLLoc.spm.sm8.lh/ kerryave:ya.ATLLoc.spm.sm8.lh $ cat analysis.infohttp://analysis.info # FSBUILD freesurfer-Linux-centos4_x86_64-stable-v5.0.0-20110319 # MKAVERSION $Id: mkanalysis-sess,v 1.49.2.8 2011/01/18 17:08:22 greve Exp $ # MKACMD /usr/local/freesurfer/stable5_0_0/fsfast/bin/mkanalysis-sess -analysis ya.ATLLoc.spm.sm8.lh -fsd ATLLoc -rlf rlf -p atlloc.par -spmhrf 0 -refeventdur 2 -event-related -TR 2 -nconditions 4 -mcextreg -hpf 128 -funcstem fmcpr.odd.sm8.fsaverage.lh.nii.gz -surface fsaverage lh -force # DATE Fri Apr 8 08:31:01 EDT 2011
analysis ya.ATLLoc.spm.sm8.lh mcstem fmcpr funcstem fmcpr.odd.sm8.fsaverage.lh.nii.gz fsd ATLLoc runlistfile rlf TR 2 RegDOF 6 RawSpace surface fsaverage lh mask brain RawFWHM 0 RawSTC none inorm 100 acfbins 30 fixacf 1 acffwhm 20 acfsvd 0 designtype event-related nskip 0 polyfit 2 HPFCutoffHz 128 nconditions 4 parname atlloc.par RefEventDur 2 timewindow 40.000000 prestim 0 TER 0.050000 spmhrf 0 stimulusdelay 0 Condition 1 Condition01 Condition 2 Condition02 Condition 3 Condition03 Condition 4 Condition04 nuisreg mcprextreg 3
Thanks for the help.
Scott Burns Kuperberg Lab Martinos Center for Biomedical Imaging sburns@nmr.mgh.harvard.edumailto:sburns@nmr.mgh.harvard.edu
The information in this e-mail is intended only for the person to whom it is addressed. If you believe this e-mail was sent to you in error and the e-mail contains patient information, please contact the Partners Compliance HelpLine at http://www.partners.org/complianceline http://www.partners.org/complianceline . If the e-mail was sent to you in error but does not contain patient information, please contact the sender and properly dispose of the e-mail.
Freesurfer mailing list Freesurfer@nmr.mgh.harvard.edu https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer
-- Douglas N. Greve, Ph.D. MGH-NMR Center greve@nmr.mgh.harvard.edu Phone Number: 617-724-2358 Fax: 617-726-7422
Bugs: surfer.nmr.mgh.harvard.edu/fswiki/BugReporting FileDrop: www.nmr.mgh.harvard.edu/facility/filedrop/index.html