<!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::MultivariateLegendrePolynomial 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_1MultivariateLegendrePolynomial.html">MultivariateLegendrePolynomial</a> </div> <div class="contents"> <h1>itk::MultivariateLegendrePolynomial Class Reference</h1><!-- doxytag: class="itk::MultivariateLegendrePolynomial" -->2D and 3D multivariate Legendre Polynomial <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="itkMultivariateLegendrePolynomial_8h_source.html">itkMultivariateLegendrePolynomial.h</a>></code> <p> <p> <a href="classitk_1_1MultivariateLegendrePolynomial-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Classes</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultivariateLegendrePolynomial_1_1CoefficientVectorSizeMismatch.html">CoefficientVectorSizeMismatch</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultivariateLegendrePolynomial_1_1SimpleForwardIterator.html">SimpleForwardIterator</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Iterator which only supports forward iteration and <a class="el" href="classitk_1_1MultivariateLegendrePolynomial_1_1SimpleForwardIterator.html#a4dcb1b5246c047f8b2a87b5f333cd9a">Begin()</a>, <a class="el" href="classitk_1_1MultivariateLegendrePolynomial_1_1SimpleForwardIterator.html#a7b071a12afbb051073c64531adb169b">IsAtEnd()</a>, and <a class="el" href="classitk_1_1MultivariateLegendrePolynomial_1_1SimpleForwardIterator.html#36eb088088fa900f2c32fdf67ca09d23">Get()</a> method which work just like as SimpleImageRegionIterator. <a href="classitk_1_1MultivariateLegendrePolynomial_1_1SimpleForwardIterator.html#_details">More...</a><br></td></tr> <tr><td colspan="2"><br><h2>Public Types</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#423ac3711c0931817361f30cb57b973c">DoubleArrayType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#4bb3020dc722c489166aef3e9777d00b">CoefficientArrayType</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#11ad3ddff637f18e0d438533b0ce5557">ULongArrayType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#3a2ea7412f4daed5cdd31fb7c4a32719">DomainSizeType</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector< double > </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#423ac3711c0931817361f30cb57b973c">DoubleArrayType</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#a0e92d1f4907d7937b23cf99d90f1256">LongArrayType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#46713156003c0630bb29c12ba2f927e6">IndexType</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector< long > </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#a0e92d1f4907d7937b23cf99d90f1256">LongArrayType</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classitk_1_1Array.html">Array</a>< double > </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#1a8b3662bb183d331d7b97e764a1cc70">ParametersType</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <br class="typebreak"> <a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html">MultivariateLegendrePolynomial</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#36348655f82352670eb3e894ad5d8cf9">Self</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector< unsigned <br class="typebreak"> long > </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#11ad3ddff637f18e0d438533b0ce5557">ULongArrayType</a></td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#4bb3020dc722c489166aef3e9777d00b">CoefficientArrayType</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#d10d5f776b81df800e8c24ade8119139">GetCoefficients</a> (void) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#49057664b1ba8069298b9272515b5bbf">GetDegree</a> (void) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#092c6de2b3e2f056360c6c418d5a863f">GetDimension</a> (void) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#3a2ea7412f4daed5cdd31fb7c4a32719">DomainSizeType</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#df119045b8c3d872bb25cbe14527e193">GetDomainSize</a> (void) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#159614efc8eb812d6377c4f9d2c77341">GetNumberOfCoefficients</a> (void) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#bdc9b447ca62a27cd33690fb814f1c67">MultivariateLegendrePolynomial</a> (unsigned int dimension, unsigned int degree, const <a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#3a2ea7412f4daed5cdd31fb7c4a32719">DomainSizeType</a> &domainSize)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#6048da820627772b6288f20969c02722">SetCoefficients</a> (const <a class="el" href="classitk_1_1Array.html">ParametersType</a> &coef) throw (CoefficientVectorSizeMismatch)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#4f11905baffbb711e0059618044a80aa">SetCoefficients</a> (const <a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#4bb3020dc722c489166aef3e9777d00b">CoefficientArrayType</a> &coef) throw (CoefficientVectorSizeMismatch)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#9505e989b77358726b4b145e90984233">~MultivariateLegendrePolynomial</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_1MultivariateLegendrePolynomial.html#a85dfd3e2797bdd5888a90881def9be4">Evaluate</a> (<a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#46713156003c0630bb29c12ba2f927e6">IndexType</a> &index)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#671bdf32ae01986a77a8bce24b6d84bc">GetNumberOfCoefficients</a> (unsigned int dimension, unsigned int degree)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#6ca7d385e85994babaf4f32a35f7ff12">GetNumberOfCoefficients</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#a9bb738fabe4d4609a91e50f10d03649">Print</a> (std::ostream &os)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#4d3ba9628efd6bd7ff39cdd1fa4f2870">CalculateXCoef</a> (double norm_y, const <a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#4bb3020dc722c489166aef3e9777d00b">CoefficientArrayType</a> &coef)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#93c855aed7804dc7598399efd74c6f46">CalculateYCoef</a> (double norm_z, const <a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#4bb3020dc722c489166aef3e9777d00b">CoefficientArrayType</a> &coef)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#e7d781919662c3129289914faa4a442b">LegendreSum</a> (const double x, int n, const <a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#4bb3020dc722c489166aef3e9777d00b">CoefficientArrayType</a> &coef, int offset=0)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#45c9447a18f4b5b1db9a6e7b48b173ee">PrintSelf</a> (std::ostream &os, <a class="el" href="classitk_1_1Indent.html">Indent</a> indent) const </td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> 2D and 3D multivariate Legendre Polynomial <p> In 2D, <p class="formulaDsp"> <img class="formulaDsp" alt="\[ f(x_{vector}, parameter_{vector}) = \sum_i^l \left( \sum_j^{l-i} \left( parameter_ {ij} * P_i(x) *P_j(y)) \right) \right) \]" src="form_208.png"> <p> where P_i() denoting a Legendre polynomial of degree i and l it the degree of the polynomial<p> In 3D, <p class="formulaDsp"> <img class="formulaDsp" alt="\[ f(x_{vector}, parameter_{vector}) = \sum_i^l \left( \sum_j^{l-i} \left( \sum_k^{l-i-j} \left( parameter_{ijk} * P_i(x) * P_j(y) * P_k(z) \right) \right) \right) \]" src="form_209.png"> <p> <p> The size of the parameter vector for 2D is <img class="formulaInl" alt="$\frac{(l+1)\cdot(1+2)}{2}$" src="form_210.png">, and for 3D is <img class="formulaInl" alt="$\frac{(l+1)*(l+2)*(l+3){3!}$" src="form_211.png"><p> To get the size of the parameter vector, users can use one of the two <a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#159614efc8eb812d6377c4f9d2c77341">GetNumberOfCoefficients()</a> member functions<p> To get function result, users can use the operator() or its SimpleForwardIterator's Get() method.<p> This is a part of the bias correction methods and implemenations that was initially developed and implemented by Martin Styner, Univ. of North Carolina at Chapel Hill, and his colleagues.<p> <dl class="note" compact><dt><b>Note:</b></dt><dd>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.ia.unc.edu/~styner/docs/tmi00.pdf">http://www.ia.unc.edu/~styner/docs/tmi00.pdf</a>)</dd></dl> "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.ia.unc.edu/~styner/docs/StynerTR97.pdf">http://www.ia.unc.edu/~styner/docs/StynerTR97.pdf</a>) <p>Definition at line <a class="el" href="itkMultivariateLegendrePolynomial_8h_source.html#l00071">71</a> of file <a class="el" href="itkMultivariateLegendrePolynomial_8h_source.html">itkMultivariateLegendrePolynomial.h</a>.</p> <hr><h2>Member Typedef Documentation</h2> <a class="anchor" name="4bb3020dc722c489166aef3e9777d00b"></a><!-- doxytag: member="itk::MultivariateLegendrePolynomial::CoefficientArrayType" ref="4bb3020dc722c489166aef3e9777d00b" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#423ac3711c0931817361f30cb57b973c">DoubleArrayType</a> <a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#4bb3020dc722c489166aef3e9777d00b">itk::MultivariateLegendrePolynomial::CoefficientArrayType</a> </td> </tr> </table> </div> <div class="memdoc"> <p> Internal coefficient storage type. <p>Definition at line <a class="el" href="itkMultivariateLegendrePolynomial_8h_source.html#l00081">81</a> of file <a class="el" href="itkMultivariateLegendrePolynomial_8h_source.html">itkMultivariateLegendrePolynomial.h</a>.</p> </div> </div><p> <a class="anchor" name="3a2ea7412f4daed5cdd31fb7c4a32719"></a><!-- doxytag: member="itk::MultivariateLegendrePolynomial::DomainSizeType" ref="3a2ea7412f4daed5cdd31fb7c4a32719" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#11ad3ddff637f18e0d438533b0ce5557">ULongArrayType</a> <a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#3a2ea7412f4daed5cdd31fb7c4a32719">itk::MultivariateLegendrePolynomial::DomainSizeType</a> </td> </tr> </table> </div> <div class="memdoc"> <p> The size of the domain. <p>Definition at line <a class="el" href="itkMultivariateLegendrePolynomial_8h_source.html#l00088">88</a> of file <a class="el" href="itkMultivariateLegendrePolynomial_8h_source.html">itkMultivariateLegendrePolynomial.h</a>.</p> </div> </div><p> <a class="anchor" name="423ac3711c0931817361f30cb57b973c"></a><!-- doxytag: member="itk::MultivariateLegendrePolynomial::DoubleArrayType" ref="423ac3711c0931817361f30cb57b973c" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef std::vector< double > <a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#423ac3711c0931817361f30cb57b973c">itk::MultivariateLegendrePolynomial::DoubleArrayType</a> </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="itkMultivariateLegendrePolynomial_8h_source.html#l00076">76</a> of file <a class="el" href="itkMultivariateLegendrePolynomial_8h_source.html">itkMultivariateLegendrePolynomial.h</a>.</p> </div> </div><p> <a class="anchor" name="46713156003c0630bb29c12ba2f927e6"></a><!-- doxytag: member="itk::MultivariateLegendrePolynomial::IndexType" ref="46713156003c0630bb29c12ba2f927e6" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#a0e92d1f4907d7937b23cf99d90f1256">LongArrayType</a> <a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#46713156003c0630bb29c12ba2f927e6">itk::MultivariateLegendrePolynomial::IndexType</a> </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="itkMultivariateLegendrePolynomial_8h_source.html#l00089">89</a> of file <a class="el" href="itkMultivariateLegendrePolynomial_8h_source.html">itkMultivariateLegendrePolynomial.h</a>.</p> </div> </div><p> <a class="anchor" name="a0e92d1f4907d7937b23cf99d90f1256"></a><!-- doxytag: member="itk::MultivariateLegendrePolynomial::LongArrayType" ref="a0e92d1f4907d7937b23cf99d90f1256" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef std::vector< long > <a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#a0e92d1f4907d7937b23cf99d90f1256">itk::MultivariateLegendrePolynomial::LongArrayType</a> </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="itkMultivariateLegendrePolynomial_8h_source.html#l00078">78</a> of file <a class="el" href="itkMultivariateLegendrePolynomial_8h_source.html">itkMultivariateLegendrePolynomial.h</a>.</p> </div> </div><p> <a class="anchor" name="1a8b3662bb183d331d7b97e764a1cc70"></a><!-- doxytag: member="itk::MultivariateLegendrePolynomial::ParametersType" ref="1a8b3662bb183d331d7b97e764a1cc70" 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>< double > <a class="el" href="classitk_1_1Array.html">itk::MultivariateLegendrePolynomial::ParametersType</a> </td> </tr> </table> </div> <div class="memdoc"> <p> Same as CoefficientArray This type definition will be used by EnergyFunction object. <p>Definition at line <a class="el" href="itkMultivariateLegendrePolynomial_8h_source.html#l00085">85</a> of file <a class="el" href="itkMultivariateLegendrePolynomial_8h_source.html">itkMultivariateLegendrePolynomial.h</a>.</p> </div> </div><p> <a class="anchor" name="36348655f82352670eb3e894ad5d8cf9"></a><!-- doxytag: member="itk::MultivariateLegendrePolynomial::Self" ref="36348655f82352670eb3e894ad5d8cf9" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html">MultivariateLegendrePolynomial</a> <a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html">itk::MultivariateLegendrePolynomial::Self</a> </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="itkMultivariateLegendrePolynomial_8h_source.html#l00074">74</a> of file <a class="el" href="itkMultivariateLegendrePolynomial_8h_source.html">itkMultivariateLegendrePolynomial.h</a>.</p> </div> </div><p> <a class="anchor" name="11ad3ddff637f18e0d438533b0ce5557"></a><!-- doxytag: member="itk::MultivariateLegendrePolynomial::ULongArrayType" ref="11ad3ddff637f18e0d438533b0ce5557" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef std::vector< unsigned long > <a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#11ad3ddff637f18e0d438533b0ce5557">itk::MultivariateLegendrePolynomial::ULongArrayType</a> </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="itkMultivariateLegendrePolynomial_8h_source.html#l00077">77</a> of file <a class="el" href="itkMultivariateLegendrePolynomial_8h_source.html">itkMultivariateLegendrePolynomial.h</a>.</p> </div> </div><p> <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="bdc9b447ca62a27cd33690fb814f1c67"></a><!-- doxytag: member="itk::MultivariateLegendrePolynomial::MultivariateLegendrePolynomial" ref="bdc9b447ca62a27cd33690fb814f1c67" args="(unsigned int dimension, unsigned int degree, const DomainSizeType &domainSize)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">itk::MultivariateLegendrePolynomial::MultivariateLegendrePolynomial </td> <td>(</td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>dimension</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>degree</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#3a2ea7412f4daed5cdd31fb7c4a32719">DomainSizeType</a> & </td> <td class="paramname"> <em>domainSize</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="9505e989b77358726b4b145e90984233"></a><!-- doxytag: member="itk::MultivariateLegendrePolynomial::~MultivariateLegendrePolynomial" ref="9505e989b77358726b4b145e90984233" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual itk::MultivariateLegendrePolynomial::~MultivariateLegendrePolynomial </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Destructor. </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="4d3ba9628efd6bd7ff39cdd1fa4f2870"></a><!-- doxytag: member="itk::MultivariateLegendrePolynomial::CalculateXCoef" ref="4d3ba9628efd6bd7ff39cdd1fa4f2870" args="(double norm_y, const CoefficientArrayType &coef)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void itk::MultivariateLegendrePolynomial::CalculateXCoef </td> <td>(</td> <td class="paramtype">double </td> <td class="paramname"> <em>norm_y</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#4bb3020dc722c489166aef3e9777d00b">CoefficientArrayType</a> & </td> <td class="paramname"> <em>coef</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> In the case which the bias field is 2D, it returns bias value at the point which is specified by the index <p>Referenced by <a class="el" href="itkMultivariateLegendrePolynomial_8h_source.html#l00149">Evaluate()</a>.</p> </div> </div><p> <a class="anchor" name="93c855aed7804dc7598399efd74c6f46"></a><!-- doxytag: member="itk::MultivariateLegendrePolynomial::CalculateYCoef" ref="93c855aed7804dc7598399efd74c6f46" args="(double norm_z, const CoefficientArrayType &coef)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void itk::MultivariateLegendrePolynomial::CalculateYCoef </td> <td>(</td> <td class="paramtype">double </td> <td class="paramname"> <em>norm_z</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#4bb3020dc722c489166aef3e9777d00b">CoefficientArrayType</a> & </td> <td class="paramname"> <em>coef</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> In the case which the bias field is 2D, it returns bias value at the point which is specified by the index <p>Referenced by <a class="el" href="itkMultivariateLegendrePolynomial_8h_source.html#l00149">Evaluate()</a>.</p> </div> </div><p> <a class="anchor" name="a85dfd3e2797bdd5888a90881def9be4"></a><!-- doxytag: member="itk::MultivariateLegendrePolynomial::Evaluate" ref="a85dfd3e2797bdd5888a90881def9be4" args="(IndexType &index)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">double itk::MultivariateLegendrePolynomial::Evaluate </td> <td>(</td> <td class="paramtype"><a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#46713156003c0630bb29c12ba2f927e6">IndexType</a> & </td> <td class="paramname"> <em>index</em> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> In the case which the bias field is 2D, it returns bias value at the point which is specified by the index <p>Definition at line <a class="el" href="itkMultivariateLegendrePolynomial_8h_source.html#l00149">149</a> of file <a class="el" href="itkMultivariateLegendrePolynomial_8h_source.html">itkMultivariateLegendrePolynomial.h</a>.</p> <p>References <a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#4d3ba9628efd6bd7ff39cdd1fa4f2870">CalculateXCoef()</a>, <a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#93c855aed7804dc7598399efd74c6f46">CalculateYCoef()</a>, and <a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#e7d781919662c3129289914faa4a442b">LegendreSum()</a>.</p> <p>Referenced by <a class="el" href="itkMultivariateLegendrePolynomial_8h_source.html#l00257">itk::MultivariateLegendrePolynomial::SimpleForwardIterator::Get()</a>.</p> </div> </div><p> <a class="anchor" name="d10d5f776b81df800e8c24ade8119139"></a><!-- doxytag: member="itk::MultivariateLegendrePolynomial::GetCoefficients" ref="d10d5f776b81df800e8c24ade8119139" args="(void) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#4bb3020dc722c489166aef3e9777d00b">CoefficientArrayType</a>& itk::MultivariateLegendrePolynomial::GetCoefficients </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"> </td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p> Gets Legendre polynomials' coefficients. <p> </div> </div><p> <a class="anchor" name="49057664b1ba8069298b9272515b5bbf"></a><!-- doxytag: member="itk::MultivariateLegendrePolynomial::GetDegree" ref="49057664b1ba8069298b9272515b5bbf" args="(void) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">unsigned int itk::MultivariateLegendrePolynomial::GetDegree </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Gets the degree (the degree of Legendre polynomials). <p>Definition at line <a class="el" href="itkMultivariateLegendrePolynomial_8h_source.html#l00104">104</a> of file <a class="el" href="itkMultivariateLegendrePolynomial_8h_source.html">itkMultivariateLegendrePolynomial.h</a>.</p> </div> </div><p> <a class="anchor" name="092c6de2b3e2f056360c6c418d5a863f"></a><!-- doxytag: member="itk::MultivariateLegendrePolynomial::GetDimension" ref="092c6de2b3e2f056360c6c418d5a863f" args="(void) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">unsigned int itk::MultivariateLegendrePolynomial::GetDimension </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Gets the dimension. <p>Definition at line <a class="el" href="itkMultivariateLegendrePolynomial_8h_source.html#l00100">100</a> of file <a class="el" href="itkMultivariateLegendrePolynomial_8h_source.html">itkMultivariateLegendrePolynomial.h</a>.</p> <p>Referenced by <a class="el" href="itkMultivariateLegendrePolynomial_8h_source.html#l00211">itk::MultivariateLegendrePolynomial::SimpleForwardIterator::SimpleForwardIterator()</a>.</p> </div> </div><p> <a class="anchor" name="df119045b8c3d872bb25cbe14527e193"></a><!-- doxytag: member="itk::MultivariateLegendrePolynomial::GetDomainSize" ref="df119045b8c3d872bb25cbe14527e193" args="(void) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#3a2ea7412f4daed5cdd31fb7c4a32719">DomainSizeType</a>& itk::MultivariateLegendrePolynomial::GetDomainSize </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Gets each dimesion's size. <p>Definition at line <a class="el" href="itkMultivariateLegendrePolynomial_8h_source.html#l00117">117</a> of file <a class="el" href="itkMultivariateLegendrePolynomial_8h_source.html">itkMultivariateLegendrePolynomial.h</a>.</p> <p>Referenced by <a class="el" href="itkMultivariateLegendrePolynomial_8h_source.html#l00211">itk::MultivariateLegendrePolynomial::SimpleForwardIterator::SimpleForwardIterator()</a>.</p> </div> </div><p> <a class="anchor" name="671bdf32ae01986a77a8bce24b6d84bc"></a><!-- doxytag: member="itk::MultivariateLegendrePolynomial::GetNumberOfCoefficients" ref="671bdf32ae01986a77a8bce24b6d84bc" args="(unsigned int dimension, unsigned int degree)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">unsigned int itk::MultivariateLegendrePolynomial::GetNumberOfCoefficients </td> <td>(</td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>dimension</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>degree</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Gets the number of coefficients. </div> </div><p> <a class="anchor" name="6ca7d385e85994babaf4f32a35f7ff12"></a><!-- doxytag: member="itk::MultivariateLegendrePolynomial::GetNumberOfCoefficients" ref="6ca7d385e85994babaf4f32a35f7ff12" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">unsigned int itk::MultivariateLegendrePolynomial::GetNumberOfCoefficients </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Gets the number of coefficients. </div> </div><p> <a class="anchor" name="159614efc8eb812d6377c4f9d2c77341"></a><!-- doxytag: member="itk::MultivariateLegendrePolynomial::GetNumberOfCoefficients" ref="159614efc8eb812d6377c4f9d2c77341" args="(void) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">unsigned int itk::MultivariateLegendrePolynomial::GetNumberOfCoefficients </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Returns the number of coefficients of the polynomial This number is computed from the degree of the polynomial the <a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#4f11905baffbb711e0059618044a80aa" title="Sets the Legendre polynomials' parameters.">SetCoefficients()</a> method expects an array of this size, an exception is thrown otherwise <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#4f11905baffbb711e0059618044a80aa" title="Sets the Legendre polynomials' parameters.">SetCoefficients</a> </dd></dl> <p>Definition at line <a class="el" href="itkMultivariateLegendrePolynomial_8h_source.html#l00113">113</a> of file <a class="el" href="itkMultivariateLegendrePolynomial_8h_source.html">itkMultivariateLegendrePolynomial.h</a>.</p> </div> </div><p> <a class="anchor" name="e7d781919662c3129289914faa4a442b"></a><!-- doxytag: member="itk::MultivariateLegendrePolynomial::LegendreSum" ref="e7d781919662c3129289914faa4a442b" args="(const double x, int n, const CoefficientArrayType &coef, int offset=0)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">double itk::MultivariateLegendrePolynomial::LegendreSum </td> <td>(</td> <td class="paramtype">const double </td> <td class="paramname"> <em>x</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>n</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#4bb3020dc722c489166aef3e9777d00b">CoefficientArrayType</a> & </td> <td class="paramname"> <em>coef</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>offset</em> = <code>0</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> In the case which the bias field is 2D, it returns bias value at the point which is specified by the index <p>Referenced by <a class="el" href="itkMultivariateLegendrePolynomial_8h_source.html#l00149">Evaluate()</a>.</p> </div> </div><p> <a class="anchor" name="a9bb738fabe4d4609a91e50f10d03649"></a><!-- doxytag: member="itk::MultivariateLegendrePolynomial::Print" ref="a9bb738fabe4d4609a91e50f10d03649" args="(std::ostream &os)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void itk::MultivariateLegendrePolynomial::Print </td> <td>(</td> <td class="paramtype">std::ostream & </td> <td class="paramname"> <em>os</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> In the case which the bias field is 2D, it returns bias value at the point which is specified by the index </div> </div><p> <a class="anchor" name="45c9447a18f4b5b1db9a6e7b48b173ee"></a><!-- doxytag: member="itk::MultivariateLegendrePolynomial::PrintSelf" ref="45c9447a18f4b5b1db9a6e7b48b173ee" args="(std::ostream &os, Indent indent) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void itk::MultivariateLegendrePolynomial::PrintSelf </td> <td>(</td> <td class="paramtype">std::ostream & </td> <td class="paramname"> <em>os</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classitk_1_1Indent.html">Indent</a> </td> <td class="paramname"> <em>indent</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td> const<code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> In the case which the bias field is 2D, it returns bias value at the point which is specified by the index </div> </div><p> <a class="anchor" name="6048da820627772b6288f20969c02722"></a><!-- doxytag: member="itk::MultivariateLegendrePolynomial::SetCoefficients" ref="6048da820627772b6288f20969c02722" args="(const ParametersType &coef)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void itk::MultivariateLegendrePolynomial::SetCoefficients </td> <td>(</td> <td class="paramtype">const <a class="el" href="classitk_1_1Array.html">ParametersType</a> & </td> <td class="paramname"> <em>coef</em> </td> <td> ) </td> <td> throw (<a class="el" href="classitk_1_1MultivariateLegendrePolynomial_1_1CoefficientVectorSizeMismatch.html">CoefficientVectorSizeMismatch</a>)</td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="4f11905baffbb711e0059618044a80aa"></a><!-- doxytag: member="itk::MultivariateLegendrePolynomial::SetCoefficients" ref="4f11905baffbb711e0059618044a80aa" args="(const CoefficientArrayType &coef)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void itk::MultivariateLegendrePolynomial::SetCoefficients </td> <td>(</td> <td class="paramtype">const <a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#4bb3020dc722c489166aef3e9777d00b">CoefficientArrayType</a> & </td> <td class="paramname"> <em>coef</em> </td> <td> ) </td> <td> throw (<a class="el" href="classitk_1_1MultivariateLegendrePolynomial_1_1CoefficientVectorSizeMismatch.html">CoefficientVectorSizeMismatch</a>)</td> </tr> </table> </div> <div class="memdoc"> <p> Sets the Legendre polynomials' parameters. <p> <dl class="warning" compact><dt><b>Warning:</b></dt><dd>The number of coefficients provided should match the number returned by <a class="el" href="classitk_1_1MultivariateLegendrePolynomial.html#159614efc8eb812d6377c4f9d2c77341">GetNumberOfCoefficients()</a> otherwise an exception is thrown. </dd></dl> </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="itkMultivariateLegendrePolynomial_8h_source.html">itkMultivariateLegendrePolynomial.h</a></ul> </div> <hr><address><small> Generated at Fri May 8 05:34:39 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>