Sophie

Sophie

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

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::CompositeValleyFunction 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_1CompositeValleyFunction.html">CompositeValleyFunction</a>
  </div>
<div class="contents">
<h1>itk::CompositeValleyFunction Class Reference</h1><!-- doxytag: class="itk::CompositeValleyFunction" --><!-- doxytag: inherits="itk::CacheableScalarFunction" -->Multiple valley shaped curve function.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="itkCompositeValleyFunction_8h_source.html">itkCompositeValleyFunction.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for itk::CompositeValleyFunction:</div>
<div class="dynsection">
<p><center><img src="classitk_1_1CompositeValleyFunction__inherit__graph.png" border="0" usemap="#itk_1_1CompositeValleyFunction__inherit__map" alt="Inheritance graph"></center>
<map name="itk_1_1CompositeValleyFunction__inherit__map">
<area shape="rect" id="node2" href="classitk_1_1CacheableScalarFunction.html" title="function cache implementation" alt="" coords="5,5,221,35"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
<div class="dynheader">
Collaboration diagram for itk::CompositeValleyFunction:</div>
<div class="dynsection">
<p><center><img src="classitk_1_1CompositeValleyFunction__coll__graph.png" border="0" usemap="#itk_1_1CompositeValleyFunction__coll__map" alt="Collaboration graph"></center>
<map name="itk_1_1CompositeValleyFunction__coll__map">
<area shape="rect" id="node2" href="classitk_1_1CacheableScalarFunction.html" title="function cache implementation" alt="" coords="69,277,285,307"><area shape="rect" id="node4" href="classitk_1_1Array.html" title="itk::Array\&lt; MeasureType \&gt;" alt="" coords="76,181,279,211"><area shape="rect" id="node6" href="classvnl__vector.html" title="vnl_vector\&lt; MeasureType &#160;\&gt;" alt="" coords="5,85,216,115"><area shape="rect" id="node8" href="classitk_1_1Array.html" title="Array class with size defined at construction time." alt="" coords="240,85,427,115"><area shape="rect" id="node10" href="classvnl__vector.html" title="vnl_vector\&lt; TValueType \&gt;" alt="" coords="235,5,432,35"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>

<p>
<a href="classitk_1_1CompositeValleyFunction-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_1Array.html">Superclass::MeasureArrayType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1CompositeValleyFunction.html#0121eac6e8bebe212574930b0342013a">MeasureArrayType</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classitk_1_1CacheableScalarFunction.html#3e6333600aacf7275e6e0311cbedbdb6">Superclass::MeasureType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1CompositeValleyFunction.html#ebef7c7dec580890bca3d22149ee4751">MeasureType</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classitk_1_1CacheableScalarFunction.html">CacheableScalarFunction</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1CompositeValleyFunction.html#75a61fed2b15cd9afcf5145417e7ac3b">Superclass</a></td></tr>

