Newer
Older
#!/bin/sh
# siena_cal - Self-calibration part of SIENA
#
# Stephen Smith, FMRIB Image Analysis Group
#
# Copyright (C) 1999-2004 University of Oxford
#
# SHCOPYRIGHT
Usage() {
echo "Usage: siena_cal <input1_fileroot> <input2_fileroot> <scale> [siena_diff options]"
exit 1
}
if [ _$FSLDIR = _ ] ; then
FSLDIR=/usr/local/fsl
export FSLDIR
fi
[ "$2" = "" ] && Usage
[ `${FSLDIR}/bin/imtest $1` = 0 ] && Usage
input=`${FSLDIR}/bin/remove_ext $1`
inputB=`${FSLDIR}/bin/remove_ext $2`
o1=`${FSLDIR}/bin/fslval ${input} dim1`
o2=`${FSLDIR}/bin/fslval ${input} dim2`
o3=`${FSLDIR}/bin/fslval ${input} dim3`
v1=`${FSLDIR}/bin/fslval ${input} pixdim1 | sed "s/-//g"`
v2=`${FSLDIR}/bin/fslval ${input} pixdim2 | sed "s/-//g"`
v3=`${FSLDIR}/bin/fslval ${input} pixdim3 | sed "s/-//g"`
t1=`echo "5 k $m 1.0 - $o1 * $v1 * _0.5 * p" | dc -`
t2=`echo "5 k $m 1.0 - $o2 * $v2 * _0.5 * p" | dc -`
t3=`echo "5 k $m 1.0 - $o3 * $v3 * _0.5 * p" | dc -`
echo "$m 0.0 0.0 $t1" > ${input}_halfwayto_sc${input}.mat
echo "0.0 $m 0.0 $t2" >> ${input}_halfwayto_sc${input}.mat
echo "0.0 0.0 $m $t3" >> ${input}_halfwayto_sc${input}.mat
echo "0.0 0.0 0.0 1.0" >> ${input}_halfwayto_sc${input}.mat
t1=`echo "5 k $M 1.0 - $o1 * $v1 * _0.5 * p" | dc -`
t2=`echo "5 k $M 1.0 - $o2 * $v2 * _0.5 * p" | dc -`
t3=`echo "5 k $M 1.0 - $o3 * $v3 * _0.5 * p" | dc -`
echo "$M 0.0 0.0 $t1" > sc${input}_halfwayto_${input}.mat
echo "0.0 $M 0.0 $t2" >> sc${input}_halfwayto_${input}.mat
echo "0.0 0.0 $M $t3" >> sc${input}_halfwayto_${input}.mat
echo "0.0 0.0 0.0 1.0" >> sc${input}_halfwayto_${input}.mat
$FSLDIR/bin/imcp $input sc$input
$FSLDIR/bin/imcp ${input}_brain_mask sc${input}_brain_mask
$FSLDIR/bin/imcp ${input}_valid_mask_with_$inputB ${input}_valid_mask_with_sc$input
${FSLDIR}/bin/siena_diff ${input} sc${input} $@ > ${input}_to_sc${input}.siena
vm=`echo "10 k $m 6 ^ 1.0 - 100.0 * p" | dc -`
cal=`grep PBVC ${input}_to_sc${input}.siena | awk '{print $2}' | sed "s/-//g"`
corr=`echo "10 k $vm $cal / p" | dc -`
#echo "$m $vm $cal $corr"
echo $corr
$FSLDIR/bin/imrm sc${input}.* \
sc${input}_brain_mask.* \
${input}_halfwayto_sc${input}.* \
${input}_halfwayto_sc${input}_brain.* \
${input}_halfwayto_sc${input}_brain_seg.* \
${input}_halfwayto_sc${input}_mask.* \
${input}_halfwayto_sc${input}_stdmask.* \
sc${input}_halfwayto_${input}.* \
sc${input}_halfwayto_${input}_mask.* \
${input}_to_sc${input}_flow.* \
${input}_valid_mask_with_sc${input}.* \
${input}_halfwayto_sc${input}_valid_mask.*
/bin/rm -f ${input}_halfwayto_sc${input}.mat sc${input}_halfwayto_${input}.mat \
${input}_to_sc${input}.siena ${input}_halfwayto_sc${input}_brain.vol