|
OSSIM - Open Source Software Image Map
Version 1.9.0 (20180803)
|
#include <ossimPositionQualityEvaluator.h>
Public Member Functions | |
| ossimPositionQualityEvaluator () | |
| default constructor More... | |
| ossimPositionQualityEvaluator (const ossimEcefPoint &pt, const NEWMAT::Matrix &covMat) | |
| covariance matrix-based constructor More... | |
| ossimPositionQualityEvaluator (const ossimEcefPoint &pt, const ossim_float64 &errBiasLOS, const ossim_float64 &errRandLOS, const ossim_float64 &elevAngleLOS, const ossim_float64 &azimAngleLOS, const ossimColumnVector3d &surfN=ossimColumnVector3d(0, 0, 1), const NEWMAT::Matrix &surfCovMat=ossimMatrix3x3::createZero()) | |
| LOS error/geometry-based constructor. More... | |
| ossimPositionQualityEvaluator (const ossimEcefPoint &pt, const ossim_float64 &errBiasLOS, const ossim_float64 &errRandLOS, const pqeRPCModel &rpc, const ossimColumnVector3d &surfN=ossimColumnVector3d(0, 0, 1), const NEWMAT::Matrix &surfCovMat=ossimMatrix3x3::createZero()) | |
| LOS error/coefficient-based constructor. More... | |
| ~ossimPositionQualityEvaluator () | |
| virtual destructor More... | |
| bool | addContributingCovariance (NEWMAT::Matrix &covMat) |
| Add contributing covariance matrix. More... | |
| bool | addContributingCE_LE (const ossim_float64 &cCE, const ossim_float64 &cLE) |
| Add contributing CE/LE. More... | |
| bool | subtractContributingCovariance (NEWMAT::Matrix &covMat) |
| Subtract contributing covariance matrix. More... | |
| bool | subtractContributingCE_LE (const ossim_float64 &cCE, const ossim_float64 &cLE) |
| Subtract contributing CE/LE. More... | |
| bool | getCovMatrix (NEWMAT::Matrix &covMat) const |
| Covariance matrix access. More... | |
| bool | computeCE_LE (const pqeProbLev_t pLev, ossim_float64 &CE, ossim_float64 &LE) const |
| Compute circular/linear error (CE/LE). More... | |
| bool | extractErrorEllipse (const pqeProbLev_t pLev, pqeErrorEllipse &ellipse) |
| Extract error ellipse parameters. More... | |
| bool | extractErrorEllipse (const pqeProbLev_t pLev, const ossim_float64 &angularIncrement, pqeErrorEllipse &ellipse, pqeImageErrorEllipse_t &ellImage) |
| Extract error ellipse parameters; valid only with RPC parameters. More... | |
| bool | isValid () const |
| State accessor. More... | |
| std::ostream & | print (std::ostream &out) const |
| Print method. More... | |
Private Member Functions | |
| bool | decomposeMatrix () |
| bool | constructMatrix (const ossim_float64 &errBiasLOS, const ossim_float64 &errRandLOS, const ossim_float64 &elevAngleLOS, const ossim_float64 &azimAngleLOS, const ossimColumnVector3d &surfN, const NEWMAT::Matrix &surfCovMat) |
| bool | formCovMatrixFromCE_LE (const ossim_float64 &CE, const ossim_float64 &LE, NEWMAT::Matrix &covMat) const |
| double | compute90PCE () const |
| bool | computeElevAzim (const pqeRPCModel rpc, ossim_float64 &elevAngleLOS, ossim_float64 &azimAngleLOS) const |
| double | polynomial (const double &nlat, const double &nlon, const double &nhgt, const double *coeffs) const |
| double | dPoly_dLat (const double &nlat, const double &nlon, const double &nhgt, const double *coeffs) const |
| double | dPoly_dLon (const double &nlat, const double &nlon, const double &nhgt, const double *coeffs) const |
| double | dPoly_dHgt (const double &nlat, const double &nlon, const double &nhgt, const double *coeffs) const |
| ossimColumnVector3d | vperp (const ossimColumnVector3d &v1, const ossimColumnVector3d &v2) const |
| double | atan3 (const ossim_float64 y, const ossim_float64 x) const |
Private Attributes | |
| bool | theEvaluatorValid |
| ossimGpt | thePtG |
| NEWMAT::Matrix | theCovMat |
| ossimLsrSpace | theLocalFrame |
| pqeErrorEllipse | theEllipse |
| NEWMAT::Matrix | theEigenvectors |
| pqeRPCModel | theRpcModel |
Definition at line 67 of file ossimPositionQualityEvaluator.h.
| ossimPositionQualityEvaluator::ossimPositionQualityEvaluator | ( | ) |
default constructor
Definition at line 56 of file ossimPositionQualityEvaluator.cpp.
| ossimPositionQualityEvaluator::ossimPositionQualityEvaluator | ( | const ossimEcefPoint & | pt, |
| const NEWMAT::Matrix & | covMat | ||
| ) |
covariance matrix-based constructor
| pt | Current ECF ground estimate. |
| covMat | 3X3 ECF covariance matrix. |
Definition at line 80 of file ossimPositionQualityEvaluator.cpp.
| ossimPositionQualityEvaluator::ossimPositionQualityEvaluator | ( | const ossimEcefPoint & | pt, |
| const ossim_float64 & | errBiasLOS, | ||
| const ossim_float64 & | errRandLOS, | ||
| const ossim_float64 & | elevAngleLOS, | ||
| const ossim_float64 & | azimAngleLOS, | ||
| const ossimColumnVector3d & | surfN = ossimColumnVector3d(0,0,1), |
||
| const NEWMAT::Matrix & | surfCovMat = ossimMatrix3x3::createZero() |
||
| ) |
LOS error/geometry-based constructor.
| pt | Current ECF ground estimate. |
| errBiasLOS | 0.68p LOS bias component. |
| errRandLOS | 0.68p LOS random component. |
| elevAngleLOS | target elevation angle. |
| azimAngleLOS | target azimuth angle. |
| surfN | surface normal unit vector (defaults to unit Z). |
| surfCovMat | surface ENU 3X3 covariance matrix (defaults to zero). |
Definition at line 117 of file ossimPositionQualityEvaluator.cpp.
| ossimPositionQualityEvaluator::ossimPositionQualityEvaluator | ( | const ossimEcefPoint & | pt, |
| const ossim_float64 & | errBiasLOS, | ||
| const ossim_float64 & | errRandLOS, | ||
| const pqeRPCModel & | rpc, | ||
| const ossimColumnVector3d & | surfN = ossimColumnVector3d(0,0,1), |
||
| const NEWMAT::Matrix & | surfCovMat = ossimMatrix3x3::createZero() |
||
| ) |
LOS error/coefficient-based constructor.
| pt | Current ECF ground estimate. |
| errBiasLOS | 0.68p LOS bias component. |
| errRandLOS | 0.68p LOS random component. |
| rpc | RPC coefficients. |
| surfN | surface normal unit vector (defaults to unit Z). |
| surfCovMat | surface ENU 3X3 covariance matrix (defaults to zero). |
Definition at line 165 of file ossimPositionQualityEvaluator.cpp.
| ossimPositionQualityEvaluator::~ossimPositionQualityEvaluator | ( | ) |
virtual destructor
Definition at line 216 of file ossimPositionQualityEvaluator.cpp.
| bool ossimPositionQualityEvaluator::addContributingCE_LE | ( | const ossim_float64 & | cCE, |
| const ossim_float64 & | cLE | ||
| ) |
Add contributing CE/LE.
| cCE | contributing 90% circular error (m). |
| cLE | contributing 90% linear error (m). |
Definition at line 297 of file ossimPositionQualityEvaluator.cpp.
References addContributingCovariance(), and formCovMatrixFromCE_LE().
| bool ossimPositionQualityEvaluator::addContributingCovariance | ( | NEWMAT::Matrix & | covMat | ) |
Add contributing covariance matrix.
| covMat | 3X3 covariance matrix. |
Definition at line 274 of file ossimPositionQualityEvaluator.cpp.
References decomposeMatrix(), theCovMat, and theEvaluatorValid.
Referenced by addContributingCE_LE().
|
private |
Definition at line 989 of file ossimPositionQualityEvaluator.cpp.
References M_PI, ossim::sgn(), TWO_PI, x, and y.
|
private |
Definition at line 810 of file ossimPositionQualityEvaluator.cpp.
References nMultiplier, table90, theEllipse, pqeErrorEllipse::theSemiMajorAxis, and pqeErrorEllipse::theSemiMinorAxis.
Referenced by computeCE_LE().
| bool ossimPositionQualityEvaluator::computeCE_LE | ( | const pqeProbLev_t | pLev, |
| ossim_float64 & | CE, | ||
| ossim_float64 & | LE | ||
| ) | const |
Compute circular/linear error (CE/LE).
| pLev | Probability level. |
| CE | pLev% circular error (m). |
| LE | pLev% linear error (m). |
Definition at line 354 of file ossimPositionQualityEvaluator.cpp.
References compute90PCE(), Fac1D, Fac2D90, theCovMat, and theEvaluatorValid.
|
private |
Definition at line 841 of file ossimPositionQualityEvaluator.cpp.
References ossimGpt::datum(), DEG_PER_RAD, dPoly_dHgt(), dPoly_dLat(), dPoly_dLon(), ossimLsrSpace::ecefToLsrRotMatrix(), ossimDatum::ellipsoid(), ossimGpt::hgt, ossim::isnan(), ossimEllipsoid::jacobianWrtEcef(), ossimGpt::lat, ossimGpt::lon, polynomial(), pqeRPCModel::theHgtOffset, pqeRPCModel::theHgtScale, pqeRPCModel::theLatOffset, pqeRPCModel::theLatScale, pqeRPCModel::theLineDenCoef, pqeRPCModel::theLineNumCoef, pqeRPCModel::theLineScale, theLocalFrame, pqeRPCModel::theLonOffset, pqeRPCModel::theLonScale, thePtG, pqeRPCModel::theSampDenCoef, pqeRPCModel::theSampNumCoef, pqeRPCModel::theSampScale, ossimDpt::u, and ossimDpt::v.
|
private |
Definition at line 541 of file ossimPositionQualityEvaluator.cpp.
|
private |
Definition at line 500 of file ossimPositionQualityEvaluator.cpp.
References theCovMat.
Referenced by addContributingCovariance(), and subtractContributingCovariance().
|
private |
Definition at line 1122 of file ossimPositionQualityEvaluator.cpp.
References theRpcModel, and pqeRPCModel::theType.
Referenced by computeElevAzim().
|
private |
Definition at line 1065 of file ossimPositionQualityEvaluator.cpp.
References theRpcModel, and pqeRPCModel::theType.
Referenced by computeElevAzim().
|
private |
Definition at line 1094 of file ossimPositionQualityEvaluator.cpp.
References theRpcModel, and pqeRPCModel::theType.
Referenced by computeElevAzim().
| bool ossimPositionQualityEvaluator::extractErrorEllipse | ( | const pqeProbLev_t | pLev, |
| pqeErrorEllipse & | ellipse | ||
| ) |
Extract error ellipse parameters.
| pLev | Probability level. |
| ellipse | pLev% error ellipse. |
Definition at line 376 of file ossimPositionQualityEvaluator.cpp.
References Fac2D, pqeErrorEllipse::theAzimAngle, pqeErrorEllipse::theCenter, theEllipse, theEvaluatorValid, thePtG, pqeErrorEllipse::theSemiMajorAxis, and pqeErrorEllipse::theSemiMinorAxis.
Referenced by extractErrorEllipse().
| bool ossimPositionQualityEvaluator::extractErrorEllipse | ( | const pqeProbLev_t | pLev, |
| const ossim_float64 & | angularIncrement, | ||
| pqeErrorEllipse & | ellipse, | ||
| pqeImageErrorEllipse_t & | ellImage | ||
| ) |
Extract error ellipse parameters; valid only with RPC parameters.
| pLev | Probability level. |
| angularIncrement | Angular increment for ellipse point spacing (deg) |
| ellipse | pLev% error ellipse. |
| ellImage | pLev% image space error ellipse. |
Definition at line 404 of file ossimPositionQualityEvaluator.cpp.
References extractErrorEllipse(), ossimGpt::height(), ossim::isnan(), ossimGpt::latd(), ossimGpt::lond(), M_PI, polynomial(), pqeErrorEllipse::theAzimAngle, theEvaluatorValid, pqeRPCModel::theHgtOffset, pqeRPCModel::theHgtScale, pqeRPCModel::theLatOffset, pqeRPCModel::theLatScale, pqeRPCModel::theLineDenCoef, pqeRPCModel::theLineNumCoef, pqeRPCModel::theLineOffset, pqeRPCModel::theLineScale, theLocalFrame, pqeRPCModel::theLonOffset, pqeRPCModel::theLonScale, theRpcModel, pqeRPCModel::theSampDenCoef, pqeRPCModel::theSampNumCoef, pqeRPCModel::theSampOffset, pqeRPCModel::theSampScale, pqeErrorEllipse::theSemiMajorAxis, pqeErrorEllipse::theSemiMinorAxis, pqeRPCModel::theType, TWO_PI, x, and y.
|
private |
Definition at line 788 of file ossimPositionQualityEvaluator.cpp.
Referenced by addContributingCE_LE(), and subtractContributingCE_LE().
| bool ossimPositionQualityEvaluator::getCovMatrix | ( | NEWMAT::Matrix & | covMat | ) | const |
Covariance matrix access.
| covMat | 3X3 covariance matrix. |
Definition at line 256 of file ossimPositionQualityEvaluator.cpp.
References theCovMat, and theEvaluatorValid.
|
inline |
State accessor.
Definition at line 224 of file ossimPositionQualityEvaluator.h.
|
private |
Definition at line 1030 of file ossimPositionQualityEvaluator.cpp.
References theRpcModel, and pqeRPCModel::theType.
Referenced by computeElevAzim(), and extractErrorEllipse().
| std::ostream & ossimPositionQualityEvaluator::print | ( | std::ostream & | out | ) | const |
Print method.
Definition at line 230 of file ossimPositionQualityEvaluator.cpp.
References DEG_PER_RAD, pqeErrorEllipse::theAzimAngle, theCovMat, theEllipse, theEvaluatorValid, thePtG, pqeErrorEllipse::theSemiMajorAxis, and pqeErrorEllipse::theSemiMinorAxis.
| bool ossimPositionQualityEvaluator::subtractContributingCE_LE | ( | const ossim_float64 & | cCE, |
| const ossim_float64 & | cLE | ||
| ) |
Subtract contributing CE/LE.
| cCE | contributing 90% circular error (m). |
| cLE | contributing 90% linear error (m). |
Definition at line 337 of file ossimPositionQualityEvaluator.cpp.
References formCovMatrixFromCE_LE(), and subtractContributingCovariance().
| bool ossimPositionQualityEvaluator::subtractContributingCovariance | ( | NEWMAT::Matrix & | covMat | ) |
Subtract contributing covariance matrix.
| covMat | 3X3 covariance matrix. |
Definition at line 314 of file ossimPositionQualityEvaluator.cpp.
References decomposeMatrix(), theCovMat, and theEvaluatorValid.
Referenced by subtractContributingCE_LE().
|
private |
Definition at line 971 of file ossimPositionQualityEvaluator.cpp.
References ossimColumnVector3d::dot().
|
private |
Definition at line 240 of file ossimPositionQualityEvaluator.h.
Referenced by addContributingCovariance(), computeCE_LE(), decomposeMatrix(), getCovMatrix(), print(), and subtractContributingCovariance().
|
private |
Definition at line 243 of file ossimPositionQualityEvaluator.h.
|
private |
Definition at line 242 of file ossimPositionQualityEvaluator.h.
Referenced by compute90PCE(), extractErrorEllipse(), and print().
|
private |
Definition at line 238 of file ossimPositionQualityEvaluator.h.
Referenced by addContributingCovariance(), computeCE_LE(), extractErrorEllipse(), getCovMatrix(), print(), and subtractContributingCovariance().
|
private |
Definition at line 241 of file ossimPositionQualityEvaluator.h.
Referenced by computeElevAzim(), and extractErrorEllipse().
|
private |
Definition at line 239 of file ossimPositionQualityEvaluator.h.
Referenced by computeElevAzim(), extractErrorEllipse(), and print().
|
private |
Definition at line 244 of file ossimPositionQualityEvaluator.h.
Referenced by dPoly_dHgt(), dPoly_dLat(), dPoly_dLon(), extractErrorEllipse(), and polynomial().
1.8.14