#!/bin/sh # siena_flow2std - warp flow image into standard space # # Stephen Smith, FMRIB Image Analysis Group # # Copyright (C) 2002-2007 University of Oxford # # SHCOPYRIGHT Usage() { echo "" echo "Usage: siena_flow2std <fileroot2> <fileroot2> [options]" echo "" echo "-s <sigma> : spatial smoothing of standard-space edge-flow image, sigma (HWHM) in mm (default=5)" echo "-d : debug (don't delete intermediate files)" echo "" exit 1 } if [ _$FSLDIR = _ ] ; then FSLDIR=/usr/local/fsl export FSLDIR fi [ "$2" = "" ] && Usage [ `${FSLDIR}/bin/imtest $1` = 0 ] && Usage [ `${FSLDIR}/bin/imtest $2` = 0 ] && Usage A=`${FSLDIR}/bin/remove_ext $1` B=`${FSLDIR}/bin/remove_ext $2` shift 2 debug=0 smooth=5 while [ _$1 != _ ] ; do if [ $1 = -d ] ; then debug=1 shift elif [ $1 = -s ] ; then smooth=$2 shift 2 else Usage fi done # register to MNI152 if not already done, and create halfway2std transform if [ ! -f ${A}_to_std.mat ] ; then if [ `${FSLDIR}/bin/imtest ${A}_brain` = 0 ] ; then ${FSLDIR}/bin/bet $A ${A}_brain fi ${FSLDIR}/bin/flirt -ref ${FSLDIR}/data/standard/MNI152_T1_2mm_brain -in ${A}_brain -omat ${A}_to_std.mat -o ${A}_to_std fi ${FSLDIR}/bin/convert_xfm -omat ${A}_halfwayto_${B}_inv.mat -inverse ${A}_halfwayto_${B}.mat ${FSLDIR}/bin/convert_xfm -omat ${A}_halfwayto_${B}_to_std.mat -concat ${A}_to_std.mat ${A}_halfwayto_${B}_inv.mat # dilate flow image, -> standard space -> mask with ss edge image -> blur -> remask ${FSLDIR}/bin/fslmaths ${A}_to_${B}_flow -dilM -dilM -dilM -dilM -dilM -dilM -dilM -dilM -dilM -dilM -dilM -dilM -dilM -dilM ${A}_to_${B}_flow_dil ${FSLDIR}/bin/fslmaths ${B}_to_${A}_flow -dilM -dilM -dilM -dilM -dilM -dilM -dilM -dilM -dilM -dilM -dilM -dilM -dilM -dilM ${A}_to_${B}_flow_dilback ${FSLDIR}/bin/flirt -in ${A}_to_${B}_flow_dil -ref ${FSLDIR}/data/standard/MNI152_T1_2mm_brain -out ${A}_to_${B}_flow_dil -applyxfm -init ${A}_halfwayto_${B}_to_std.mat ${FSLDIR}/bin/flirt -in ${A}_to_${B}_flow_dilback -ref ${FSLDIR}/data/standard/MNI152_T1_2mm_brain -out ${A}_to_${B}_flow_dilback -applyxfm -init ${A}_halfwayto_${B}_to_std.mat ${FSLDIR}/bin/fslmaths ${A}_to_${B}_flow_dil -sub ${A}_to_${B}_flow_dilback -div 2 -mas ${FSLDIR}/data/standard/MNI152_T1_2mm_edges ${A}_to_${B}_flow_to_std if [ $smooth != 0 ] ; then ${FSLDIR}/bin/fslmaths ${FSLDIR}/data/standard/MNI152_T1_2mm_edges -bin -s $smooth ${A}_masksmooth -odt float ${FSLDIR}/bin/fslmaths ${A}_to_${B}_flow_to_std -s $smooth -div ${A}_masksmooth -mas ${FSLDIR}/data/standard/MNI152_T1_2mm_edges ${A}_to_${B}_flow_to_std fi # cleanup if [ $debug = 0 ] ; then $FSLDIR/bin/imrm ${A}_masksmooth ${A}_brain ${A}_to_${B}_flow_dil ${A}_to_${B}_flow_dilback ${A}_to_std /bin/rm -f ${A}_halfwayto_${B}_inv.mat fi