isce3 0.25.0
Loading...
Searching...
No Matches
Poly2d Class Reference

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

#include <Poly2d.h>

Public Member Functions

 Poly2d (int xo, int yo, double xm, double ym, double xn, double yn)
 Simple constructor.
 
 Poly2d ()
 Empty constructor.
 
 Poly2d (const Poly2d &p)
 Copy constructor.
 
Poly2doperator= (const Poly2d &)
 Assignment operator.
 
void setCoeff (int row, int col, double val)
 Set coefficient by indices.
 
double getCoeff (int row, int col) const
 Get coefficient by indices.
 
double eval (double y, double x) const
 Evaluate polynomial at given y/azimuth/row ,x/range/col.
 
void printPoly () const
 Printing for debugging.
 

Public Attributes

int xOrder
 Order of polynomial in range or x.
 
int yOrder
 Order of polynomial in azimuth or y.
 
double xMean
 Mean in range or x direction.
 
double yMean
 Mean in azimuth or y direction.
 
double xNorm
 Norm in range or x direction.
 
double yNorm
 Norm in azimuth or y direction.
 
std::vector< double > coeffs
 Linearized vector of coefficients in row-major format.
 

Detailed Description

Data structure for representing 2D 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

◆ Poly2d() [1/2]

isce3::core::Poly2d::Poly2d ( int xo,
int yo,
double xm,
double ym,
double xn,
double yn )
inline

Simple constructor.

Parameters
[in]xox/Range Order
[in]yoy/Azimuth Order
[in]xmx/Range Mean
[in]ymy/Azimuth Mean
[in]xnx/Range Norm
[in]yny/Azimuth Norm

◆ Poly2d() [2/2]

isce3::core::Poly2d::Poly2d ( const Poly2d & p)
inline

Copy constructor.

Parameters
[in]pPoly2D object

Member Function Documentation

◆ eval()

double isce3::core::Poly2d::eval ( double y,
double x ) const

Evaluate polynomial at given y/azimuth/row ,x/range/col.

Parameters
[in]aziazimuth or y value
[in]rngrange or x value

◆ getCoeff()

double isce3::core::Poly2d::getCoeff ( int row,
int col ) const
inline

Get coefficient by indices.

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

◆ setCoeff()

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.13.2.