Hello,<div><br></div><div>I&#39;m using VersorRigid3DTransform in ResampleImageFilter to rotate and translate a 3D volume using ITK 3.16. I set the rotation matrix by hand to orthonormal vectors and I get the error that the matrix is non-orthogonal as follows:</div>

<div><br></div><div><div>itkRigid3DTransform.txx:99:</div><div>itk::ERROR: VersorRigid3DTransform(0x1441c240): Attempting to set a non-orthogonal rotation matrix</div><div>Aborted</div></div><div><br></div><div>The set of orthonormal vectors I use are e1, e2 and e3 as follows:</div>

<div><div> </div><div> vnl_vector&lt;double&gt; e1(3), e2(3), e3(3);</div><div> e1[0]= sqrt(2.0/3.0); e1[1]=-1.0/sqrt(6.0); e1[2]=-1.0/sqrt(6.0);</div><div> e2[0]= 0.0; e2[1]=1.0/2.0; e2[2]=-1.0/2.0;</div><div> e3[0]=1.0/sqrt(3.0); e3[1]=1.0/sqrt(3.0); e3[2]=1.0/sqrt(3.0);</div>

</div><div> </div><div> itk::VersorRigid3DTransform&lt;double&gt;::MatrixType matr;</div><div><div> matr(0,0)=e1[0]; matr(0,1)=e1[1];matr(0,2)=e1[2]; </div><div> matr(1,0)=e2[0]; matr(1,1)=e2[1];matr(1,2)=e2[2];</div><div>

 matr(2,0)=e3[0]; matr(2,1)=e3[1];matr(2,2)=e3[2];</div><div> cout &lt;&lt; &quot;Rot &quot; &lt;&lt; matr &lt;&lt; endl;</div><div> transform-&gt;SetMatrix(matr); </div></div><div><br></div><div> Rot: </div><div> 0.816497 -0.408248 -0.408248</div>

<div> 0 0.5 -0.5 </div><div> 0.57735 0.57735 0.57735</div><div><br></div><div>The error seems to be due to the tolerance which is hardcoded as e-10 in itkRigid3DTransform.txx</div><div><br></div><div>Can anyone suggest me a solution to this problem? </div>

<div><br></div><div>Thanks,</div><div>Sundar</div>