[Insight-developers] itkVector, itkPoint and vnl_vector

Luis Ibanez ibanez@cs.unc.edu
Wed, 03 Jan 2001 15:43:01 -0500


Will Schroeder wrote:

> Hi Jim-
>
> In that case I would argue that itkVector should not 
> be implemented with vnl_vector :-) I think memory issues
> are very important. My experience with big data sets 
> is that the difference between choosing one package over 
> another often boils down to its performance when the data 
> is large, which is usually a function of memory as the 
> system strains to swap, etc.
>
> Will

Given that a lot of this will be used only in 2D and 3D
maybe it could be worth to specialize a set of (Vector, 
Point, AffineTransformation) for 2D/3D without using 
vnl_vector's (to respect the memory constrains), and keep 
a generic set (Vector,Point AffineTransform) for N-D 
using the vnl_vector.


The extra bytes that vnl_vector costs will be less
significant in higher dimensions, and it is in those
higher dimensions that we don't want to do matrix 
multiplications 'by hand'.


If the same API is maintained for both sets, that
could be a balance between speed, memory usage
and code reuse.


Luis