From 3f8a9f28bebfd3d0d51b7544139db328181ef320 Mon Sep 17 00:00:00 2001
From: Saad Jbabdi <saad@fmrib.ox.ac.uk>
Date: Tue, 1 Jul 2008 13:38:36 +0000
Subject: [PATCH] allow 3xN and Nx3 bvecs, as well as 1xN and Nx1 bvals

---
 bedpostx_datacheck | 25 +++++++++++++++++++------
 1 file changed, 19 insertions(+), 6 deletions(-)

diff --git a/bedpostx_datacheck b/bedpostx_datacheck
index 2679ea7..721a214 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
-- 
GitLab