Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > d5e74628f0e673bb8680aebce32b2c04 > files > 6031

itk-doc-3.12.0-1mdv2010.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta name="robots" content="noindex">
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ITK: itk::MultipleValuedVnlCostFunctionAdaptor Class Reference</title>
<link href="DoxygenStyle.css" rel="stylesheet" type="text/css">
</head><body bgcolor="#ffffff">


<!--  Section customized for INSIGHT : Tue Jul 17 01:02:45 2001 -->
<center>
<a href="index.html" class="qindex">Main Page</a>&nbsp;&nbsp; 
<a href="modules.html" class="qindex">Groups</a>&nbsp;&nbsp;
<a href="namespaces.html" class="qindex">Namespace List</a>&nbsp;&nbsp;
<a href="hierarchy.html" class="qindex">Class Hierarchy</a>&nbsp;&nbsp;
<a href="classes.html" class="qindex">Alphabetical List</a>&nbsp;&nbsp;
<a href="annotated.html" class="qindex">Compound List</a>&nbsp;&nbsp; 
<a href="files.html" class="qindex">File
List</a>&nbsp;&nbsp; 
<a href="namespacemembers.html" class="qindex">Namespace Members</a>&nbsp;&nbsp; 
<a href="functions.html" class="qindex">Compound Members</a>&nbsp;&nbsp; 
<a href="globals.html" class="qindex">File Members</a>&nbsp;&nbsp;
<a href="pages.html" class="qindex">Concepts</a></center>


<!-- Generated by Doxygen 1.5.9 -->
  <div class="navpath"><a class="el" href="namespaceitk.html">itk</a>::<a class="el" href="classitk_1_1MultipleValuedVnlCostFunctionAdaptor.html">MultipleValuedVnlCostFunctionAdaptor</a>
  </div>
<div class="contents">
<h1>itk::MultipleValuedVnlCostFunctionAdaptor Class Reference<br>
<small>
[<a class="el" href="group__Numerics.html">Numerics</a>,&nbsp;<a class="el" href="group__Optimizers.html">Optimizers</a>]</small>
</h1><!-- doxytag: class="itk::MultipleValuedVnlCostFunctionAdaptor" -->This class is an Adaptor that allows to pass itk::MultipleValuedCostFunctions to vnl_optimizers expecting a vnl_cost_function.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="itkMultipleValuedVnlCostFunctionAdaptor_8h_source.html">itkMultipleValuedVnlCostFunctionAdaptor.h</a>&gt;</code>
<p>
<div class="dynheader">
Collaboration diagram for itk::MultipleValuedVnlCostFunctionAdaptor:</div>
<div class="dynsection">
<p><center><img src="classitk_1_1MultipleValuedVnlCostFunctionAdaptor__coll__graph.png" border="0" usemap="#itk_1_1MultipleValuedVnlCostFunctionAdaptor__coll__map" alt="Collaboration graph"></center>
<map name="itk_1_1MultipleValuedVnlCostFunctionAdaptor__coll__map">
<area shape="rect" id="node2" href="classitk_1_1Array.html" title="itk::Array\&lt; double \&gt;" alt="" coords="655,31,812,60"><area shape="rect" id="node4" href="classvnl__vector.html" title="vnl_vector\&lt; double &#160;\&gt;" alt="" coords="299,5,464,35"><area shape="rect" id="node6" href="classitk_1_1Array.html" title="Array class with size defined at construction time." alt="" coords="288,60,475,89"><area shape="rect" id="node8" href="classvnl__vector.html" title="vnl_vector\&lt; TValueType \&gt;" alt="" coords="5,60,203,89"><area shape="rect" id="node11" href="classitk_1_1Array2D.html" title="itk::Array2D\&lt; double \&gt;" alt="" coords="645,149,821,179"><area shape="rect" id="node13" href="classvnl__matrix.html" title="vnl_matrix\&lt; double &#160;\&gt;" alt="" coords="299,117,464,147"><area shape="rect" id="node15" href="classitk_1_1Array2D.html" title="Array2D class representing a 2D array with size defined at construction time." alt="" coords="277,171,485,200"><area shape="rect" id="node17" href="classvnl__matrix.html" title="vnl_matrix\&lt; TValueType \&gt;" alt="" coords="7,171,201,200"><area shape="rect" id="node19" href="classitk_1_1SmartPointer.html" title="itk::SmartPointer\&lt; Self \&gt;" alt="" coords="637,213,829,243"><area shape="rect" id="node21" href="classitk_1_1SmartPointer.html" title="Implements transparent reference counting." alt="" coords="255,224,508,253"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>

