Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itk::MultivariateLegendrePolynomial Class Reference

#include <itkMultivariateLegendrePolynomial.h>

Collaboration diagram for itk::MultivariateLegendrePolynomial:

Collaboration graph
[legend]
List of all members.

Public Types

typedef Array< double > DoubleArrayType
typedef Array< unsigned long > ULongArrayType
typedef Array< long > LongArrayType
typedef DoubleArrayType CoefficientArrayType
typedef DoubleArrayType ParametersType
typedef ULongArrayType DomainSizeType
typedef LongArrayType IndexType

Public Methods

 MultivariateLegendrePolynomial (unsigned int dimension, unsigned int degree, const DomainSizeType &domainSize)
virtual ~MultivariateLegendrePolynomial ()
void Initialize (void)
unsigned int GetDimension (void) const
unsigned int GetDegree (void) const
unsigned int GetNumberOfCoefficients (void) const
const DomainSizeTypeGetDomainSize (void) const
void SetCoefficients (const CoefficientArrayType &coef) throw (CoefficientVectorSizeMismatch)
const CoefficientArrayTypeGetCoefficients (void) const
double operator() (IndexType index)
unsigned int GetNumberOfCoefficients (void)
unsigned int GetNumberOfCoefficients (unsigned int dimension, unsigned int degree)

Protected Methods

double LegendreSum (const double x, int n, const CoefficientArrayType *coef, int offset=0)
void CalculateXCoef (double norm_y, const CoefficientArrayType *coef)
void CalculateYCoef (double norm_z, const CoefficientArrayType *coef)

Member Typedef Documentation

typedef DoubleArrayType itk::MultivariateLegendrePolynomial::CoefficientArrayType
 

Internal coefficient storage type.

Definition at line 79 of file itkMultivariateLegendrePolynomial.h.

typedef ULongArrayType itk::MultivariateLegendrePolynomial::DomainSizeType
 

The size of the domain.

Definition at line 86 of file itkMultivariateLegendrePolynomial.h.

typedef Array< double > itk::MultivariateLegendrePolynomial::DoubleArrayType
 

Legendre polynomial coefficients type.

Definition at line 74 of file itkMultivariateLegendrePolynomial.h.

typedef LongArrayType itk::MultivariateLegendrePolynomial::IndexType
 

Definition at line 87 of file itkMultivariateLegendrePolynomial.h.

typedef Array< long > itk::MultivariateLegendrePolynomial::LongArrayType
 

Definition at line 76 of file itkMultivariateLegendrePolynomial.h.

typedef DoubleArrayType itk::MultivariateLegendrePolynomial::ParametersType
 

Same as CoefficientArray This type definition will be used by EnergyFunction object.

Definition at line 83 of file itkMultivariateLegendrePolynomial.h.

typedef Array< unsigned long > itk::MultivariateLegendrePolynomial::ULongArrayType
 

Definition at line 75 of file itkMultivariateLegendrePolynomial.h.


Constructor & Destructor Documentation

itk::MultivariateLegendrePolynomial::MultivariateLegendrePolynomial unsigned int    dimension,
unsigned int    degree,
const DomainSizeType   domainSize
 

Constructor.

virtual itk::MultivariateLegendrePolynomial::~MultivariateLegendrePolynomial   [virtual]
 

Destructor.


Member Function Documentation

void itk::MultivariateLegendrePolynomial::CalculateXCoef double    norm_y,
const CoefficientArrayType   coef
[protected]
 

Referenced by operator()().

void itk::MultivariateLegendrePolynomial::CalculateYCoef double    norm_z,
const CoefficientArrayType   coef
[protected]
 

Referenced by operator()().

const CoefficientArrayType* itk::MultivariateLegendrePolynomial::GetCoefficients void    const
 

Gets Legendre polynomials' coefficients.

unsigned int itk::MultivariateLegendrePolynomial::GetDegree void    const [inline]
 

Gets the degree (the degree of Legendre polynomials).

Definition at line 109 of file itkMultivariateLegendrePolynomial.h.

unsigned int itk::MultivariateLegendrePolynomial::GetDimension void    const [inline]
 

Gets the dimension.

Definition at line 105 of file itkMultivariateLegendrePolynomial.h.

const DomainSizeType& itk::MultivariateLegendrePolynomial::GetDomainSize void    const [inline]
 

Gets each dimesion's size.

Definition at line 121 of file itkMultivariateLegendrePolynomial.h.

unsigned int itk::MultivariateLegendrePolynomial::GetNumberOfCoefficients unsigned int    dimension,
unsigned int    degree
 

Gets the number of coefficients.

unsigned int itk::MultivariateLegendrePolynomial::GetNumberOfCoefficients void   
 

Gets the number of coefficients.

unsigned int itk::MultivariateLegendrePolynomial::GetNumberOfCoefficients void    const [inline]
 

Returns the number of coefficients of the polynomial This number is computed from the degree of the polynomial the SetCoefficients() method expects an array of this size, an exception is thrown otherwise

See also:
SetCoefficients

Definition at line 117 of file itkMultivariateLegendrePolynomial.h.

void itk::MultivariateLegendrePolynomial::Initialize void   
 

Constructor calls this function. So there is no need to call separately. However, if you want to set parameters to zeros, call this. Allocates memory for the internal coefficients array and caches.

double itk::MultivariateLegendrePolynomial::LegendreSum const double    x,
int    n,
const CoefficientArrayType   coef,
int    offset = 0
[protected]
 

Referenced by operator()().

double itk::MultivariateLegendrePolynomial::operator() IndexType    index [inline]
 

In the case which the bias field is 2D, it returns bias value at the point which is specified by the index

Definition at line 150 of file itkMultivariateLegendrePolynomial.h.

References CalculateXCoef(), CalculateYCoef(), and LegendreSum().

void itk::MultivariateLegendrePolynomial::SetCoefficients const CoefficientArrayType   coef throw (CoefficientVectorSizeMismatch)
 

Sets the Legendre polynomials' parameters.

Warning:
The number of coefficients provided should match the number returned by GetNumberOfCoefficients() otherwise an exception is thrown.


The documentation for this class was generated from the following file:
Generated at Wed Mar 12 01:14:33 2003 for ITK by doxygen 1.2.15 written by Dimitri van Heesch, © 1997-2000