[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