From 2326c738845b552b35526bf78be0043b25747e05 Mon Sep 17 00:00:00 2001
From: Tim Behrens <behrens@fmrib.ox.ac.uk>
Date: Wed, 26 Jul 2006 14:29:35 +0000
Subject: [PATCH] *** empty log message ***

---
 diff_pvm.cc | 10 ++++++++++
 xfibres.cc  | 11 +++++++++++
 2 files changed, 21 insertions(+)

diff --git a/diff_pvm.cc b/diff_pvm.cc
index 7d1ebfe..f6c2805 100644
--- a/diff_pvm.cc
+++ b/diff_pvm.cc
@@ -298,6 +298,16 @@ int main(int argc, char *argv[])
 //     return 0;
     int ntpts = data.tsize();
     Matrix bvecs = read_ascii_matrix(opts.bvecsfile.value());
+    if(bvecs.Nrows()>3) bvecs=bvecs.t();
+    for(int i=1;i<=bvecs.Ncols();i++){
+      float tmpsum=sqrt(bvecs(1,i)*bvecs(1,i)+bvecs(2,i)*bvecs(2,i)+bvecs(3,i)*bvecs(3,i));
+      if(tmpsum!=0){
+	bvecs(1,i)=bvecs(1,i)/tmpsum;
+	bvecs(2,i)=bvecs(2,i)/tmpsum;
+	bvecs(3,i)=bvecs(3,i)/tmpsum;
+      }  
+    }
+
     Matrix bvals = read_ascii_matrix(opts.bvalsfile.value());
     // mask:
     Volume mask;
diff --git a/xfibres.cc b/xfibres.cc
index b4da466..1f28291 100644
--- a/xfibres.cc
+++ b/xfibres.cc
@@ -576,6 +576,17 @@ int main(int argc, char *argv[])
     volume<int> vol2matrixkey;
     bvals=read_ascii_matrix(opts.bvalsfile.value());
     bvecs=read_ascii_matrix(opts.bvecsfile.value());
+    if(bvecs.Nrows()>3) bvecs=bvecs.t();
+    for(int i=1;i<=bvecs.Ncols();i++){
+      float tmpsum=sqrt(bvecs(1,i)*bvecs(1,i)+bvecs(2,i)*bvecs(2,i)+bvecs(3,i)*bvecs(3,i));
+      if(tmpsum!=0){
+	bvecs(1,i)=bvecs(1,i)/tmpsum;
+	bvecs(2,i)=bvecs(2,i)/tmpsum;
+	bvecs(3,i)=bvecs(3,i)/tmpsum;
+      }  
+    }
+    
+    
 
     {//scope in which the data exists in 4D format;
       volume4D<float> data;
-- 
GitLab