[Insight-users] Masks & registration

Laurent PAUL Laurent.Paul at orto.ucl.ac.be
Wed May 10 11:52:40 EDT 2006


Hi Luis,

If I want to use masks, I can first apply a AND filter on Image and Mask
and use the result as fixed and moving Image.
If I really need masks, I'll try.

Another question on masks: if I use mask, Do I have to initially transform
the mask with the same InitialTransform applied on the MovingImage? I
think my problem could come from there, mask hasn't the same absolute
coordinates as Initially transformed MovingImage.

Thanks for your help.

Laurent.


>
> Hi Laurent,
>
> The Transform Initializers do not take into account the Masks.
>
> They compute the Moments/Geometry on the entire images.
>
> Note that a better way to initialize your registration is to
> use the LandmarkBasedTransformInitializer.
>
> http://www.itk.org/Insight/Doxygen/html/classitk_1_1LandmarkBasedTransformInitializer.html
>
> It requires the user to provide at couple of homologous points
> in both images, but it will increase a lot the quality of your
> initialization.
>
>
>
>    Regards,
>
>
>       Luis
>
>
>
> ======================
> Laurent PAUL wrote:
>>  Hi users,
>> I've got a problem with masks & registration.
>> I use MeanSquaresImageToImageMetric and VersorRigid3DTransform for the
registration process.
>> Since I have regions of interest, I tried to pass at least 1 mask to
the
>> metric. It seems to be ok as I test it with IsInside() method with two
points (one in and one out).
>> My first question is if I use SetDefaultOutsideValue(0) for the mask,
any value different from 0 will be considered as Inside, right?
>> Then, I read a message which deals with nearly the same problem:
http://public.kitware.com/pipermail/insight-users/2005-September/014948.html
This is an (interesting) extract:
>>>"Sure, as you pointed out, if you start off with a horrible initial
misalignment, in the worst case, the regions don't overlap and the
>>> metric
>>>never gets computed.  Usually, in a registration application, if you've
gone through the trouble of specifying relevant regions in both the
>> fixed >and moving image regions, you already have some idea of the
initial >transform and there is no excuse for not specifying an initial
transform >that guarantees significant overlap between the two masks.
>>>(This will of course only happen if you've specified *both* a fixed and
moving image mask, and not if just specify one of them. )"
>> I am in this case, where I know regions of interest.
>> I understand the intialization problem but how initialize the
>> registration?
>> So far, I used the CenteredVersorTransformInitializer:
>>    initializer->SetTransform (transform);
>>    initializer->SetFixedImage (FixedImage);
>>    initializer->SetMovingImage (MovingImage);
>>    initializer->MomentsOn();
>> What I understood is that initialisation is made upon Mass center. Is
mass center calculation takes account of the mask, I mean only region
contained in the mask?
>> I tried too with initializer->GeometryOn();
>> but I've got an error at runtime. Is it safe to use "GeometryOn"? More,
I know initialisation is quite ok. There is just a translation error.
>> I tried (without using Initializer):
>>   TransformType::OutputVectorType InitialTranslation;
>>   InitialTranslation[0] = 80;
>>   InitialTranslation[1] = 0;
>>   InitialTranslation[2] = 0;
>>   transform->SetTranslation( InitialTranslation );
>> Registration's result is bad and stops. I saw that transform center is
[0,0,0].
>> So, I first use intializer (to compute transform center) and
>> OverrideTranslation with mine.
>> Is there a better way to initialise the registration?
>> If I specify a MovingMask, even with good initialization, registration
stops with this error message: All the points mapped to outside of the
moving volume.
>> So, my last question is: Is mask initialized with the initialtransform?
Sorry for the long message but I had to be clear.
>> Laurent.
>> _______________________________________________
>> Insight-users mailing list
>> Insight-users at itk.org
>> http://www.itk.org/mailman/listinfo/insight-users
>
>
>








More information about the Insight-users mailing list