#!/bin/sh Usage() { echo "" echo "Usage: dti_proc.sh " echo "" echo "You must have FSL installed in order to run this script" echo "" exit 1 } [ "$4" = "" ] && Usage debug=1 in=`${FSLDIR}/bin/remove_ext $1` shift t1=`${FSLDIR}/bin/remove_ext $1` shift b_in=$1 shift out=`${FSLDIR}/bin/remove_ext $1` shift td=${out}'/.tmp_'${b_in} p2a=$(dirname ${in}.nii.gz)'/'${b_in}'_p2a_b0' if [ ! -d "$td" ]; then mkdir $td fi if [ ! -d "$out" ]; then mkdir $out fi echo "DTI preproccessing begins ..." echo [`date`] echo echo "Preparing topup" ${FSLDIR}/bin/imcp ${p2a} ${td}/ ${FSLDIR}/bin/fslroi $in ${td}/a2p_b0 0 1 ${FSLDIR}/bin/fslmerge -t ${td}/a2p_p2a_b0 ${td}/a2p_b0 ${td}/${b_in}_p2a_b0 echo "Running topup" ${FSLDIR}/bin/topup --imain=${td}/a2p_p2a_b0 --datain=${out}/../acqparams.txt --out=${td}/topup_results --iout=${td}/hifi_b0 ${FSLDIR}/bin/fslmaths ${td}/hifi_b0 -Tmean ${td}/hifi_b0 ${FSLDIR}/bin/bet ${td}/hifi_b0 ${td}/hifi_b0_brain -m #${FSLDIR}/bin/applytopup --imain=${in} --inindex=1 --datain=${out}/../acqparams.txt --topup=${td}/topup_results --out=${td}/${b_in}_hifi --method=jac echo "Copying files for ${b_in} to ${td}/" echo cp ${in}.bval ${td}/bvals cp ${in}.bvec ${td}/bvecs echo "Doing correction on ${td}/${b_in}_hifi" echo [`date`] echo #${FSLDIR}/bin/eddy_correct ${td}/${b_in}_hifi ${td}/data 0 ${FSLDIR}/bin/eddy_cuda --imain=${in} --mask=${td}/hifi_b0_brain --acqp=${out}/../acqparams.txt --index=${out}/../dti_index.txt --bvecs=${td}/bvecs --bvals=${td}/bvals --topup=${td}/topup_results --out=${td}/data echo "Running dtifit on ${td}/data" echo [`date`] echo ${FSLDIR}/bin/dtifit --data=${td}/data --out=${td}/dti --mask=${td}/hifi_b0_brain --bvecs=${td}/bvecs --bvals=${td}/bvals echo "I will copy all output files to ${out}/${b_in}_XXXXX" echo for x in ${td}/dti*; do ${FSLDIR}/bin/imcp ${x} ${out}/${b_in}_$(basename $x); done; ${FSLDIR}/bin/imcp ${td}/hifi_b0_brain ${out}/${b_in}_dti_brain_mask ${FSLDIR}/bin/imcp ${td}/data ${out}/${b_in}_dti_data echo [`date`] exit 0