18 #ifndef __itkMultivariateLegendrePolynomial_h
19 #define __itkMultivariateLegendrePolynomial_h
163 *
static_cast< double >( index[1] - 1 );
171 *
static_cast< double >( index[0] - 1 );
181 *
static_cast< double >( index[2] - 1 );
190 *
static_cast< double >( index[1] - 1 );
197 *
static_cast< double >( index[0] - 1 );
231 for (
unsigned int dim = 0; dim <
m_Dimension; dim++ )
242 for (
unsigned int dim = 0; dim <
m_Dimension; dim++ )
251 if ( dim == m_Dimension - 1 )
276 void Print(std::ostream & os);
MultivariateLegendrePolynomial(unsigned int dimension, unsigned int degree, const DomainSizeType &domainSize)
DomainSizeType m_DomainSize
signed long IndexValueType
unsigned int GetDegree(void) const
MultivariateLegendrePolynomial * m_MultivariateLegendrePolynomial
DomainSizeType m_DomainSize
std::ostream & operator<<(std::ostream &os, const Array< TValue > &arr)
double Evaluate(IndexType &index)
void PrintSelf(std::ostream &os, Indent indent) const
Array< double > ParametersType
CoefficientArrayType m_CachedYCoef
MultivariateLegendrePolynomial Self
CoefficientArrayType m_CachedZCoef
SimpleForwardIterator(MultivariateLegendrePolynomial *polynomial)
unsigned int GetDimension(void) const
double LegendreSum(const double x, int n, const CoefficientArrayType &coef, int offset=0)
const DomainSizeType & GetDomainSize(void) const
2D and 3D multivariate Legendre Polynomial
CoefficientArrayType m_CoefficientArray
DoubleArrayType m_NormFactor
std::vector< unsigned long > ULongArrayType
void CalculateYCoef(double norm_z, const CoefficientArrayType &coef)
virtual ~MultivariateLegendrePolynomial()
std::vector< double > DoubleArrayType
void CalculateXCoef(double norm_y, const CoefficientArrayType &coef)
unsigned int m_NumberOfCoefficients
const CoefficientArrayType & GetCoefficients(void) const
Gets Legendre polynomials' coefficients.
unsigned int GetNumberOfCoefficients(void) const
CoefficientArrayType m_CachedXCoef
std::vector< long > LongArrayType
SimpleForwardIterator & operator++()
Control indentation during Print() invocation.
DoubleArrayType CoefficientArrayType
ULongArrayType DomainSizeType
void SetCoefficients(const CoefficientArrayType &coef)
Sets the Legendre polynomials' parameters.
Iterator which only supports forward iteration and Begin(), IsAtEnd(), and Get() method which work ju...
void Print(std::ostream &os)
CoefficientVectorSizeMismatch(int given, int required)