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