<!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> <a href="modules.html" class="qindex">Groups</a> <a href="namespaces.html" class="qindex">Namespace List</a> <a href="hierarchy.html" class="qindex">Class Hierarchy</a> <a href="classes.html" class="qindex">Alphabetical List</a> <a href="annotated.html" class="qindex">Compound List</a> <a href="files.html" class="qindex">File List</a> <a href="namespacemembers.html" class="qindex">Namespace Members</a> <a href="functions.html" class="qindex">Compound Members</a> <a href="globals.html" class="qindex">File Members</a> <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 <<a class="el" href="itkCompositeValleyFunction_8h_source.html">itkCompositeValleyFunction.h</a>></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\< MeasureType \>" alt="" coords="76,181,279,211"><area shape="rect" id="node6" href="classvnl__vector.html" title="vnl_vector\< MeasureType  \>" 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\< TValueType \>" 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> </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> </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> </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"> </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> &classMeans, const <a class="el" href="classitk_1_1Array.html">MeasureArrayType</a> &classSigmas)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classitk_1_1CompositeValleyFunction.html#ebef7c7dec580890bca3d22149ee4751">MeasureType</a> </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 </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 </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 </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 </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 </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 </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 </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> </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> </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 </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> </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 </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 </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 </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 & Destructor Documentation</h2> <a class="anchor" name="2deb077c2428318ff0156fc1e1325e07"></a><!-- doxytag: member="itk::CompositeValleyFunction::CompositeValleyFunction" ref="2deb077c2428318ff0156fc1e1325e07" args="(const MeasureArrayType &classMeans, const MeasureArrayType &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> & </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> & </td> <td class="paramname"> <em>classSigmas</em></td><td> </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> ) </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 </td> <td class="paramname"> <em>mean</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"> <em>sigma</em></td><td> </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 </td> <td class="paramname"> <em>lowerBound</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"> <em>upperBound</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">long </td> <td class="paramname"> <em>sampleSize</em></td><td> </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> </td> <td class="paramname"> <em>x</em> </td> <td> ) </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> </td> <td class="paramname"> <em>x</em> </td> <td> ) </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> ) </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> ) </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> ) </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> ) </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> ) </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> ) </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> ) </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> ) </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> </td> <td class="paramname"> <em>x</em> </td> <td> ) </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> </td> <td class="paramname"> <em>d</em> </td> <td> ) </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>, © 1997-2000</small></address> </body> </html>