[Insight-developers] Pervasive Pipelining & Conversion of the Image Registration framework

Luis Ibanez luis.ibanez at kitware.com
Thu, 22 Apr 2004 20:55:52 -0400


Hi Jim,

As we discussed at last tcon, the itk::ImageRegistrationMethod
is now being modified in order to take advantage of the new
DataObjectDecorator<> class.

As a first step, the following modification were made in
itk::ImageRegistrationMethod:

1) A GenerateData() method was added

2) A MakeOutput() method was added

3) A DataObjectDecorator<> type was defined for the
    transform.

4) The Decorator of the Transform is now returned
    by the GetOutput() method.


All the tests of the basic registration framework are
now calling Update() instead of StartRegistration().

So far, the only problem that is surfacing is related
to the intentional test of Exceptions.  It seems that
when exceptions are thrown from the StartRegistration()
method, they are being catched by some intermediate
code in the itk::ProcessObject.

This is showing up in the failure of the following test:

    A) itkImageRegistrationMethodTest
    B) itkImageRegistrationMethodTest_13
    C) itkImageRegistrationMethodTest_14

In all cases the failure is related to test of the
exception that has to be thrown when an array of
initial transform parameters is set with the wrong
size.

The tests work ok if StartRegistration() is called,
and they fail when Update() is called. However, the
only thing that GenerateData() does is to delegate
to StartRegistration().


Do you see any places in itk::ProcessObject that may
be responsible for such effect ?


   Thanks for any hints,


    Luis