<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
    <title></title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
    Hi all,<br>
    <br>
    I'm exploring the mattes mutual information metric with the
    similarity transform. I have big problems with the regular step
    gradient optimizer. <br>
    <br>
    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 ?<br>
    <br>
    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. <br>
    I've played a lot with parameters without significant improvement.<br>
    Here is an example :<br>
    <br>
    <small><small>0&nbsp;&nbsp; -0.0794786&nbsp;&nbsp; [1.08213, 0.215013, 142.753, 93.1165,
        19.484, -5.38814]<br>
        1&nbsp;&nbsp; -0.0837397&nbsp;&nbsp; [1.09388, 0.224094, 142.734, 93.1303, 21.0015,
        -4.08564]<br>
        2&nbsp;&nbsp; -0.0781118&nbsp;&nbsp; [1.10518, 0.231022, 142.713, 93.1446, 22.5308,
        -2.79707]<br>
        3&nbsp;&nbsp; -0.07013&nbsp;&nbsp; [1.11679, 0.230021, 142.688, 93.1515, 23.5889,
        -1.10016]<br>
        4&nbsp;&nbsp; -0.060149&nbsp;&nbsp; [1.13054, 0.220847, 142.661, 93.1574, 24.6365,
        0.603225]<br>
        5&nbsp;&nbsp; -0.0533438&nbsp;&nbsp; [1.15086, 0.197135, 142.637, 93.1682, 26.0843,
        1.98246]<br>
        6&nbsp;&nbsp; -0.0552559&nbsp;&nbsp; [1.16682, 0.181277, 142.611, 93.1705, 27.2256,
        3.62452]<br>
        7&nbsp;&nbsp; -0.0499306&nbsp;&nbsp; [1.17806, 0.163796, 142.586, 93.1626, 27.8154,
        5.53527]<br>
        8&nbsp;&nbsp; -0.0436633&nbsp;&nbsp; [1.18673, 0.144479, 142.567, 93.1464, 27.8202,
        7.53499]<br>
        9&nbsp;&nbsp; -0.0373628&nbsp;&nbsp; [1.19785, 0.129059, 142.55, 93.1295, 27.8735,
        9.53404]<br>
        10&nbsp;&nbsp; -0.0307262&nbsp;&nbsp; [1.21034, 0.0999255, 142.53, 93.1149, 28.3516,
        11.4756]<br>
        11&nbsp;&nbsp; -0.0280043&nbsp;&nbsp; [1.21907, 0.0717341, 142.518, 93.0946,
        28.3674, 13.4752]<br>
        12&nbsp;&nbsp; -0.0261761&nbsp;&nbsp; [1.22857, 0.0535265, 142.507, 93.0742,
        28.5985, 15.4616]<br>
        13&nbsp;&nbsp; -0.0226728&nbsp;&nbsp; [1.23642, 0.0331298, 142.5, 93.0514, 28.5777,
        17.4612]<br>
        14&nbsp;&nbsp; -0.022181&nbsp;&nbsp; [1.24189, 0.0185733, 142.495, 93.0282, 28.7283,
        19.4553]<br>
        15&nbsp;&nbsp; -0.0190938&nbsp;&nbsp; [1.25188, -0.00835667, 142.492, 93.0041,
        28.7346, 21.455]<br>
        16&nbsp;&nbsp; -0.0196048&nbsp;&nbsp; [1.25686, -0.0400155, 142.497, 92.9792,
        28.4755, 23.4377]<br>
        17&nbsp;&nbsp; -0.0188159&nbsp;&nbsp; [1.2638, -0.0595771, 142.508, 92.9557, 27.975,
        25.3738]<br>
        18&nbsp;&nbsp; -0.0174128&nbsp;&nbsp; [1.27541, -0.0936444, 142.496, 92.9314,
        29.3307, 26.8434]</small></small><br>
    <br>
    &nbsp;I've done a deep analysis of the metrics value on my images, and
    it&nbsp; is very regular, so the gradient approach seems to be good. The
    global minimum with exhaustive search is good also. <br>
    I try the 1+1 evo optimizer, he is doing much better, but do not
    reach the desired minimum.<br>
    <br>
    I really don't understand where does this behaviour comes from !<br>
    <br>
    Does anyone have any idea of the step I could have missed up ?<br>
    <br>
    Thanks in advance, <br>
    <br>
    Regards,<br>
    <br>
    Yann<br>
    <br>
    <br>
    Le 16/06/2011 20:09, asertyuio a &eacute;crit&nbsp;:
    <blockquote cite="mid:4DFA46C8.8090802@yahoo.fr" type="cite">Hi ITK
      Users !
      <br>
      <br>
      After I solved some problems, I managed to do a "successful"
      registration on my images, thanks ITK !
      <br>
      Now I want to raise the question of choosing a metric and an
      optimizer more adapted to my particular data.
      <br>
      I confess I'm a bit lost in all the metrics and optimizer choice.
      <br>
      <br>
      To clearly explain my problem :
      <br>
      I'm trying to align butterfly wings, that have been already
      segmented. The segmentation process separates the different colour
      patches into the wing and labels them. So I have a different
      colour number for each wing with the RGB value for each too (it is
      common to have for example one shade of orange for one wing, and
      both a light and dark orange for another).
      <br>
      For the moment, I'm dealing with this by keeping only the
      intensity value on a gray level image and I'm performing on it the
      registration with 2D similarity transform (that I need to do), the
      MeanSquares metrics and the regular step gradient optimizer and a
      mask to consider wing only on metric calculation.
      <br>
      But now, I'm looking for a metric and optimizer that can take
      advantage of my segmentation process, and thus could be faster
      (I'm around 80 steps for about 30s)
      <br>
      <br>
      There are two major problems with my images to take advantage of
      the segmentation :
      <br>
      <br>
      - The first one is that in different wings, the same label doesn't
      mean same colour, and on the same wing 2 different labels may
      correspond to relatively close colours. Therefore, I can't use the
      cardinal metric.
      <br>
      <br>
      - The second one is related to the wing themselves. I must
      register wings that can vary a lot in colour, with for example a
      patch that can be black on some wings and yellow on others. To
      address this, I was thinking using mutual information metric,
      despite the fact that wings have the same modality.
      <br>
      <br>
      <br>
      Scale factor is varying between 0.8 to 1.2, rotation between -30&deg;
      to +30&deg;, and translation less than 50 px, my images are round
      300*200 px.
      <br>
      <br>
      Does it make sense to use mutual information on segmented images ?
      <br>
      Does anyone know a couple of metrics optimizers that would
      correspond better to my images ?
      <br>
      Is there any way of limiting optimizer to avoid obvious
      misregistration ( like one wing at 90&deg; compare to another ) that
      happen sometime ?
      <br>
      <br>
      Thanks a lot for your insights !
      <br>
      <br>
      Yann
      <br>
      <br>
      <br>
    </blockquote>
    <br>
  </body>
</html>