<p>
<a href="classitk_1_1MultipleValuedVnlCostFunctionAdaptor-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <br class="typebreak">
<a class="el" href="classitk_1_1Array2D.html">MultipleValuedCostFunction::DerivativeType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultipleValuedVnlCostFunctionAdaptor.html#63d34afc708b1e52a080f829878c60c1">DerivativeType</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classvnl__matrix.html">vnl_matrix</a>&lt; double &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultipleValuedVnlCostFunctionAdaptor.html#8e6dab8ee0cf5341972fe14ba27be2b3">InternalDerivativeType</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classvnl__vector.html">vnl_vector</a>&lt; double &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultipleValuedVnlCostFunctionAdaptor.html#e0826480e88f5203821a1142d587c3c0">InternalMeasureType</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classvnl__vector.html">vnl_vector</a>&lt; double &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultipleValuedVnlCostFunctionAdaptor.html#166152cdace9b35322b1466a07b5240a">InternalParametersType</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <br class="typebreak">
<a class="el" href="classitk_1_1Array.html">MultipleValuedCostFunction::MeasureType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultipleValuedVnlCostFunctionAdaptor.html#8519ca92714a6b5fdbab503f3af13133">MeasureType</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <br class="typebreak">
<a class="el" href="classitk_1_1Array.html">MultipleValuedCostFunction::ParametersType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultipleValuedVnlCostFunctionAdaptor.html#ea638801aafe9331e41109f1b9c4902d">ParametersType</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classitk_1_1Array.html">Array</a>&lt; double &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultipleValuedVnlCostFunctionAdaptor.html#e4c8c866c2fc2d41d0fd3844c593567b">ScalesType</a></td></tr>

