isce3  0.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
Public Member Functions | Public Attributes | List of all members
isce3::core::Poly2d Class Reference

Data structure for representing 1D polynomials. More...

#include <Poly2d.h>

Public Member Functions

 Poly2d (int ro, int ao, double rm, double am, double rn, double an)
 Simple constructor. More...
 
 Poly2d ()
 Empty constructor.
 
 Poly2d (const Poly2d &p)
 Copy constructor. More...
 
Poly2doperator= (const Poly2d &)
 Assignment operator.
 
void setCoeff (int row, int col, double val)
 Set coefficient by indices. More...
 
double getCoeff (int row, int col) const
 Get coefficient by indices. More...
 
double eval (double azi, double rng) const
 Evaluate polynomial at given y,x. More...
 
void printPoly () const
 Printing for debugging.
 

Public Attributes

int rangeOrder
 Order of polynomial in range or x.
 
int azimuthOrder
 Order of polynomial in azimuth or y.
 
double rangeMean
 Mean in range or x direction.
 
double azimuthMean
 Mean in azimuth or y direction.
 
double rangeNorm
 Norm in range or x direction.
 
double azimuthNorm
 Norm in azimuth or y direction.
 
std::vector< double > coeffs
 Linearized vector of coefficients in row-major format.
 

Detailed Description

Data structure for representing 1D polynomials.

Poly2D is function of the form

\[ f\left( y, x \right) = \sum_{i=0}^{N_y} \sum_{j=0}^{N_x} a_{ij} \cdot \left( \frac{y-\mu_y}{\sigma_y} \right)^i \cdot \left( \frac{x-\mu_x}{\sigma_x} \right)^j \]

where \(a_ij\) represents the coefficients, \(\mu_x\) and \(\mu_y\) represent the means and \(\sigma_x\) and \(\sigma_y\) represent the norms

Constructor & Destructor Documentation

isce3::core::Poly2d::Poly2d ( int  ro,
int  ao,
double  rm,
double  am,
double  rn,
double  an 
)
inline

Simple constructor.

Parameters
[in]roRange Order
[in]aoAzimuth Order
[in]rmRange Mean
[in]amAzimuth Mean
[in]rnRange Norm
[in]anAzimuth Norm
isce3::core::Poly2d::Poly2d ( const Poly2d p)
inline

Copy constructor.

Parameters
[in]pPoly2D object

Member Function Documentation

double isce3::core::Poly2d::eval ( double  azi,
double  rng 
) const

Evaluate polynomial at given y,x.

Parameters
[in]aziazimuth or y value
[in]rngrange or x value
double isce3::core::Poly2d::getCoeff ( int  row,
int  col 
) const
inline

Get coefficient by indices.

Parameters
[in]rowazimuth/y index
[in]colrange/x index
void isce3::core::Poly2d::setCoeff ( int  row,
int  col,
double  val 
)
inline

Set coefficient by indices.

Parameters
[in]rowazimuth/y index
[in]colrange/x index
[in]valCoefficient value

The documentation for this class was generated from the following files:

Generated for ISCE3.0 by doxygen 1.8.5.