[Insight-users] divergence when setting a moving mask with mates MI

Dawood AlMasslawi masslawi at gmail.com
Tue Jul 12 13:25:50 EDT 2011


BTW, my images were 512x512, I guess for lower resolutions there

would be less shifting in the origin of the mask.

Dawood



On Tue, Jul 12, 2011 at 9:40 PM, Dawood AlMasslawi <masslawi at gmail.com>wrote:

> Hi Yann,
>
> Since you are using a mask for metric calculation I don't think the
>
> cause of your problem is the optimizer, I assume you are using the
>
> ImageMaskSpatialObject after segmenting part of your image (?!!).
>
> How do you initiate your mask? This can be tricky sometimes!
>
> I had a similar problem in the past, the origin of the image mask
>
> had a 256 pixles shift towards the center of the image, but this was
>
> only detectable when used in a Free Form Deformation due to obvious
>
> deformations induced only  in the lower right corner of the image!
>
> When I used the SpatialObjectToImageFilter to see whether if my
>
> mask was valid everything seemed fine but the results still were wrong.
>
> If this is your problem it can be solved by shifting the mask towards
>
> the origin of the image, a sample code for this would look like the
> following,
>
>   SOTransformType::OffsetType originOffset;
>
>   originOffset[0] = -255;
>
>   originOffset[1] = -255;
>
>   maskSO->GetIndexToObjectTransform()->SetOffset(originOffset);
>
>
> As for the LBFGSB optimizer you can read the following papers,
>
> [1] R. H. Byrd, P. Lu and J. Nocedal. A<http://www.itk.org/Doxygen314/html/classA.html> Limited
> Memory Algorithm
>
>
> for Bound Constrained Optimization, (1995), SIAM Journal on Scientific
>
>
> and Statistical Computing , 16, 5, pp. 1190-1208.
>
>
> [2] C. Zhu, R. H. Byrd and J. Nocedal. L-BFGS-B: Algorithm 778:
>
>
> L-BFGS-B, FORTRAN routines for large scale bound constrained
>
>
> optimization (1997), ACM Transactions on Mathematical Software,
>
>
> Vol 23, Num. 4, pp. 550 - 560.
>
>
> HTH,
>
>
> Dawood
>
>
> >>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<
>
>
> >>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<
>
>
>
> On Mon, Jul 11, 2011 at 9:51 PM, asertyuio <asertyuio at yahoo.fr> wrote:
>
>>  Hy dawood, and thanks for your interest !
>>
>> Because I did not found any solution to my divergence problem,  I did
>> abandon the mutual information metric. I try again today, and found what
>> 'cause' the divergence.
>> It comes only when I set a moving mask on the metric. No problem with the
>> fixed mask. Although, I'm sure of my mask validity, because I'm doing an
>> initialization with them, and I've no problem with others metrics.
>>
>> I join a animated gif showing it. First step is mask registration, second,
>> image registration, with only a mask on moving image. The metric value
>> increase, despite the optimizer is set to do the opposite.
>>
>> Setting both masks is important for me because I don't want to take
>> account of the background outlines on the registration process.
>>
>> As I have mostly problems with the regular step gradient optimizer, I
>> think the problem must be related to derivative computation in the metric,
>> but I don't know.
>> Could you confirm this ?
>>
>> I'm going to try the LBFGSB optimizer, but there is not much information
>> on it on itk user guide.
>>
>> Best regards,
>>
>> Yann
>>
>> Le 03/07/2011 19:59, Dawood Al Masslawi a écrit :
>>
>> Yann,
>>
>>  Apparently I misread your outputs, sorry :)
>>
>>  Have you tried other optimizers? LBFGSB optimizer have proved to work
>> well
>>
>>  with the Mattes MI.
>>
>>  Best regards,
>>
>>  Dawood
>>
>>
>>  >>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<
>>
>>  >>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<
>>
>>  Hi Yann,
>>
>> If your initialized transform is precise (near perfect?!!) it's only natural
>>
>> that the optimizer would change less. Have you tried to set the minimum
>>
>> step length to a higher value?
>>
>> In the example you provided the metric value is decreasing, isn't that
>>
>> what you want?
>>
>> Your fixed and moving images and their intensity distribution also can
>>
>> effect the quality of the registration, it might be helpful to give us more
>>
>> information about your images.
>>
>> HTH,
>>
>> Dawood
>>
>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*
>>
>> Hi all,
>>
>> I'm exploring the mattes mutual information metric with the similarity
>> transform. I have big problems with the regular step gradient optimizer.
>>
>> First one, I initialize the transform quite precisely, so only small
>> change are required, especially for scale and rotation. But I must put
>> the scaling factor to 100 000, for a maximal step length of 2 to obtain
>> change around 0.01 for each step. Why is there a x100 between 2/100 000
>> (what I expect to be the scaled step length) and the one which really
>> append ?
>>
>> Second one, the optimizer fails to minimize the metrics (the value seems
>> to increase), despite the fact that minimizeOn is set, and that I see a
>> clear behavior difference when maximizeOn is set.
>> I've played a lot with parameters without significant improvement.
>> Here is an example :
>>
>> 0   -0.0794786   [1.08213, 0.215013, 142.753, 93.1165, 19.484, -5.38814]
>> 1   -0.0837397   [1.09388, 0.224094, 142.734, 93.1303, 21.0015, -4.08564]
>> 2   -0.0781118   [1.10518, 0.231022, 142.713, 93.1446, 22.5308, -2.79707]
>> 3   -0.07013   [1.11679, 0.230021, 142.688, 93.1515, 23.5889, -1.10016]
>> 4   -0.060149   [1.13054, 0.220847, 142.661, 93.1574, 24.6365, 0.603225]
>> 5   -0.0533438   [1.15086, 0.197135, 142.637, 93.1682, 26.0843, 1.98246]
>> 6   -0.0552559   [1.16682, 0.181277, 142.611, 93.1705, 27.2256, 3.62452]
>> 7   -0.0499306   [1.17806, 0.163796, 142.586, 93.1626, 27.8154, 5.53527]
>> 8   -0.0436633   [1.18673, 0.144479, 142.567, 93.1464, 27.8202, 7.53499]
>> 9   -0.0373628   [1.19785, 0.129059, 142.55, 93.1295, 27.8735, 9.53404]
>> 10   -0.0307262   [1.21034, 0.0999255, 142.53, 93.1149, 28.3516, 11.4756]
>> 11   -0.0280043   [1.21907, 0.0717341, 142.518, 93.0946, 28.3674, 13.4752]
>> 12   -0.0261761   [1.22857, 0.0535265, 142.507, 93.0742, 28.5985, 15.4616]
>> 13   -0.0226728   [1.23642, 0.0331298, 142.5, 93.0514, 28.5777, 17.4612]
>> 14   -0.022181   [1.24189, 0.0185733, 142.495, 93.0282, 28.7283, 19.4553]
>> 15   -0.0190938   [1.25188, -0.00835667, 142.492, 93.0041, 28.7346, 21.455]
>> 16   -0.0196048   [1.25686, -0.0400155, 142.497, 92.9792, 28.4755, 23.4377]
>> 17   -0.0188159   [1.2638, -0.0595771, 142.508, 92.9557, 27.975, 25.3738]
>> 18   -0.0174128   [1.27541, -0.0936444, 142.496, 92.9314, 29.3307, 26.8434]
>>
>>   I've done a deep analysis of the metrics value on my images, and it
>> is very regular, so the gradient approach seems to be good. The global
>> minimum with exhaustive search is good also.
>> I try the 1+1 evo optimizer, he is doing much better, but do not reach
>> the desired minimum.
>>
>> I really don't understand where does this behaviour comes from !
>>
>> Does anyone have any idea of the step I could have missed up ?
>>
>> Thanks in advance,
>>
>> Regards,
>>
>> Yann
>>
>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20110712/d06c0151/attachment.htm>


More information about the Insight-users mailing list