<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultipleValuedVnlCostFunctionAdaptor.html#c2e84dd80d3d1aef58ffea0b4510578b">AddObserver</a> (const <a class="el" href="classitk_1_1EventObject.html">EventObject</a> &amp;event, <a class="el" href="classitk_1_1Command.html">Command</a> *) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultipleValuedVnlCostFunctionAdaptor.html#f12e10d9f6043b85f793da4ab86f2509">compute</a> (const <a class="el" href="classvnl__vector.html">InternalParametersType</a> &amp;x, <a class="el" href="classvnl__vector.html">InternalMeasureType</a> *f, <a class="el" href="classvnl__matrix.html">InternalDerivativeType</a> *g)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultipleValuedVnlCostFunctionAdaptor.html#a83355afcc75e676571212bed97dcc0f">ConvertExternalToInternalGradient</a> (const <a class="el" href="classitk_1_1Array2D.html">DerivativeType</a> &amp;input, <a class="el" href="classvnl__matrix.html">InternalDerivativeType</a> &amp;output)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultipleValuedVnlCostFunctionAdaptor.html#245f889963d471ddf2cf76d26025f314">ConvertExternalToInternalMeasures</a> (const <a class="el" href="classitk_1_1Array.html">MeasureType</a> &amp;input, <a class="el" href="classvnl__vector.html">InternalMeasureType</a> &amp;output)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultipleValuedVnlCostFunctionAdaptor.html#91bb49274f2944f426387e9a94b0f3bc">f</a> (const <a class="el" href="classvnl__vector.html">InternalParametersType</a> &amp;inparameters, <a class="el" href="classvnl__vector.html">InternalMeasureType</a> &amp;measures)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classitk_1_1MultipleValuedCostFunction.html">MultipleValuedCostFunction</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultipleValuedVnlCostFunctionAdaptor.html#8e480c1f2ba88aee471d8b1608e07ac0">GetCostFunction</a> (void) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultipleValuedVnlCostFunctionAdaptor.html#ea747fe2bc0e8bb9e493ac7bc94b79df">gradf</a> (const <a class="el" href="classvnl__vector.html">InternalParametersType</a> &amp;inparameters, <a class="el" href="classvnl__matrix.html">InternalDerivativeType</a> &amp;gradient)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultipleValuedVnlCostFunctionAdaptor.html#9146768f29bcd9b1e70acad95d920772">MultipleValuedVnlCostFunctionAdaptor</a> (unsigned int spaceDimension, unsigned int numberOfValues)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultipleValuedVnlCostFunctionAdaptor.html#c4ee7792f3661c094054cb581817d6b2">SetCostFunction</a> (<a class="el" href="classitk_1_1MultipleValuedCostFunction.html">MultipleValuedCostFunction</a> *costFunction)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultipleValuedVnlCostFunctionAdaptor.html#a4fa4edc202f957df57b7192adb55435">SetScales</a> (const <a class="el" href="classitk_1_1Array.html">ScalesType</a> &amp;scales)</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classitk_1_1Array.html">ParametersType</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultipleValuedVnlCostFunctionAdaptor.html#df05fa004e8ef03778f0a0eeba7585f6">GetCachedCurrentParameters</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classitk_1_1Array2D.html">DerivativeType</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultipleValuedVnlCostFunctionAdaptor.html#800cdbff872f660b8a7849aaf7e730e9">GetCachedDerivative</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classitk_1_1Array.html">MeasureType</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultipleValuedVnlCostFunctionAdaptor.html#8554456212ba9d3c87f5460b88f0224b">GetCachedValue</a> () const </td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultipleValuedVnlCostFunctionAdaptor.html#d47863d25c423f505612a1c8e24e15bd">GetUseGradient</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultipleValuedVnlCostFunctionAdaptor.html#e9e28de5916a591294f594eb0b4716cc">SetUseGradient</a> (bool)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultipleValuedVnlCostFunctionAdaptor.html#be716f7c6dff5096c0802ce3954ccfc5">UseGradientOff</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultipleValuedVnlCostFunctionAdaptor.html#5f8813f5dc1bf45a2a4f82d50616c54c">UseGradientOn</a> ()</td></tr>

