[Insight-developers] Transforms changes

Luis Ibanez luis.ibanez@kitware.com
Thu, 21 Feb 2002 15:00:02 -0500


Hi


The changes in Transform are about to be checked in.
This is a summary of what is changing



1) itkArray   was renamed itkFixedArray
   classes that were deriving from itkArray are
   now deriving from itkFixedArray (Point,Vector,
   CovariantVector, RGBPixel, RGBAPixel)

2) a new itkArray was added. It derives from vnl_vector
   a second class itkArray2D was also added deriving
   from vnl_matrix. The basic role of these two classes
   is to avoid exposing vnl at the itk API level and yet
   provide a type for passing groups parameters whose
   number is only known at run-time.

3) in itk::Transform two template parameters where removed.
   They corresponded to the ParametersType and the JacobianType.
   The first is now defined as an itkArray and the second is an
   itkArray2D.

4) itk::Image no longer has an AffineTransform but rather
   a SmartPointer to a generic itk::Transform. That allows to plug
   any kind of transform into an image. By default an Affine
   transform is plugged in but it can be replaced by any other
   transform after the image has been constructed.

5) itkAzimuthElevationToCartesianTransform no longer derives
   from the Affine transform. It is now deriving from itkTransform.
   and can be plugged in an image.

6) GetJacobian() is now an abstract method.
   It is not implemented in several Transforms and has to be
   verified in some of them (TODO list...)




The next step involves to modify all the Optimizers and Metrics.
Basically they will communicate by passing itkArrays.




   Luis