[Insight-users] Versor in pointset to image Registration

Luis Ibanez luis.ibanez at kitware.com
Sun Feb 25 12:15:17 EST 2007


Hi Tony,


Yes,

       Versors are *all about Rotations*.


   Versors are also known as Unit Quaternions


Unfortunately many people in the Graphics and
imaging communities talk about Quaternions when
they actually mean Versors.


A quaternion can represent Rotation and Scaling,
while a Versor represents only rotations.


You will find two tutorials on Quaternions on
the ITK Tutorials page:

    http://www.itk.org/HTML/Tutorials.htm

Close to the bottom of the page, you will
see the links to:

http://www.itk.org/CourseWare/Training/QuaternionsI.pdf
http://www.itk.org/CourseWare/Training/QuaternionsII.pdf



Please not that the X,Y,Z, components of a Versor
must not be confused with Euler angles, which is a
more primitive way of representing rotations.


You may find intuitive to interpret the Versor
by getting it Axis of rotation and its Angle.


      VectorType  axis  = versor.GetAxis();
      ValueType   angle = versor.GetAngle();


(angles are of course represented in radians)



   Regards


      Luis



-----------------
tony hakki wrote:
> Hello dear ITK users;
> In registration examples there is a couple of  variables which is called 
> /Versor/;I couldn't understand what these variables indicate. 
> /Translation/ indicates that how much moving image will be translated 
> through the x,y,z axis. But What about /Versor/? Is it about rotation
> Here is the part of an example:
> 
> // Print out results
> 
> //
> 
> std::cout << std::endl << std::endl;
> 
> std::cout << "Result = " << std::endl;
> 
> std::cout << " versor X = " << versorX << std::endl;
> 
> std::cout << " versor Y = " << versorY << std::endl;
> 
> std::cout << " versor Z = " << versorZ << std::endl;
> 
> std::cout << " Translation X = " << finalTranslationX << std::endl;
> 
> std::cout << " Translation Y = " << finalTranslationY << std::endl;
> 
> std::cout << " Translation Z = " << finalTranslationZ << std::endl;
> 
> std::cout << " Iterations = " << nmbrOfIterations << std::endl;
> 
> std::cout << " Metric value = " << bestValue << std::endl;
> 
>  
> 
> Tony
> 
> 


More information about the Insight-users mailing list