[Insight-developers] itkVector, itkPoint and normals
Miller, James V (CRD)
millerjv@crd.ge.com
Tue, 2 Jan 2001 14:39:54 -0500
I think the changes to itkMesh are not that involved. I found only a handful of files that actually
declare an itk::Point. We'll need to change itk::MeshTypeDefault and itk::MeshTypeDefaultDynamic
since these are the classes that actually define the point type used.
I agree that we need to be careful about transforming normals and vectors. In vtk, we have a
separate API for normals from vectors. It sounds like CoVector is a more formal distinction from
Vector than Vector/Normal is. I have never heard of the term "covector". Can you point me to a text
that defines it? I just want to verify the name is the right one to use.
Jim
-----Original Message-----
From: Luis Ibanez [mailto:ibanez@cs.unc.edu]
Sent: Tuesday, January 02, 2001 12:04 PM
To: Miller, James V (CRD); insight-developers@public.kitware.com
Subject: Re: [Insight-developers] itkVector, itkPoint and normals
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
______________________________________________________________________
_______________________________________________
Insight-developers mailing list
Insight-developers@public.kitware.com
http://public.kitware.com/mailman/listinfo/insight-developers