[Insight-developers] itkVector, itkPoint and normals

Luis Ibanez ibanez@cs.unc.edu
Tue, 02 Jan 2001 12:04:28 -0500


I already did a modified version of itkPoint, but didn't 
put it in the repository because the implication on the 
itkMesh are not clear to me.

this modified itkPoint is in :
http://www.cs.unc.edu/~ibanez/Insight/Code/itkPoint.h

It is based in itkVector and the minimal operations with 
vectors have been included. That will simplify a lot the 
itkAffineTransform.

---

A second thing to consider is the problem with 'normal' vector 
and gradients.   It happens that they are not really vectors 
and behave different under affine transforms (specially shears 
and anisotropic scale transforms).   

A 'CoVector' class is proposed in:
http://www.cs.unc.edu/~ibanez/Insight/Code/itkCoVector.h

that follows the example of:
http://www.cgl.uwaterloo.ca/~njlitke/geometry/



Thanks

Luis




Jim Miller wrote:
> I would make the itkVector a geometrical vector.  
> The intention was that is would a "mathematical"
> vector (in the linear algebra sense) so that you
> could apply transformations to a vector. You should
> be able to add vectors, multiply by matrices etc.  
> This was the reason itkVector switched to using
> vnl_vector.  itkPoint should be changed to use a 
>  vnl_vector and the API should be expanded so that
> the difference between two points produces a vector, etc.

> If people are using the itkVector as simply a collection 
> of data that is not meant to be transformed,
> then perhaps that should be a different pixel type.



--
______________________________________________________________________

Luis Ibanez
Research Assistant Professor - Division of Neurosurgery
University of North Carolina at Chapel Hill
CB# 7060, Chapel Hill, NC 27599
email : ibanez@cs.unc.edu       home  : http://www.cs.unc.edu/~ibanez
phone : (919)-843-9961          fax   : (919)-966-6627
______________________________________________________________________