[Insight-users] how to set the initial parameter for a rigid registration manually?

Luis Ibanez luis.ibanez at kitware.com
Mon Mar 1 18:11:32 EST 2010


Hi Michiel,

It is very unlikely that the CenteredTransformInitializer
will fail to overlap the two images.


DO NOT assign any value manually to the Transform.
That's what the Initializer is for.


Please do the following:

   1) Set the initializer to use GeometryOn();

   2) Run the code again and
       post to this mailing list the following information:

        a) The Transform just as it is initialized by the
             initializer ( no need to run registration iterations).

        b) Origin, Spacing, Orientation and number of pixels
             of both the Fixed Image and Moving Images.


  Thanks


       Luis



----------------------------------------------------
On Mon, Mar 1, 2010 at 11:40 AM, michiel mentink
<michael.mentink at st-hughs.ox.ac.uk> wrote:
> spoke too soon :(
>
> Now the moving image dimensions are zeroed too.
>
> help?
>
> On Mon, Mar 1, 2010 at 4:30 PM, michiel mentink
> <michael.mentink at st-hughs.ox.ac.uk> wrote:
>>
>> ah solved it.
>>
>> For any that are interested:
>>
>>  TransformType::OutputVectorType translation_vector;
>>   translation_vector[0] = 0.0;
>>   translation_vector[1] = 0.0;
>>   translation_vector[2] = 0.0;
>>   transform->SetTranslation(translation_vector);
>>
>> and then comment out
>>   initializer->InitializeTransform();
>>
>> Still doesn't solve my problem though.
>>
>> cheers, Michael
>>
>>
>> On Mon, Mar 1, 2010 at 3:39 PM, michiel mentink
>> <michael.mentink at st-hughs.ox.ac.uk> wrote:
>>>
>>> Dear all,
>>>
>>> is there anyway of setting the initial iteration of the
>>> CentredTransformInitializer manually?
>>>
>>> The CentredTransformInitializer uses either GeometryOn() or momentsOn()
>>> that calculates
>>> the center of the image, but that produces an initial parameter that
>>> fails the registration even
>>> before it starts, because its errors:
>>> Description: itk::ERROR: MeanSquaresImageToImageMetric(0x9dfa3f0): All
>>> the points mapped to outside of the moving image
>>>
>>> Alternatively, can I just overwrite the parameters that are produced by
>>> the centredTransformInitializer? How?
>>>
>>> I'm using the VersorRigid3DTransform.
>>>
>>> cheers, Michael
>>>
>>
>
>
> _____________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Kitware offers ITK Training Courses, for more information visit:
> http://www.kitware.com/products/protraining.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
>
>


More information about the Insight-users mailing list