<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultipleValuedVnlCostFunctionAdaptor.html#fe221023d96834393ea6e5e23cd5173a">ReportIteration</a> (const <a class="el" href="classitk_1_1EventObject.html">EventObject</a> &amp;event) const </td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This class is an Adaptor that allows to pass itk::MultipleValuedCostFunctions to vnl_optimizers expecting a vnl_cost_function. 
<p>
This class returns a single valued. 
<p>Definition at line <a class="el" href="itkMultipleValuedVnlCostFunctionAdaptor_8h_source.html#l00036">36</a> of file <a class="el" href="itkMultipleValuedVnlCostFunctionAdaptor_8h_source.html">itkMultipleValuedVnlCostFunctionAdaptor.h</a>.</p>
<hr><h2>Member Typedef Documentation</h2>
<a class="anchor" name="63d34afc708b1e52a080f829878c60c1"></a><!-- doxytag: member="itk::MultipleValuedVnlCostFunctionAdaptor::DerivativeType" ref="63d34afc708b1e52a080f829878c60c1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classitk_1_1Array2D.html">MultipleValuedCostFunction::DerivativeType</a> <a class="el" href="classitk_1_1Array2D.html">itk::MultipleValuedVnlCostFunctionAdaptor::DerivativeType</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Derivatives of the <a class="el" href="classitk_1_1MultipleValuedCostFunction.html" title="This class is a base for the CostFunctions returning a multiple values.">MultipleValuedCostFunction</a> 
<p>Definition at line <a class="el" href="itkMultipleValuedVnlCostFunctionAdaptor_8h_source.html#l00057">57</a> of file <a class="el" href="itkMultipleValuedVnlCostFunctionAdaptor_8h_source.html">itkMultipleValuedVnlCostFunctionAdaptor.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="8e6dab8ee0cf5341972fe14ba27be2b3"></a><!-- doxytag: member="itk::MultipleValuedVnlCostFunctionAdaptor::InternalDerivativeType" ref="8e6dab8ee0cf5341972fe14ba27be2b3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classvnl__matrix.html">vnl_matrix</a>&lt;double&gt; <a class="el" href="classvnl__matrix.html">itk::MultipleValuedVnlCostFunctionAdaptor::InternalDerivativeType</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
InternalGradientType typedef. 
<p>Definition at line <a class="el" href="itkMultipleValuedVnlCostFunctionAdaptor_8h_source.html#l00048">48</a> of file <a class="el" href="itkMultipleValuedVnlCostFunctionAdaptor_8h_source.html">itkMultipleValuedVnlCostFunctionAdaptor.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="e0826480e88f5203821a1142d587c3c0"></a><!-- doxytag: member="itk::MultipleValuedVnlCostFunctionAdaptor::InternalMeasureType" ref="e0826480e88f5203821a1142d587c3c0" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classvnl__vector.html">vnl_vector</a>&lt;double&gt; <a class="el" href="classvnl__vector.html">itk::MultipleValuedVnlCostFunctionAdaptor::InternalMeasureType</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
InternalMeasureType typedef. 
<p>Definition at line <a class="el" href="itkMultipleValuedVnlCostFunctionAdaptor_8h_source.html#l00045">45</a> of file <a class="el" href="itkMultipleValuedVnlCostFunctionAdaptor_8h_source.html">itkMultipleValuedVnlCostFunctionAdaptor.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="166152cdace9b35322b1466a07b5240a"></a><!-- doxytag: member="itk::MultipleValuedVnlCostFunctionAdaptor::InternalParametersType" ref="166152cdace9b35322b1466a07b5240a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classvnl__vector.html">vnl_vector</a>&lt;double&gt; <a class="el" href="classvnl__vector.html">itk::MultipleValuedVnlCostFunctionAdaptor::InternalParametersType</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
InternalParametersType typedef. 
<p>Definition at line <a class="el" href="itkMultipleValuedVnlCostFunctionAdaptor_8h_source.html#l00042">42</a> of file <a class="el" href="itkMultipleValuedVnlCostFunctionAdaptor_8h_source.html">itkMultipleValuedVnlCostFunctionAdaptor.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="8519ca92714a6b5fdbab503f3af13133"></a><!-- doxytag: member="itk::MultipleValuedVnlCostFunctionAdaptor::MeasureType" ref="8519ca92714a6b5fdbab503f3af13133" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classitk_1_1Array.html">MultipleValuedCostFunction::MeasureType</a> <a class="el" href="classitk_1_1Array.html">itk::MultipleValuedVnlCostFunctionAdaptor::MeasureType</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
MeasureType of the <a class="el" href="classitk_1_1MultipleValuedCostFunction.html" title="This class is a base for the CostFunctions returning a multiple values.">MultipleValuedCostFunction</a> 
<p>Definition at line <a class="el" href="itkMultipleValuedVnlCostFunctionAdaptor_8h_source.html#l00051">51</a> of file <a class="el" href="itkMultipleValuedVnlCostFunctionAdaptor_8h_source.html">itkMultipleValuedVnlCostFunctionAdaptor.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="ea638801aafe9331e41109f1b9c4902d"></a><!-- doxytag: member="itk::MultipleValuedVnlCostFunctionAdaptor::ParametersType" ref="ea638801aafe9331e41109f1b9c4902d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classitk_1_1Array.html">MultipleValuedCostFunction::ParametersType</a> <a class="el" href="classitk_1_1Array.html">itk::MultipleValuedVnlCostFunctionAdaptor::ParametersType</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Parameters of the <a class="el" href="classitk_1_1MultipleValuedCostFunction.html" title="This class is a base for the CostFunctions returning a multiple values.">MultipleValuedCostFunction</a> 
<p>Definition at line <a class="el" href="itkMultipleValuedVnlCostFunctionAdaptor_8h_source.html#l00054">54</a> of file <a class="el" href="itkMultipleValuedVnlCostFunctionAdaptor_8h_source.html">itkMultipleValuedVnlCostFunctionAdaptor.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="e4c8c866c2fc2d41d0fd3844c593567b"></a><!-- doxytag: member="itk::MultipleValuedVnlCostFunctionAdaptor::ScalesType" ref="e4c8c866c2fc2d41d0fd3844c593567b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classitk_1_1Array.html">Array</a>&lt;double&gt; <a class="el" href="classitk_1_1Array.html">itk::MultipleValuedVnlCostFunctionAdaptor::ScalesType</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Scales typedef 
<p>Definition at line <a class="el" href="itkMultipleValuedVnlCostFunctionAdaptor_8h_source.html#l00060">60</a> of file <a class="el" href="itkMultipleValuedVnlCostFunctionAdaptor_8h_source.html">itkMultipleValuedVnlCostFunctionAdaptor.h</a>.</p>

