From f42a51913badbf5c105492b90c19f44f01026068 Mon Sep 17 00:00:00 2001 From: Saad Jbabdi <saad@fmrib.ox.ac.uk> Date: Fri, 25 Apr 2008 12:05:29 +0000 Subject: [PATCH] fix to affine --- vecreg.cc | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/vecreg.cc b/vecreg.cc index d11b020..683d91a 100755 --- a/vecreg.cc +++ b/vecreg.cc @@ -171,13 +171,13 @@ void vecreg_aff(const volume4D<float>& tens, continue; } - // compute interpolated tensor - Tens << tens[0].interpolate(X_seed(1),X_seed(2),X_seed(3)) - << tens[1].interpolate(X_seed(1),X_seed(2),X_seed(3)) - << tens[2].interpolate(X_seed(1),X_seed(2),X_seed(3)) - << tens[3].interpolate(X_seed(1),X_seed(2),X_seed(3)) - << tens[4].interpolate(X_seed(1),X_seed(2),X_seed(3)) - << tens[5].interpolate(X_seed(1),X_seed(2),X_seed(3)); + // compute interpolated tensor + Tens.Row(1) << tens[0].interpolate(X_seed(1),X_seed(2),X_seed(3)); + Tens.Row(2) << tens[1].interpolate(X_seed(1),X_seed(2),X_seed(3)) + << tens[3].interpolate(X_seed(1),X_seed(2),X_seed(3)); + Tens.Row(3) << tens[2].interpolate(X_seed(1),X_seed(2),X_seed(3)) + << tens[4].interpolate(X_seed(1),X_seed(2),X_seed(3)) + << tens[5].interpolate(X_seed(1),X_seed(2),X_seed(3)); if(ivector.set()){ @@ -187,7 +187,9 @@ void vecreg_aff(const volume4D<float>& tens, // rotate vector V_target=R*V_seed; - V_target/=sqrt(V_target.SumSquare()); + if(V_target.MaximumAbsoluteValue()>0) + V_target/=sqrt(V_target.SumSquare()); + oV1(x,y,z,0)=V_target(1); oV1(x,y,z,1)=V_target(2); oV1(x,y,z,2)=V_target(3); -- GitLab