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... | |
Poly2d & | operator= (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. | |
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
|
inline |
Simple constructor.
[in] | ro | Range Order |
[in] | ao | Azimuth Order |
[in] | rm | Range Mean |
[in] | am | Azimuth Mean |
[in] | rn | Range Norm |
[in] | an | Azimuth Norm |
|
inline |
Copy constructor.
[in] | p | Poly2D object |
double isce3::core::Poly2d::eval | ( | double | azi, |
double | rng | ||
) | const |
Evaluate polynomial at given y,x.
[in] | azi | azimuth or y value |
[in] | rng | range or x value |
|
inline |
Get coefficient by indices.
[in] | row | azimuth/y index |
[in] | col | range/x index |
|
inline |
Set coefficient by indices.
[in] | row | azimuth/y index |
[in] | col | range/x index |
[in] | val | Coefficient value |