</div>
</div><p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="9146768f29bcd9b1e70acad95d920772"></a><!-- doxytag: member="itk::MultipleValuedVnlCostFunctionAdaptor::MultipleValuedVnlCostFunctionAdaptor" ref="9146768f29bcd9b1e70acad95d920772" args="(unsigned int spaceDimension, unsigned int numberOfValues)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">itk::MultipleValuedVnlCostFunctionAdaptor::MultipleValuedVnlCostFunctionAdaptor           </td>
          <td>(</td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>spaceDimension</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>numberOfValues</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Constructor with size 
</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="c2e84dd80d3d1aef58ffea0b4510578b"></a><!-- doxytag: member="itk::MultipleValuedVnlCostFunctionAdaptor::AddObserver" ref="c2e84dd80d3d1aef58ffea0b4510578b" args="(const EventObject &amp;event, Command *) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned long itk::MultipleValuedVnlCostFunctionAdaptor::AddObserver           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classitk_1_1EventObject.html">EventObject</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>event</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classitk_1_1Command.html">Command</a> *&nbsp;</td>
          <td class="paramname"></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
This AddObserver method allows to simulate that this class derives from an itkObject for the purpose of reporting iteration events. The goal of this method is to allow ITK-vnl optimizer adaptors to get iteration events despite the fact that VNL does not provide callbacks. 
</div>
</div><p>
<a class="anchor" name="f12e10d9f6043b85f793da4ab86f2509"></a><!-- doxytag: member="itk::MultipleValuedVnlCostFunctionAdaptor::compute" ref="f12e10d9f6043b85f793da4ab86f2509" args="(const InternalParametersType &amp;x, InternalMeasureType *f, InternalDerivativeType *g)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void itk::MultipleValuedVnlCostFunctionAdaptor::compute           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classvnl__vector.html">InternalParametersType</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classvnl__vector.html">InternalMeasureType</a> *&nbsp;</td>
          <td class="paramname"> <em>f</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classvnl__matrix.html">InternalDerivativeType</a> *&nbsp;</td>
          <td class="paramname"> <em>g</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Delegate computation of value and gradient to the costFunction. 
</div>
</div><p>
<a class="anchor" name="a83355afcc75e676571212bed97dcc0f"></a><!-- doxytag: member="itk::MultipleValuedVnlCostFunctionAdaptor::ConvertExternalToInternalGradient" ref="a83355afcc75e676571212bed97dcc0f" args="(const DerivativeType &amp;input, InternalDerivativeType &amp;output)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void itk::MultipleValuedVnlCostFunctionAdaptor::ConvertExternalToInternalGradient           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classitk_1_1Array2D.html">DerivativeType</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>input</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classvnl__matrix.html">InternalDerivativeType</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>output</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert external derviative measures into internal type 
</div>
</div><p>
<a class="anchor" name="245f889963d471ddf2cf76d26025f314"></a><!-- doxytag: member="itk::MultipleValuedVnlCostFunctionAdaptor::ConvertExternalToInternalMeasures" ref="245f889963d471ddf2cf76d26025f314" args="(const MeasureType &amp;input, InternalMeasureType &amp;output)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void itk::MultipleValuedVnlCostFunctionAdaptor::ConvertExternalToInternalMeasures           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classitk_1_1Array.html">MeasureType</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>input</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classvnl__vector.html">InternalMeasureType</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>output</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert external measures into internal type 
</div>
</div><p>
<a class="anchor" name="91bb49274f2944f426387e9a94b0f3bc"></a><!-- doxytag: member="itk::MultipleValuedVnlCostFunctionAdaptor::f" ref="91bb49274f2944f426387e9a94b0f3bc" args="(const InternalParametersType &amp;inparameters, InternalMeasureType &amp;measures)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void itk::MultipleValuedVnlCostFunctionAdaptor::f           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classvnl__vector.html">InternalParametersType</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>inparameters</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classvnl__vector.html">InternalMeasureType</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>measures</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Delegate computation of the value to the <a class="el" href="classitk_1_1CostFunction.html" title="Base class for cost functions intended to be used with Optimizers.">CostFunction</a>. 
</div>
</div><p>
<a class="anchor" name="df05fa004e8ef03778f0a0eeba7585f6"></a><!-- doxytag: member="itk::MultipleValuedVnlCostFunctionAdaptor::GetCachedCurrentParameters" ref="df05fa004e8ef03778f0a0eeba7585f6" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classitk_1_1Array.html">ParametersType</a>&amp; itk::MultipleValuedVnlCostFunctionAdaptor::GetCachedCurrentParameters           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the value of the last evaluation to the value of the cost function. Note that this method DOES NOT triggers a computation of the function or the derivatives, it only returns previous values. Therefore the values here are only valid after you invoke the <a class="el" href="classitk_1_1MultipleValuedVnlCostFunctionAdaptor.html#91bb49274f2944f426387e9a94b0f3bc">f()</a> or <a class="el" href="classitk_1_1MultipleValuedVnlCostFunctionAdaptor.html#ea747fe2bc0e8bb9e493ac7bc94b79df">gradf()</a> methods. 
</div>
</div><p>
<a class="anchor" name="800cdbff872f660b8a7849aaf7e730e9"></a><!-- doxytag: member="itk::MultipleValuedVnlCostFunctionAdaptor::GetCachedDerivative" ref="800cdbff872f660b8a7849aaf7e730e9" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classitk_1_1Array2D.html">DerivativeType</a>&amp; itk::MultipleValuedVnlCostFunctionAdaptor::GetCachedDerivative           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the value of the last evaluation to the value of the cost function. Note that this method DOES NOT triggers a computation of the function or the derivatives, it only returns previous values. Therefore the values here are only valid after you invoke the <a class="el" href="classitk_1_1MultipleValuedVnlCostFunctionAdaptor.html#91bb49274f2944f426387e9a94b0f3bc">f()</a> or <a class="el" href="classitk_1_1MultipleValuedVnlCostFunctionAdaptor.html#ea747fe2bc0e8bb9e493ac7bc94b79df">gradf()</a> methods. 
</div>
</div><p>
<a class="anchor" name="8554456212ba9d3c87f5460b88f0224b"></a><!-- doxytag: member="itk::MultipleValuedVnlCostFunctionAdaptor::GetCachedValue" ref="8554456212ba9d3c87f5460b88f0224b" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classitk_1_1Array.html">MeasureType</a>&amp; itk::MultipleValuedVnlCostFunctionAdaptor::GetCachedValue           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the value of the last evaluation to the value of the cost function. Note that this method DOES NOT triggers a computation of the function or the derivatives, it only returns previous values. Therefore the values here are only valid after you invoke the <a class="el" href="classitk_1_1MultipleValuedVnlCostFunctionAdaptor.html#91bb49274f2944f426387e9a94b0f3bc">f()</a> or <a class="el" href="classitk_1_1MultipleValuedVnlCostFunctionAdaptor.html#ea747fe2bc0e8bb9e493ac7bc94b79df">gradf()</a> methods. 
</div>
</div><p>
<a class="anchor" name="8e480c1f2ba88aee471d8b1608e07ac0"></a><!-- doxytag: member="itk::MultipleValuedVnlCostFunctionAdaptor::GetCostFunction" ref="8e480c1f2ba88aee471d8b1608e07ac0" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classitk_1_1MultipleValuedCostFunction.html">MultipleValuedCostFunction</a>* itk::MultipleValuedVnlCostFunctionAdaptor::GetCostFunction           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the <a class="el" href="classitk_1_1CostFunction.html" title="Base class for cost functions intended to be used with Optimizers.">CostFunction</a> deriving from <a class="el" href="classitk_1_1MultipleValuedCostFunction.html" title="This class is a base for the CostFunctions returning a multiple values.">MultipleValuedCostFunction</a> 
<p>Definition at line <a class="el" href="itkMultipleValuedVnlCostFunctionAdaptor_8h_source.html#l00071">71</a> of file <a class="el" href="itkMultipleValuedVnlCostFunctionAdaptor_8h_source.html">itkMultipleValuedVnlCostFunctionAdaptor.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="d47863d25c423f505612a1c8e24e15bd"></a><!-- doxytag: member="itk::MultipleValuedVnlCostFunctionAdaptor::GetUseGradient" ref="d47863d25c423f505612a1c8e24e15bd" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool itk::MultipleValuedVnlCostFunctionAdaptor::GetUseGradient           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Define if the Cost function should provide a customized Gradient computation or the gradient can be computed internally using a default approach 
</div>
</div><p>
<a class="anchor" name="ea747fe2bc0e8bb9e493ac7bc94b79df"></a><!-- doxytag: member="itk::MultipleValuedVnlCostFunctionAdaptor::gradf" ref="ea747fe2bc0e8bb9e493ac7bc94b79df" args="(const InternalParametersType &amp;inparameters, InternalDerivativeType &amp;gradient)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void itk::MultipleValuedVnlCostFunctionAdaptor::gradf           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classvnl__vector.html">InternalParametersType</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>inparameters</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classvnl__matrix.html">InternalDerivativeType</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>gradient</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Delegate computation of the gradient to the costFunction. 
</div>
</div><p>
<a class="anchor" name="fe221023d96834393ea6e5e23cd5173a"></a><!-- doxytag: member="itk::MultipleValuedVnlCostFunctionAdaptor::ReportIteration" ref="fe221023d96834393ea6e5e23cd5173a" args="(const EventObject &amp;event) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void itk::MultipleValuedVnlCostFunctionAdaptor::ReportIteration           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classitk_1_1EventObject.html">EventObject</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>event</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
This method is intended to be called by the derived classes in order to notify of an iteration event to any Command/Observers 
</div>
</div><p>
<a class="anchor" name="c4ee7792f3661c094054cb581817d6b2"></a><!-- doxytag: member="itk::MultipleValuedVnlCostFunctionAdaptor::SetCostFunction" ref="c4ee7792f3661c094054cb581817d6b2" args="(MultipleValuedCostFunction *costFunction)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void itk::MultipleValuedVnlCostFunctionAdaptor::SetCostFunction           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classitk_1_1MultipleValuedCostFunction.html">MultipleValuedCostFunction</a> *&nbsp;</td>
          <td class="paramname"> <em>costFunction</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the <a class="el" href="classitk_1_1CostFunction.html" title="Base class for cost functions intended to be used with Optimizers.">CostFunction</a> deriving from <a class="el" href="classitk_1_1MultipleValuedCostFunction.html" title="This class is a base for the CostFunctions returning a multiple values.">MultipleValuedCostFunction</a> 
<p>Definition at line <a class="el" href="itkMultipleValuedVnlCostFunctionAdaptor_8h_source.html#l00067">67</a> of file <a class="el" href="itkMultipleValuedVnlCostFunctionAdaptor_8h_source.html">itkMultipleValuedVnlCostFunctionAdaptor.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="a4fa4edc202f957df57b7192adb55435"></a><!-- doxytag: member="itk::MultipleValuedVnlCostFunctionAdaptor::SetScales" ref="a4fa4edc202f957df57b7192adb55435" args="(const ScalesType &amp;scales)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void itk::MultipleValuedVnlCostFunctionAdaptor::SetScales           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classitk_1_1Array.html">ScalesType</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>scales</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set current parameters scaling. 
</div>
</div><p>
<a class="anchor" name="e9e28de5916a591294f594eb0b4716cc"></a><!-- doxytag: member="itk::MultipleValuedVnlCostFunctionAdaptor::SetUseGradient" ref="e9e28de5916a591294f594eb0b4716cc" args="(bool)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void itk::MultipleValuedVnlCostFunctionAdaptor::SetUseGradient           </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Define if the Cost function should provide a customized Gradient computation or the gradient can be computed internally using a default approach 
<p>Referenced by <a class="el" href="itkMultipleValuedVnlCostFunctionAdaptor_8h_source.html#l00102">UseGradientOff()</a>, and <a class="el" href="itkMultipleValuedVnlCostFunctionAdaptor_8h_source.html#l00101">UseGradientOn()</a>.</p>

</div>
</div><p>
<a class="anchor" name="be716f7c6dff5096c0802ce3954ccfc5"></a><!-- doxytag: member="itk::MultipleValuedVnlCostFunctionAdaptor::UseGradientOff" ref="be716f7c6dff5096c0802ce3954ccfc5" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void itk::MultipleValuedVnlCostFunctionAdaptor::UseGradientOff           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Define if the Cost function should provide a customized Gradient computation or the gradient can be computed internally using a default approach 
<p>Definition at line <a class="el" href="itkMultipleValuedVnlCostFunctionAdaptor_8h_source.html#l00102">102</a> of file <a class="el" href="itkMultipleValuedVnlCostFunctionAdaptor_8h_source.html">itkMultipleValuedVnlCostFunctionAdaptor.h</a>.</p>

<p>References <a class="el" href="classitk_1_1MultipleValuedVnlCostFunctionAdaptor.html#e9e28de5916a591294f594eb0b4716cc">SetUseGradient()</a>.</p>

</div>
</div><p>
<a class="anchor" name="5f8813f5dc1bf45a2a4f82d50616c54c"></a><!-- doxytag: member="itk::MultipleValuedVnlCostFunctionAdaptor::UseGradientOn" ref="5f8813f5dc1bf45a2a4f82d50616c54c" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void itk::MultipleValuedVnlCostFunctionAdaptor::UseGradientOn           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Define if the Cost function should provide a customized Gradient computation or the gradient can be computed internally using a default approach 
<p>Definition at line <a class="el" href="itkMultipleValuedVnlCostFunctionAdaptor_8h_source.html#l00101">101</a> of file <a class="el" href="itkMultipleValuedVnlCostFunctionAdaptor_8h_source.html">itkMultipleValuedVnlCostFunctionAdaptor.h</a>.</p>

<p>References <a class="el" href="classitk_1_1MultipleValuedVnlCostFunctionAdaptor.html#e9e28de5916a591294f594eb0b4716cc">SetUseGradient()</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="itkMultipleValuedVnlCostFunctionAdaptor_8h_source.html">itkMultipleValuedVnlCostFunctionAdaptor.h</a></ul>
</div>
<hr><address><small>
Generated at Fri May 8 05:30:47 2009 for ITK  by <a href="http://www.stack.nl/~dimitri/doxygen/index.html"> <img 
src="http://www.stack.nl/~dimitri/doxygen/doxygen.png" alt="doxygen"
align="middle" border=0 width=110 height=53>
</a> 1.5.9 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>,
 &copy;&nbsp;1997-2000</small></address>
</body>
</html>