<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 for ( unsigned int i = 0; i < spaceDimension; i++ )<br>
188 {<br>
189 transformedGradient[i] = m_Gradient[i] / scales[i];<br>
190 previousTransformedGradient[i] =<br>
191 m_PreviousGradient[i] / scales[i];<br>
192 }<br>
<br>
The "second scaling" would be my proposed change, replacing <br>
<br>
itkRegularStepGradientDescentOptimizer.cxx<br>
42 for ( unsigned int j = 0; j < spaceDimension; j++ )<br>
43 {<br>
44 newPosition[j] = currentPosition[j] +
transformedGradient[j] * factor;<br>
45 }<br>
46<br>
<br>
with<br>
<br>
itkRegularStepGradientDescentOptimizer.cxx<br>
42 for ( unsigned int j = 0; j < spaceDimension; j++ )<br>
43 {<br>
44 newPosition[j] = currentPosition[j] +
transformedGradient[j] * factor / scales[j];<br>
45 }<br>
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? The snippet of
interest in </div>
<div>the old itkRegularStepGradientOptimizer is</div>
<div><br>
</div>
<div>
<div> for(unsigned int j=0; j<spaceDimension; j++)</div>
<div> {</div>
<div> newPosition[j] = currentPosition[j] +
transformedGradient[j] * factor;</div>
<div> }</div>
</div>
<div><br>
</div>
<div>When you write of "first scaling" are you referring to
multiplication by </div>
<div>"factor"? </div>
<div><br>
</div>
<div>Nick</div>
<div><br>
</div>
<br>
</blockquote>
<br>
</body>
</html>