From 398959c08671195e6645aeeac2cb913c6fea0250 Mon Sep 17 00:00:00 2001 From: David Flitney <dave.flitney@ndcn.ox.ac.uk> Date: Wed, 26 Apr 2006 09:28:52 +0000 Subject: [PATCH] *** empty log message *** --- bedpostx | 34 +++++++++++++++++----------------- bedpostx_postproc.sh | 39 ++++++++++++++++++++++++++++++++++++++- bedpostx_preproc.sh | 8 ++++---- bedpostx_single_slice.sh | 4 ++-- 4 files changed, 61 insertions(+), 24 deletions(-) diff --git a/bedpostx b/bedpostx index 50c1cd2..8bbbde1 100755 --- a/bedpostx +++ b/bedpostx @@ -73,45 +73,45 @@ if [ `${FSLDIR}/bin/imtest ${subjdir}/nodif_brain_mask` -eq 0 ]; then echo "${subjdir}/nodif_brain_mask not found" fi -echo Making bedpost directory structure +echo Making bedpostX directory structure -mkdir -p ${subjdir}.bedpost/ -mkdir -p ${subjdir}.bedpost/diff_slices -mkdir -p ${subjdir}.bedpost/logs -mkdir -p ${subjdir}.bedpost/logs/pid_${$} -mkdir -p ${subjdir}.bedpost/xfms +mkdir -p ${subjdir}.bedpostX/ +mkdir -p ${subjdir}.bedpostX/diff_slices +mkdir -p ${subjdir}.bedpostX/logs +mkdir -p ${subjdir}.bedpostX/logs/pid_${$} +mkdir -p ${subjdir}.bedpostX/xfms mailto=`whoami`@fmrib.ox.ac.uk echo Queuing preprocessing stages preprocid=`qsub -M $mailto -V -q short.q \ - -o ${subjdir}.bedpost/logs -e ${subjdir}.bedpost/logs \ + -o ${subjdir}.bedpostX/logs -e ${subjdir}.bedpostX/logs \ ${FSLDIR}/bin/sge_bedpostX_preproc.sh ${subjdir} | \ awk '{print $3}'` echo Queuing parallel processing stage nslices=`avwval ${subjdir}/data dim3` bedpostid=`qsub -M $mailto -hold_jid $preprocid -V -q long.q -t 1-$nslices \ - -o ${subjdir}.bedpost/logs -e ${subjdir}.bedpost/logs \ + -o ${subjdir}.bedpostX/logs -e ${subjdir}.bedpostX/logs \ ${FSLDIR}/bin/sge_bedpostX_single_slice.sh $subjdir | \ awk '{print $3}' | awk -F. '{print $1}'` echo Queuing post processing stage mergeid=`qsub -M $mailto -hold_jid $bedpostid -V -q short.q \ - -o ${subjdir}.bedpost/logs -e ${subjdir}.bedpost/logs \ + -o ${subjdir}.bedpostX/logs -e ${subjdir}.bedpostX/logs \ ${FSLDIR}/bin/sge_bedpostX_postproc.sh $subjdir | \ awk '{print $3}'` echo -echo Type ${subjdir}.bedpost/monitor to show progress. -cat <<EOM > ${subjdir}.bedpost/monitor +echo Type ${subjdir}.bedpostX/monitor to show progress. +cat <<EOM > ${subjdir}.bedpostX/monitor #!/bin/sh finished=0 -logdir=${subjdir}.bedpost/logs +logdir=${subjdir}.bedpostX/logs while [ \$finished -eq 0 ] ; do nfin=0 if [ -f \$logdir/bedpost.o$bedpostid.1 ] ; then - nfin=\`cat \$logdir/bedpost.o$bedpostid.* |\ + nfin=\`cat \$logdir/bedpostX.o$bedpostid.* |\ grep Done | wc -w | awk '{print \$1}'\` fi if [ \$nfin -eq $nslices ] ; then @@ -122,14 +122,14 @@ while [ \$finished -eq 0 ] ; do sleep 600; done EOM -chmod +x ${subjdir}.bedpost/monitor +chmod +x ${subjdir}.bedpostX/monitor -echo Type ${subjdir}.bedpost/cancel to terminate the task. -cat <<EOC > ${subjdir}.bedpost/cancel +echo Type ${subjdir}.bedpostX/cancel to terminate the task. +cat <<EOC > ${subjdir}.bedpostX/cancel #!/bin/sh qdel $mergeid $bedpostid $preprocid EOC -chmod +x ${subjdir}.bedpost/cancel +chmod +x ${subjdir}.bedpostX/cancel echo echo You will get an email at the end of the post-processing stage. diff --git a/bedpostx_postproc.sh b/bedpostx_postproc.sh index 0cf50fb..67773c0 100755 --- a/bedpostx_postproc.sh +++ b/bedpostx_postproc.sh @@ -8,4 +8,41 @@ subjdir=$1 #$ -m ae -echo cock \ No newline at end of file +numfib=`${FSLDIR}/bin/imglob -oneperimage ${subjdir}.bedpostX/diff_slices/data_slice_0000/f*samples |wc -w` + + +fib=1; +while [ $fib -le $numfib ];do + ${FSLDIR}/bin/avwmerge -z ${subjdir}.bedpostX/merged_th${fib}samples `${FSLDIR}/bin/imglob -oneperimage ${subjdir}.bedpostX/diff_slices/data_slice_*/th${fib}samples` + ${FSLDIR}/bin/avwmerge -z ${subjdir}.bedpostX/merged_ph${fib}samples `${FSLDIR}/bin/imglob -oneperimage ${subjdir}.bedpostX/diff_slices/data_slice_*/ph${fib}samples` + ${FSLDIR}/bin/avwmerge -z ${subjdir}.bedpostX/merged_f${fib}samples `${FSLDIR}/bin/imglob -oneperimage ${subjdir}.bedpostX/diff_slices/data_slice_*/f${fib}samples` + ${FSLDIR}/bin/avwmaths ${subjdir}.bedpostX/merged_th${fib}samples -Tmean ${subjdir}.bedpostX/mean_th${fib}samples + ${FSLDIR}/bin/avwmaths ${subjdir}.bedpostX/merged_ph${fib}samples -Tmean ${subjdir}.bedpostX/mean_ph${fib}samples + ${FSLDIR}/bin/avwmaths ${subjdir}.bedpostX/merged_f${fib}samples -Tmean ${subjdir}.bedpostX/mean_f${fib}samples + + ${FSLDIR}/bin/make_dyadic_vectors ${subjdir}.bedpostX/merged_th${fib}samples ${subjdir}.bedpostX/merged_ph${fib}samples ${subjdir}.bedpostX/nodif_brain_mask ${subjdir}.bedpostX/dyads${fib} + + fib=`echo "$fib +1"|bc`; +done + +echo Removing intermediate files + +if [ `imtest ${subjdir}.bedpostX/merged_th1samples` -eq 1 ];then + if [ `imtest ${subjdir}.bedpostX/merged_ph1samples` -eq 1 ];then + if [ `imtest ${subjdir}.bedpostX/merged_f1samples` -eq 1 ];then + rm -rf ${subjdir}.bedpostX/diff_slices + rm -f ${subjdir}/data_slice_* + rm -f ${subjdir}/nodif_brain_mask_slice_* + fi + fi +fi + +echo Creating identity xfm + +xfmdir=${subjdir}.bedpostX/xfms +echo 1 0 0 0 > ${xfmdir}/eye.mat +echo 0 1 0 0 >> ${xfmdir}/eye.mat +echo 0 0 1 0 >> ${xfmdir}/eye.mat +echo 0 0 0 1 >> ${xfmdir}/eye.mat + +echo Done diff --git a/bedpostx_preproc.sh b/bedpostx_preproc.sh index fc010ae..b848aae 100755 --- a/bedpostx_preproc.sh +++ b/bedpostx_preproc.sh @@ -8,13 +8,13 @@ subjdir=$1 #$ -m a echo Copying files to bedpost directory -cp ${subjdir}/bvecs ${subjdir}/bvals ${subjdir}.bedpost -${FSLDIR}/bin/imcp ${subjdir}/nodif ${subjdir}/nodif_brain_mask ${subjdir}.bedpost +cp ${subjdir}/bvecs ${subjdir}/bvals ${subjdir}.bedpostX +${FSLDIR}/bin/imcp ${subjdir}/nodif ${subjdir}/nodif_brain_mask ${subjdir}.bedpostX ${FSLDIR}/bin/avwmaths\ ${subjdir}/nodif\ -mas ${subjdir}/nodif_brain_mask\ - ${subjdir}.bedpost/nodif_brain + ${subjdir}.bedpostX/nodif_brain ${FSLDIR}/bin/avwslice ${subjdir}/data ${FSLDIR}/bin/avwslice ${subjdir}/nodif_brain_mask -echo Done \ No newline at end of file +echo Done diff --git a/bedpostx_single_slice.sh b/bedpostx_single_slice.sh index 6a87b26..9a851a0 100755 --- a/bedpostx_single_slice.sh +++ b/bedpostx_single_slice.sh @@ -13,6 +13,6 @@ ${FSLDIR}/bin/xfibres\ --data=$subjdir/data_slice_$slicezp\ --mask=$subjdir/nodif_brain_mask_slice_$slicezp\ -b $subjdir/bvals -r $subjdir/bvecs\ - --forcedir --logdir=$subjdir.bedpost/diff_slices/data_slice_$slicezp\ - --nj=1000 --bi=600 --se=20 --upe=24 --nfibres=2 > $subjdir.bedpost/logs/log$slicezp && echo Done + --forcedir --logdir=$subjdir.bedpostX/diff_slices/data_slice_$slicezp\ + --nj=1000 --bi=600 --se=20 --upe=24 --nfibres=2 > $subjdir.bedpostX/logs/log$slicezp && echo Done -- GitLab