diff --git a/bedpostx_datacheck b/bedpostx_datacheck index 2679ea703cd4146521bd2ded3ae9deb2e00fe634..721a214692f8f8d8c4a01f1def38b95cf75afdee 100755 --- a/bedpostx_datacheck +++ b/bedpostx_datacheck @@ -1,5 +1,6 @@ #!/bin/sh + if [ $# -lt 1 ]; then echo "Usage: $0 data_dir" exit 1; @@ -39,20 +40,32 @@ if [ `${FSLDIR}/bin/imtest ${DIR}/data` -eq 1 -a `${FSLDIR}/bin/imtest ${DIR}/no echo "data dimensions do not match mask dimensions" fi - bvallen=`cat ${DIR}/bvals|grep -v "^[ ]*$"|wc -w` + bvallenw=`cat ${DIR}/bvals|wc -w` + bvallenl=`cat ${DIR}/bvals|grep -v "^[ ]*$"|wc -l` + bvallen=`echo "$bvallenw / $bvallenl"|bc` + bveclenw=`cat ${DIR}/bvecs|wc -w` bveclenl=`cat ${DIR}/bvecs|grep -v "^[ ]*$"|wc -l` bveclen=`echo "$bveclenw / $bveclenl"|bc` - - if [ $bveclen -ne $bvallen ];then + if [ $bveclenl -ne 3 -a $bveclen -ne 3 ];then + echo "bvecs is not 3xN or Nx3 format" + fi + + if [ $bvallenl -ge 2 -a $bvallen -ge 2 ];then + echo "bvals is not 1xN or Nx1 format" + fi + + if [ $bveclen -ne $bvallenw -a $bveclenl -ne $bvallenw ];then echo "bvecs and bvals are incompatible" fi - if [ $bvallen -ne $dt ];then + + if [ $bvallenw -ne $dt ];then echo "number of elements in bvals is not equal to number of vols in data" fi - if [ $bveclen -ne $dt ];then - echo "number of elements per line in bvecs is not equal to number of vols in data" + + if [ $bveclen -ne $dt -a $bveclenl -ne $dt ];then + echo "number of vectors in bvecs is not equal to number of vols in data" fi fi