<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
FONT-SIZE: 10pt;
FONT-FAMILY:Tahoma
}
</style>
</head>
<body class='hmmessage'><div style="text-align: left;">Karthik,<br><br>Consider a 1D Gaussian fitting where the only variable of the function is the Gaussian sigma. This fitting can be performed by a single-variant cost function. Now if we change this to:<br><br>(1) a 1D Gassuan fitting with the variables of sigma and mean<br><br>or <br><br>(2) a 2D Gaussian fitting with the variables of 2D sigma,<br><br>then&nbsp; it will be need a multi-variant cost funtion. I hope this example clarifies my point.<br></div><blockquote><br><br>Ali: <br><br>I'd suggest that you clarify your interpretation of multi-variant.<br><br>Nearly all optimizers minimize a function of n variables. f( vector ). ie multi-variate<br>It is quite another thing to minimize multiple functions concurrently. ie multi-valued . for instance minimizing two metrics during registration.
<br><br>-- <br>Karthik Krishnan<br>R&amp;D Engineer,<br>Kitware Inc.<br><br><div><span class="EC_gmail_quote">On 11/7/07, <b class="EC_gmail_sendername">Stefan Klein</b> &lt;<a href="mailto:stefan@isi.uu.nl">stefan@isi.uu.nl</a>
&gt; wrote:</span><blockquote class="EC_gmail_quote" style="padding-left: 1ex;">
<div>
<font size="3">Hi,<br><br>
The itk/vxl::LBFGS(B)Optimizer implementation IS multivariate. The
'multivariate' label refers to the number of variables (input arguments
of the cost function) over which is optimised. <br><br>
the optimisaton problem is:<br><br>
min_x f(x)<br><br>
On the site
<a href="http://www.alglib.net/optimization/" target="_blank">http://www.alglib.net/optimization/</a>&nbsp;
a multivariate optimisation method means that dim(x) &gt;1 is
allowed.<br><br>
The LBFGSOptimizer is not suitable for MultipleValuedCostFucnction, as
far as I know, only for SingleValuedCostFunctions.<br><br>
singlevalued means: dim(f) = 1<br>
multiplevalued means: dim(f) &gt; 1<br><br>
The vnl_cost_function indeed inherits from the vnl_unary_function, but
the vnl_unary_function is templated over a vector of doubles, which
contains the input argument x:<br><br>
class vnl_cost_function : public vnl_unary_function&lt;double,
vnl_vector&lt;double&gt; &gt;<br><br>
with kind regards,<br><span class="EC_sg">
stefan</span></font><div><span class="EC_e" id="EC_q_1161a66040546b4d_2"><font size="3"><br><br>
<br>
At 08:35 7-11-2007, Luis Ibanez wrote:<br><br>
<br>
</font><blockquote><font size="3">Hi Ali,<br><br>
<br>
1) It is not a "problem", it is an "implementation
feature".&nbsp;&nbsp; :-)<br><br>
<br><br>
2) It is not in ITK, it is in VXL,<br><br>
&nbsp;&nbsp; Please look at the implementation in the file:<br><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Insight/Utilities/vxl/core/vnl/vnl_lbfgs.h<br><br>
&nbsp;&nbsp; Where the optimizer takes as input a vnl_cost_function<br>
&nbsp;&nbsp; object, that derives from the vnl_unary_function
class.<br><br>
<br><br>
3) It will be great to have multi-variate implementations<br>
&nbsp;&nbsp; of these optimizers. If you are motivated to write 
one,<br>
&nbsp;&nbsp; it will make a great contribution to the Insight
Journal.<br><br>
<br><br>
&nbsp;&nbsp;&nbsp; Regards,<br><br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Luis<br><br>
<br><br>
-------------<br>
Ali - wrote:<br>
</font><blockquote><font size="3">Hi,<br>
The VNL wrappers itk::LBFGSBOptimizer and itk::LBFGSOptimizer are
classified as single-variant optimiser, while being based on the
quasi-Newton method, they are multi-variant optimisers by nature -- see
<a href="http://www.alglib.net/optimization/" target="_blank">http://www.alglib.net/optimization/</a>
. Is this the ITK wrapper problem or a VNL issue?<br>
_______________________________________________<br>
Insight-users mailing list<br>
<a href="mailto:Insight-users@itk.org">Insight-users@itk.org</a><br>
<a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a></font></blockquote><font size="3">_______________________________________________
<br>
Insight-users mailing list<br>
<a href="mailto:Insight-users@itk.org">Insight-users@itk.org</a><br>
<a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a></font></blockquote></span></div></div>

<br>

<br>_______________________________________________<br>Insight-users mailing list<br><a href="mailto:Insight-users@itk.org">Insight-users@itk.org</a><br><a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">
http://www.itk.org/mailman/listinfo/insight-users</a><br><br></blockquote></div>
</blockquote><br /><hr />Play Movie Mash-up and win  <a href='https://www.moviemashup.co.uk' target='_new'>BIG prizes! </a></body>
</html>