<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1CompositeValleyFunction.html#2deb077c2428318ff0156fc1e1325e07">CompositeValleyFunction</a> (const <a class="el" href="classitk_1_1Array.html">MeasureArrayType</a> &amp;classMeans, const <a class="el" href="classitk_1_1Array.html">MeasureArrayType</a> &amp;classSigmas)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classitk_1_1CompositeValleyFunction.html#ebef7c7dec580890bca3d22149ee4751">MeasureType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1CompositeValleyFunction.html#10d0e29980ed7e24d5a905aabe187758">Evaluate</a> (<a class="el" href="classitk_1_1CompositeValleyFunction.html#ebef7c7dec580890bca3d22149ee4751">MeasureType</a> x)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1CacheableScalarFunction.html#fc91ba796ec07c4a8318106acbc00b5f">GetCacheLowerBound</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1CacheableScalarFunction.html#6d1670fee265e1cc6673e7b2c6915838">GetCacheUpperBound</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1CacheableScalarFunction.html#b9afe43734dd5521d0e8e382528c7615">GetInterval</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1CompositeValleyFunction.html#ed178340535ea8ad7ec6538042b591f4">GetLowerBound</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1CacheableScalarFunction.html#dea9e0cfb540c895c7ae02f09bdcae0b">GetNumberOfSamples</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1CompositeValleyFunction.html#4b66cedc2bc4dcc6c2c93cd5600563a1">GetUpperBound</a> ()</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_1CacheableScalarFunction.html#6d08a844aad2210ad812989586ec3d5b">IsCacheAvailable</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classitk_1_1CompositeValleyFunction.html#ebef7c7dec580890bca3d22149ee4751">MeasureType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1CompositeValleyFunction.html#67f3c97956b625b5bef85f819c2e8e84">operator()</a> (<a class="el" href="classitk_1_1CompositeValleyFunction.html#ebef7c7dec580890bca3d22149ee4751">MeasureType</a> x)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classitk_1_1CompositeValleyFunction.html#ebef7c7dec580890bca3d22149ee4751">MeasureType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1CompositeValleyFunction.html#fb6e3415f934e8841b439122baa54d1a">valley</a> (<a class="el" href="classitk_1_1CompositeValleyFunction.html#ebef7c7dec580890bca3d22149ee4751">MeasureType</a> d)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1CompositeValleyFunction.html#ba6f7635e90e469fcaf7ecd4643dba2b">~CompositeValleyFunction</a> ()</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classitk_1_1CompositeValleyFunction.html#ebef7c7dec580890bca3d22149ee4751">MeasureType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1CacheableScalarFunction.html#4ae0a32e403ff42f78565fd1f38a4de3">GetCachedValue</a> (<a class="el" href="classitk_1_1CompositeValleyFunction.html#ebef7c7dec580890bca3d22149ee4751">MeasureType</a> x)</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_1CompositeValleyFunction.html#b7ff2d0e740c535936bf975996706560">AddNewClass</a> (double mean, double sigma)</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_1CacheableScalarFunction.html#56633055451c4c5718e668043df845da">CreateCache</a> (double lowerBound, double upperBound, long sampleSize)</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_1CompositeValleyFunction.html#69aef5d9530beab3108a944a844bafbd">Initialize</a> ()</td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Multiple valley shaped curve function. 
<p>
Its functional form f(x) is : sum (valley( (x - mean[i]) / sigma[i] ) ) over i from 0 to the number of target classes where valley(x) = 1 - 1 / (1 + x^2 / 3)<p>
The plotting of the function return shows multiple lowest points at each mean[i] position. There are two more important shape parameters for this function, higher-bound and lower-bound. Upper-bound will be highest mean value among target classes' means + its sigma value * 9, and lower-bound will be lowest mean value among target classes' means - its sigma value * 9<p>
For example, if there are two target classes with their means at 4 and 6. The plotting may look like the following:<p>
| |********* ****** | * * | * * * | * * * * | * * * * | * * * * | * * ---+-----+------*------*------- | 2 4 6 |<p>
This is a part of the bias correction methods and implementaion that was initially developed and implemented by Martin Styner, Univ. of North Carolina at Chapel Hill, and his colleagues.<p>
For more details. refer to the following articles. "Parametric estimate of intensity inhomogeneities applied to MRI" Martin Styner, G. Gerig, Christian Brechbuehler, Gabor Szekely, IEEE TRANSACTIONS ON MEDICAL IMAGING; 19(3), pp. 153-165, 2000, (<a href="http://www.cs.unc.edu/~styner/docs/tmi00.pdf">http://www.cs.unc.edu/~styner/docs/tmi00.pdf</a>)<p>
"Evaluation of 2D/3D bias correction with 1+1ES-optimization" Martin Styner, Prof. Dr. G. Gerig (IKT, BIWI, ETH Zuerich), TR-197 (<a href="http://www.cs.unc.edu/~styner/docs/StynerTR97.pdf">http://www.cs.unc.edu/~styner/docs/StynerTR97.pdf</a>) 
<p>Definition at line <a class="el" href="itkCompositeValleyFunction_8h_source.html#l00096">96</a> of file <a class="el" href="itkCompositeValleyFunction_8h_source.html">itkCompositeValleyFunction.h</a>.</p>
<hr><h2>Member Typedef Documentation</h2>
<a class="anchor" name="0121eac6e8bebe212574930b0342013a"></a><!-- doxytag: member="itk::CompositeValleyFunction::MeasureArrayType" ref="0121eac6e8bebe212574930b0342013a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classitk_1_1Array.html">Superclass::MeasureArrayType</a> <a class="el" href="classitk_1_1Array.html">itk::CompositeValleyFunction::MeasureArrayType</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Reimplemented from <a class="el" href="classitk_1_1CacheableScalarFunction.html#e47e01c4f9242afa828ae8459fdbee15">itk::CacheableScalarFunction</a>.</p>

<p>Definition at line <a class="el" href="itkCompositeValleyFunction_8h_source.html#l00105">105</a> of file <a class="el" href="itkCompositeValleyFunction_8h_source.html">itkCompositeValleyFunction.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="ebef7c7dec580890bca3d22149ee4751"></a><!-- doxytag: member="itk::CompositeValleyFunction::MeasureType" ref="ebef7c7dec580890bca3d22149ee4751" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classitk_1_1CacheableScalarFunction.html#3e6333600aacf7275e6e0311cbedbdb6">Superclass::MeasureType</a> <a class="el" href="classitk_1_1CompositeValleyFunction.html#ebef7c7dec580890bca3d22149ee4751">itk::CompositeValleyFunction::MeasureType</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Cost value type. 
<p>Reimplemented from <a class="el" href="classitk_1_1CacheableScalarFunction.html#3e6333600aacf7275e6e0311cbedbdb6">itk::CacheableScalarFunction</a>.</p>

<p>Definition at line <a class="el" href="itkCompositeValleyFunction_8h_source.html#l00104">104</a> of file <a class="el" href="itkCompositeValleyFunction_8h_source.html">itkCompositeValleyFunction.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="75a61fed2b15cd9afcf5145417e7ac3b"></a><!-- doxytag: member="itk::CompositeValleyFunction::Superclass" ref="75a61fed2b15cd9afcf5145417e7ac3b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classitk_1_1CacheableScalarFunction.html">CacheableScalarFunction</a> <a class="el" href="classitk_1_1CacheableScalarFunction.html">itk::CompositeValleyFunction::Superclass</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Superclass to this class. 
<p>Definition at line <a class="el" href="itkCompositeValleyFunction_8h_source.html#l00101">101</a> of file <a class="el" href="itkCompositeValleyFunction_8h_source.html">itkCompositeValleyFunction.h</a>.</p>

</div>
</div><p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="2deb077c2428318ff0156fc1e1325e07"></a><!-- doxytag: member="itk::CompositeValleyFunction::CompositeValleyFunction" ref="2deb077c2428318ff0156fc1e1325e07" args="(const MeasureArrayType &amp;classMeans, const MeasureArrayType &amp;classSigmas)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">itk::CompositeValleyFunction::CompositeValleyFunction           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classitk_1_1Array.html">MeasureArrayType</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>classMeans</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classitk_1_1Array.html">MeasureArrayType</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>classSigmas</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. 
</div>
</div><p>
<a class="anchor" name="ba6f7635e90e469fcaf7ecd4643dba2b"></a><!-- doxytag: member="itk::CompositeValleyFunction::~CompositeValleyFunction" ref="ba6f7635e90e469fcaf7ecd4643dba2b" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual itk::CompositeValleyFunction::~CompositeValleyFunction           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Destructor. 
<p>Definition at line <a class="el" href="itkCompositeValleyFunction_8h_source.html#l00112">112</a> of file <a class="el" href="itkCompositeValleyFunction_8h_source.html">itkCompositeValleyFunction.h</a>.</p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="b7ff2d0e740c535936bf975996706560"></a><!-- doxytag: member="itk::CompositeValleyFunction::AddNewClass" ref="b7ff2d0e740c535936bf975996706560" args="(double mean, double sigma)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void itk::CompositeValleyFunction::AddNewClass           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>mean</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>sigma</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="itkCompositeValleyFunction_8h_source.html#l00160">160</a> of file <a class="el" href="itkCompositeValleyFunction_8h_source.html">itkCompositeValleyFunction.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="56633055451c4c5718e668043df845da"></a><!-- doxytag: member="itk::CompositeValleyFunction::CreateCache" ref="56633055451c4c5718e668043df845da" args="(double lowerBound, double upperBound, long sampleSize)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void itk::CacheableScalarFunction::CreateCache           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>lowerBound</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>upperBound</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&nbsp;</td>
          <td class="paramname"> <em>sampleSize</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create the internal cache table and fill it with pre-evaluated values. 
</div>
</div><p>
<a class="anchor" name="10d0e29980ed7e24d5a905aabe187758"></a><!-- doxytag: member="itk::CompositeValleyFunction::Evaluate" ref="10d0e29980ed7e24d5a905aabe187758" args="(MeasureType x)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classitk_1_1CompositeValleyFunction.html#ebef7c7dec580890bca3d22149ee4751">MeasureType</a> itk::CompositeValleyFunction::Evaluate           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classitk_1_1CompositeValleyFunction.html#ebef7c7dec580890bca3d22149ee4751">MeasureType</a>&nbsp;</td>
          <td class="paramname"> <em>x</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Evalaute the function at point x. 
<p>Reimplemented from <a class="el" href="classitk_1_1CacheableScalarFunction.html#75e1d4a0b20464a80d73df54e4c33d1c">itk::CacheableScalarFunction</a>.</p>

<p>Definition at line <a class="el" href="itkCompositeValleyFunction_8h_source.html#l00140">140</a> of file <a class="el" href="itkCompositeValleyFunction_8h_source.html">itkCompositeValleyFunction.h</a>.</p>

<p>References <a class="el" href="itkCompositeValleyFunction_8h_source.html#l00154">valley()</a>.</p>

<p>Referenced by <a class="el" href="itkCompositeValleyFunction_8h_source.html#l00122">operator()()</a>.</p>

</div>
</div><p>
<a class="anchor" name="4ae0a32e403ff42f78565fd1f38a4de3"></a><!-- doxytag: member="itk::CompositeValleyFunction::GetCachedValue" ref="4ae0a32e403ff42f78565fd1f38a4de3" args="(MeasureType x)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classitk_1_1CompositeValleyFunction.html#ebef7c7dec580890bca3d22149ee4751">MeasureType</a> itk::CacheableScalarFunction::GetCachedValue           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classitk_1_1CacheableScalarFunction.html#3e6333600aacf7275e6e0311cbedbdb6">MeasureType</a>&nbsp;</td>
          <td class="paramname"> <em>x</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
y = f(x) = (approximately) cache_table(index(x)) Get the function return using the internal cache table NOTE: Since the index calculation needs conversion from double to int, truncation happens. As a result, the return values from Evaluate(x) and GetCachedValue(x) may not be same for the same x. 
<p>Definition at line <a class="el" href="itkCacheableScalarFunction_8h_source.html#l00096">96</a> of file <a class="el" href="itkCacheableScalarFunction_8h_source.html">itkCacheableScalarFunction.h</a>.</p>

<p>Referenced by <a class="el" href="itkCompositeValleyFunction_8h_source.html#l00122">operator()()</a>.</p>

</div>
</div><p>
<a class="anchor" name="fc91ba796ec07c4a8318106acbc00b5f"></a><!-- doxytag: member="itk::CompositeValleyFunction::GetCacheLowerBound" ref="fc91ba796ec07c4a8318106acbc00b5f" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double itk::CacheableScalarFunction::GetCacheLowerBound           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the lower-bound of domain that is used for filling the cache table. 
<p>Definition at line <a class="el" href="itkCacheableScalarFunction_8h_source.html#l00079">79</a> of file <a class="el" href="itkCacheableScalarFunction_8h_source.html">itkCacheableScalarFunction.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="6d1670fee265e1cc6673e7b2c6915838"></a><!-- doxytag: member="itk::CompositeValleyFunction::GetCacheUpperBound" ref="6d1670fee265e1cc6673e7b2c6915838" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double itk::CacheableScalarFunction::GetCacheUpperBound           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the upper-bound of domain that is used for filling the cache table. 
<p>Definition at line <a class="el" href="itkCacheableScalarFunction_8h_source.html#l00076">76</a> of file <a class="el" href="itkCacheableScalarFunction_8h_source.html">itkCacheableScalarFunction.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="b9afe43734dd5521d0e8e382528c7615"></a><!-- doxytag: member="itk::CompositeValleyFunction::GetInterval" ref="b9afe43734dd5521d0e8e382528c7615" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double itk::CacheableScalarFunction::GetInterval           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gets the interval of each cell between the upper and lower bound 
<p>Definition at line <a class="el" href="itkCacheableScalarFunction_8h_source.html#l00088">88</a> of file <a class="el" href="itkCacheableScalarFunction_8h_source.html">itkCacheableScalarFunction.h</a>.</p>

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

<p>
Get energy table's lower bound. 
<p>Definition at line <a class="el" href="itkCompositeValleyFunction_8h_source.html#l00118">118</a> of file <a class="el" href="itkCompositeValleyFunction_8h_source.html">itkCompositeValleyFunction.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="dea9e0cfb540c895c7ae02f09bdcae0b"></a><!-- doxytag: member="itk::CompositeValleyFunction::GetNumberOfSamples" ref="dea9e0cfb540c895c7ae02f09bdcae0b" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long itk::CacheableScalarFunction::GetNumberOfSamples           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the number of samples between the lower-bound and upper-bound of the cache table. 
<p>Definition at line <a class="el" href="itkCacheableScalarFunction_8h_source.html#l00070">70</a> of file <a class="el" href="itkCacheableScalarFunction_8h_source.html">itkCacheableScalarFunction.h</a>.</p>

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

<p>
Get energy table's higher bound. 
<p>Definition at line <a class="el" href="itkCompositeValleyFunction_8h_source.html#l00115">115</a> of file <a class="el" href="itkCompositeValleyFunction_8h_source.html">itkCompositeValleyFunction.h</a>.</p>

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

<p>
calculate and save energy values 
</div>
</div><p>
<a class="anchor" name="6d08a844aad2210ad812989586ec3d5b"></a><!-- doxytag: member="itk::CompositeValleyFunction::IsCacheAvailable" ref="6d08a844aad2210ad812989586ec3d5b" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool itk::CacheableScalarFunction::IsCacheAvailable           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if the internal cache table and its values are valid. 
<p>Definition at line <a class="el" href="itkCacheableScalarFunction_8h_source.html#l00073">73</a> of file <a class="el" href="itkCacheableScalarFunction_8h_source.html">itkCacheableScalarFunction.h</a>.</p>

<p>Referenced by <a class="el" href="itkCompositeValleyFunction_8h_source.html#l00122">operator()()</a>.</p>

</div>
</div><p>
<a class="anchor" name="67f3c97956b625b5bef85f819c2e8e84"></a><!-- doxytag: member="itk::CompositeValleyFunction::operator()" ref="67f3c97956b625b5bef85f819c2e8e84" args="(MeasureType x)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classitk_1_1CompositeValleyFunction.html#ebef7c7dec580890bca3d22149ee4751">MeasureType</a> itk::CompositeValleyFunction::operator()           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classitk_1_1CompositeValleyFunction.html#ebef7c7dec580890bca3d22149ee4751">MeasureType</a>&nbsp;</td>
          <td class="paramname"> <em>x</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gets an energy value for the intensity difference between a pixel and its corresponding bias. 
<p>Definition at line <a class="el" href="itkCompositeValleyFunction_8h_source.html#l00122">122</a> of file <a class="el" href="itkCompositeValleyFunction_8h_source.html">itkCompositeValleyFunction.h</a>.</p>

<p>References <a class="el" href="itkCompositeValleyFunction_8h_source.html#l00140">Evaluate()</a>, <a class="el" href="itkCacheableScalarFunction_8h_source.html#l00096">itk::CacheableScalarFunction::GetCachedValue()</a>, and <a class="el" href="itkCacheableScalarFunction_8h_source.html#l00073">itk::CacheableScalarFunction::IsCacheAvailable()</a>.</p>

</div>
</div><p>
<a class="anchor" name="fb6e3415f934e8841b439122baa54d1a"></a><!-- doxytag: member="itk::CompositeValleyFunction::valley" ref="fb6e3415f934e8841b439122baa54d1a" args="(MeasureType d)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classitk_1_1CompositeValleyFunction.html#ebef7c7dec580890bca3d22149ee4751">MeasureType</a> itk::CompositeValleyFunction::valley           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classitk_1_1CompositeValleyFunction.html#ebef7c7dec580890bca3d22149ee4751">MeasureType</a>&nbsp;</td>
          <td class="paramname"> <em>d</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get an energy value for the valley. 
<p>Definition at line <a class="el" href="itkCompositeValleyFunction_8h_source.html#l00154">154</a> of file <a class="el" href="itkCompositeValleyFunction_8h_source.html">itkCompositeValleyFunction.h</a>.</p>

<p>Referenced by <a class="el" href="itkCompositeValleyFunction_8h_source.html#l00140">Evaluate()</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="itkCompositeValleyFunction_8h_source.html">itkCompositeValleyFunction.h</a></ul>
</div>
<hr><address><small>
Generated at Fri May 8 02:14:40 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>