<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">Hi Nick,<br>
      <br>
      What I called the "first scaling" is the application of scales
      that is done before gradient normalization, in the AdvanceOneStep
      method:<br>
      <br>
      itkRegularStepGradientDescentBaseOptimizer.cxx<br>
      187&nbsp;&nbsp; for ( unsigned int i = 0; i &lt; spaceDimension; i++ )<br>
      188&nbsp;&nbsp;&nbsp;&nbsp; {<br>
      189&nbsp;&nbsp;&nbsp;&nbsp; transformedGradient[i]&nbsp; = m_Gradient[i] / scales[i];<br>
      190&nbsp;&nbsp;&nbsp;&nbsp; previousTransformedGradient[i] =<br>
      191&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_PreviousGradient[i] / scales[i];<br>
      192&nbsp;&nbsp;&nbsp;&nbsp; }<br>
      <br>
      The "second scaling" would be my proposed change, replacing <br>
      <br>
      itkRegularStepGradientDescentOptimizer.cxx<br>
      &nbsp;42&nbsp;&nbsp; for ( unsigned int j = 0; j &lt; spaceDimension; j++ )<br>
      &nbsp;43&nbsp;&nbsp;&nbsp;&nbsp; {<br>
      &nbsp;44&nbsp;&nbsp;&nbsp;&nbsp; newPosition[j] = currentPosition[j] +
      transformedGradient[j] * factor;<br>
      &nbsp;45&nbsp;&nbsp;&nbsp;&nbsp; }<br>
      &nbsp;46<br>
      <br>
      with<br>
      <br>
      itkRegularStepGradientDescentOptimizer.cxx<br>
      &nbsp;42&nbsp;&nbsp; for ( unsigned int j = 0; j &lt; spaceDimension; j++ )<br>
      &nbsp;43&nbsp;&nbsp;&nbsp;&nbsp; {<br>
      &nbsp;44&nbsp;&nbsp;&nbsp;&nbsp; newPosition[j] = currentPosition[j] +
      transformedGradient[j] * factor&nbsp; / scales[j];<br>
      &nbsp;45&nbsp;&nbsp;&nbsp;&nbsp; }<br>
      &nbsp;46<br>
      <br>
      basically a second application of the parameter scales.<br>
      <br>
      I hope this is clearer?<br>
      <br>
      joel<br>
      <br>
      On 07/05/2013 23:22, Nick Tustison wrote:<br>
    </div>
    <blockquote
      cite="mid:EBA6AA60-8D45-4058-96FF-678ABE3DE226@gmail.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=ISO-8859-1">
      Hi Joel,
      <div><br>
      </div>
      <div>Also, could you clarify your question a bit? &nbsp;The snippet of
        interest in&nbsp;</div>
      <div>the old itkRegularStepGradientOptimizer is</div>
      <div><br>
      </div>
      <div>
        <div>&nbsp; for(unsigned int j=0; j&lt;spaceDimension; j++)</div>
        <div>&nbsp; &nbsp; {</div>
        <div>&nbsp; &nbsp; newPosition[j] = currentPosition[j] +
          transformedGradient[j] * factor;</div>
        <div>&nbsp; &nbsp; }</div>
      </div>
      <div><br>
      </div>
      <div>When you write of "first scaling"&nbsp;are you referring to
        multiplication by&nbsp;</div>
      <div>"factor"?&nbsp;</div>
      <div><br>
      </div>
      <div>Nick</div>
      <div><br>
      </div>
      <br>
    </blockquote>
    <br>
  </body>
</html>