[Insight-users] setting initial transform parameters

Darren Weber darren.weber.lists at gmail.com
Mon Oct 5 23:52:24 EDT 2009


On Wed, Sep 9, 2009 at 6:17 AM, Luis Ibanez <luis.ibanez at kitware.com> wrote:

> Hi Erik,
>
> The BSplineTransform can be initilized directly with an
> AffineTransform by simply connecting the AffineTransform
> as its "Bulk" transform.
>
> Please look at the examples:
>
> Insight/Examples/Registration/
>           DeformableRegistration14.cxx
>           DeformableRegistration15.cxx
>           DeformableRegistration8.cxx
>
>
> Look for the lines:
>
>  transform->SetBulkTransform( affine_transform );
>
>

In the DeformableRegistration4.cxx, the BSpline transform creation,
intialization, and hook into the registration method looks something like
this:

// Create a BSpline transform object.
 typedef itk::BSplineDeformableTransform<
    CoordinateRepType,
    SpaceDimension,
    SplineOrder >  bsTransformType;
bsTransformType::Pointer bsTransform = bsTransformType::New();

// Initialize the BSpline transform parameters.
typedef bsTransformType::bsParametersType bsParametersType;
bsParametersType bsParameters( bsTransform->GetNumberOfParameters() );
bsParameters.Fill( 0.0 );
bsTransform->SetParameters( bsParameters );

//  Pass the bsParameters into the registration method.
bsRegistration->SetInitialTransformParameters( bsTransform->GetParameters()
);


Given a prior affineTransform that will have a final transform from a
completed registration, could the above get replaced with:


// Create a BSpline transform object.
 typedef itk::BSplineDeformableTransform<
    CoordinateRepType,
     SpaceDimension,
    SplineOrder >  bsTransformType;
 bsTransformType::Pointer bsTransform = bsTransformType::New();

// Initialize the BSpline transform parameters.
bsTransform->SetBulkTransform( affineTransform );

//  Pass the bsParameters into the registration method.
 bsRegistration->SetInitialTransformParameters( bsTransform->GetParameters()
);



TIA,
Darren





> ---
>
> The general problem that you are facing, on the other hand,
> does not have an easy solution. All Transforms have a
> different number of parameters. This is simply because the
> Transform hierarchy is progressively increasing the degrees
> of freedom of the transforms.
>
> You will have to initialize TransformA from TransfromB
> on a case by case basis.
>
>
> Regards,
>
>
>        Luis
>
>
>
> ----------------------------------------------------------
>
> On Tue, Sep 8, 2009 at 8:11 AM, Erik Tuerke <tuerke at cbs.mpg.de> wrote:
>
>>
>>
>> Hello!
>>
>> I am writing a registration programm based on itk.
>>
>> I want the program to have the following facility: the user is able to set
>> a series of transforms. Considering an affine transform following a
>> non-linear transform(e.g. bspline transform). What i want to do is to pass
>> only the transform gained by the affine transform to the bspline
>> registration step (not the resampled image from the affine registration
>> step).
>> My problem is, that the regsitration method of the bspline registration
>> step expects a lot more parameters than i get by the affine registration
>> step. Is there a way to convert the affine transform into a, say, bspline
>> transform and pass this transform to the SetInitialTransformParameters
>> method of the registration method which is responsible for the bspline
>> transform?
>>
>>
>> Thanks a lot and best regards!
>>
>> _____________________________________
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Please keep messages on-topic and check the ITK FAQ at:
>> http://www.itk.org/Wiki/ITK_FAQ
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.itk.org/mailman/listinfo/insight-users
>>
>
>
> _____________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the ITK FAQ at:
> http://www.itk.org/Wiki/ITK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.itk.org/mailman/listinfo/insight-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20091005/c3de7660/attachment.htm>


More information about the Insight-users mailing list