OSSIM - Open Source Software Image Map
Version 1.9.0 (20180803)
|
#include <ossimRsmModel.h>
Public Member Functions | |
ossimRsmModel () | |
default constructor More... | |
ossimRsmModel (const ossimRsmModel &obj) | |
copy constructor More... | |
const ossimRsmModel & | operator= (const ossimRsmModel &rhs) |
assignment operator More... | |
virtual void | worldToLineSample (const ossimGpt &world_point, ossimDpt &image_point) const |
worldToLineSample() Overrides base class implementation. More... | |
virtual void | lineSampleToWorld (const ossimDpt &image_point, ossimGpt &world_point) const |
lineSampleToWorld() Overrides base class pure virtual. More... | |
virtual void | lineSampleHeightToWorld (const ossimDpt &image_point, const double &heightEllipsoid, ossimGpt &worldPoint) const |
lineSampleHeightToWorld() Overrides base class pure virtual. More... | |
virtual void | imagingRay (const ossimDpt &image_point, ossimEcefRay &image_ray) const |
imagingRay() Overrides base class pure virtual. More... | |
virtual void | updateModel () |
virtual void | initAdjustableParameters () |
virtual ossimObject * | dup () const |
dup() Returns pointer to a new instance, copy of this. More... | |
virtual bool | useForward () const |
virtual std::ostream & | print (std::ostream &out) const |
print() Extends base-class implementation. More... | |
virtual bool | saveState (ossimKeywordlist &kwl, const char *prefix=0) const |
saveState Fulfills ossimObject base-class pure virtuals. More... | |
virtual bool | loadState (const ossimKeywordlist &kwl, const char *prefix=0) |
loadState Fulfills ossimObject base-class pure virtuals. More... | |
![]() | |
ossimSensorModel () | |
ossimSensorModel (const ossimSensorModel ©_this) | |
ossimSensorModel (const ossimKeywordlist &geom_kwl) | |
const ossimSensorModel & | operator= (const ossimSensorModel &rhs) |
assignment operator More... | |
virtual ossimObject * | getBaseObject () |
virtual const ossimObject * | getBaseObject () const |
virtual ossimGpt | origin () const |
virtual ossimDpt | getMetersPerPixel () const |
virtual const double & | getNominalPosError () const |
Returns the estimated Absolute horizontal position error (CE90) of the sensor model. More... | |
virtual const double & | getRelativePosError () const |
Returns the estimated RELATIVE horizontal position error (CE90) of the sensor model. More... | |
virtual void | setNominalPosError (const double &ce90) |
Assigns the absolute image position error uncertainty (abs CE90) More... | |
virtual void | setRelativePosError (const double &ce90) |
Assigns the relative image position error uncertainty (rel CE90) More... | |
void | setRefImgPt (const ossimDpt &pt) |
Sets the center line sampe of the image. More... | |
void | setRefGndPt (const ossimGpt &pt) |
Sets the center latitude, longitude, height of the image. More... | |
void | setImageRect (const ossimDrect &imageRect) |
void | setGroundRect (const ossimGpt &ul, const ossimGpt &ur, const ossimGpt &lr, const ossimGpt &ll) |
ossimDpt | imageSize () const |
void | setImageSize (const ossimDpt &size) |
virtual void | adjustableParametersChanged () |
virtual bool | insideImage (const ossimDpt &p) const |
virtual bool | operator== (const ossimProjection &proj) const |
const ossimString & | getImageID () const |
Access methods: More... | |
const ossimDrect & | getImageClipRect () const |
virtual ossim_uint32 | degreesOfFreedom () const |
virtual bool | needsInitialState () const |
needsInitialState() More... | |
virtual double | optimizeFit (const ossimTieGptSet &tieSet, double *targetVariance=0) |
virtual ossimDpt | getForwardDeriv (int parmIdx, const ossimGpt &gpos, double hdelta=1e-11) |
virtual ossimGpt | getInverseDeriv (int parmIdx, const ossimDpt &ipos, double hdelta=1e-11) |
virtual ossimSensorModel::CovMatStatus | getObsCovMat (const ossimDpt &ipos, NEWMAT::SymmetricMatrix &Cov, const ossim_float64 defPointingSigma=0.5) const |
Gives 2X2 covariance matrix of observations. More... | |
virtual bool | isAffectedByElevation () const |
Implementation of pure virtual ossimProjection::isAffectedByElevation method. More... | |
void | computeGsd () |
This method computes the ground sample distance(gsd) and sets class attributes theGSD and theMeanGSD by doing a lineSampleHeightToWorld on four points and calculating the distance from them. More... | |
virtual bool | getImageGeometry (const ossimString &, const ossimString &, ossimKeywordlist &) const |
Extracts geometry info from a non-ossim key,value pair to an ossim keyword list. More... | |
![]() | |
ossimProjection () | |
virtual | ~ossimProjection () |
virtual ossimDpt | forward (const ossimGpt &wp) const |
virtual ossimGpt | inverse (const ossimDpt &pp) const |
virtual void | getRoundTripError (const ossimDpt &imagePoint, ossimDpt &errorResult) const |
virtual void | getRoundTripError (const ossimGpt &groundPoint, ossimDpt &errorResult) const |
virtual void | getGroundClipPoints (ossimGeoPolygon &gpts) const |
virtual bool | isEqualTo (const ossimObject &obj, ossimCompareType compareType=OSSIM_COMPARE_FULL) const |
virtual bool | operator!= (const ossimProjection &projection) const |
![]() | |
ossimObject () | |
virtual | ~ossimObject () |
virtual ossimString | getShortName () const |
virtual ossimString | getLongName () const |
virtual ossimString | getDescription () const |
virtual ossimString | getClassName () const |
virtual RTTItypeid | getType () const |
virtual bool | canCastTo (ossimObject *obj) const |
virtual bool | canCastTo (const RTTItypeid &id) const |
virtual bool | canCastTo (const ossimString &parentClassName) const |
virtual void | accept (ossimVisitor &visitor) |
![]() | |
ossimReferenced () | |
ossimReferenced (const ossimReferenced &) | |
ossimReferenced & | operator= (const ossimReferenced &) |
void | ref () const |
increment the reference count by one, indicating that this object has another pointer which is referencing it. More... | |
void | unref () const |
decrement the reference count by one, indicating that a pointer to this object is referencing it. More... | |
void | unref_nodelete () const |
decrement the reference count by one, indicating that a pointer to this object is referencing it. More... | |
int | referenceCount () const |
![]() | |
ossimErrorStatusInterface () | |
virtual | ~ossimErrorStatusInterface () |
virtual ossimErrorCode | getErrorStatus () const |
virtual ossimString | getErrorStatusString () const |
virtual void | setErrorStatus (ossimErrorCode error_status) const |
virtual void | setErrorStatus () const |
virtual void | clearErrorStatus () const |
bool | hasError () const |
![]() | |
ossimOptimizableProjection () | |
ossimOptimizableProjection (const ossimOptimizableProjection &source) | |
virtual | ~ossimOptimizableProjection () |
virtual ossimOptimizableProjection & | operator= (const ossimOptimizableProjection &source) |
virtual bool | setupOptimizer (const ossimString &setup) |
setupFromString() Derived classes should implement as needed. Initialize parameters needed for optimizeFit and degreesOfFreedom More... | |
![]() | |
ossimAdjustableParameterInterface () | |
ossimAdjustableParameterInterface (const ossimAdjustableParameterInterface &rhs) | |
virtual | ~ossimAdjustableParameterInterface () |
void | newAdjustment (ossim_uint32 numberOfParameters=0) |
void | setAdjustmentDescription (const ossimString &description) |
ossimString | getAdjustmentDescription () const |
ossimString | getAdjustmentDescription (ossim_uint32 adjustmentIdx) const |
Returns adjustmentDescription of specific adjustmentInfo. More... | |
void | setCurrentAdjustment (ossim_uint32 adjustmentIndex, bool notify=false) |
bool | setCurrentAdjustment (const ossimString &description, bool notify=false) |
Sets the current adjustment to the adjustment with a matching description. More... | |
void | eraseAdjustment (bool notify) |
void | eraseAdjustment (ossim_uint32 idx, bool notify) |
void | resetAdjustableParameters (bool notify=false) |
void | copyAdjustment (ossim_uint32 idx, bool notify) |
void | copyAdjustment (bool notify=false) |
void | keepAdjustment (ossim_uint32 idx, bool createCopy) |
virtual void | keepAdjustment (bool createCopy=true) |
const ossimAdjustableParameterInterface & | operator= (const ossimAdjustableParameterInterface &rhs) |
void | removeAllAdjustments () |
ossim_uint32 | getNumberOfAdjustableParameters () const |
double | getAdjustableParameter (ossim_uint32 idx) const |
virtual void | setAdjustableParameter (ossim_uint32 idx, double value, bool notify=false) |
virtual void | setAdjustableParameter (ossim_uint32 idx, double value, double sigma, bool notify=false) |
double | getParameterSigma (ossim_uint32 idx) const |
void | setParameterSigma (ossim_uint32 idx, double value, bool notify=false) |
ossimUnitType | getParameterUnit (ossim_uint32 idx) const |
void | setParameterUnit (ossim_uint32 idx, ossimUnitType unit) |
void | setParameterUnit (ossim_uint32 idx, const ossimString &unit) |
void | setParameterCenter (ossim_uint32 idx, double center, bool notify=false) |
double | getParameterCenter (ossim_uint32 idx) const |
double | computeParameterOffset (ossim_uint32 idx) const |
void | setParameterOffset (ossim_uint32 idx, ossim_float64 value, bool notify=false) |
ossimString | getParameterDescription (ossim_uint32 idx) const |
void | setParameterDescription (ossim_uint32 idx, const ossimString &descrption) |
ossim_int32 | findParameterIdxGivenDescription (ossim_uint32 adjustmentIdx, const ossimString &name) const |
ossim_int32 | findParameterIdxContainingDescription (ossim_uint32 adjustmentIdx, const ossimString &name) const |
bool | isParameterLocked (ossim_uint32 idx) const |
void | setParameterLockFlag (ossim_uint32 idxParam, bool flag) |
bool | getParameterLockFlag (ossim_uint32 idx) const |
void | lockAllParametersCurrentAdjustment () |
void | unlockAllParametersCurrentAdjustment () |
void | lockAllParameters (ossim_uint32 idxAdjustment) |
void | unlockAllParameters (ossim_uint32 idxAdjustment) |
void | resizeAdjustableParameterArray (ossim_uint32 numberOfParameters) |
void | setAdjustment (const ossimAdjustmentInfo &adj, bool notify=false) |
void | setAdjustment (ossim_uint32 idx, const ossimAdjustmentInfo &adj, bool notify=false) |
void | addAdjustment (const ossimAdjustmentInfo &adj, bool notify) |
void | getAdjustment (ossimAdjustmentInfo &adj) const |
void | getAdjustment (ossim_uint32 idx, ossimAdjustmentInfo &adj) const |
ossim_uint32 | getNumberOfAdjustments () const |
ossim_uint32 | getCurrentAdjustmentIdx () const |
void | setDirtyFlag (bool flag=true) |
void | setAllDirtyFlag (bool flag=true) |
bool | hasDirtyAdjustments () const |
virtual void | saveCurrentAdjustmentOnly (ossimKeywordlist &kwl, const ossimString &prefix=ossimString("")) |
Saves the current active adjustment to the KWL file. More... | |
bool | saveAdjustments (ossimKeywordlist &kwl, const ossimString &prefix=ossimString("")) const |
Save all adjustments to the KWL file. More... | |
bool | loadAdjustments (const ossimKeywordlist &kwl, const ossimString &prefix=ossimString("")) |
std::ostream & | print (std::ostream &out) const |
Dumps the currently active adjustment to ostream. More... | |
Protected Member Functions | |
ossim_uint32 | getPcaIndex (const double &x, const double &y, const double &z) const |
Gets index into RSM Polynomial Coefficients(rsmpca) container array for a given ground point. More... | |
ossim_uint32 | getPcaIndex (const ossimDpt &ipt, bool shiftPoint) const |
Gets index into RSM Polynomial Coefficients(rsmpca) container array for a given image point. More... | |
void | lowOrderPolynomial (const double &x, const double &y, const double &z, ossimDpt &ipt) const |
Gets index into RSM Polynomial Coefficients(rsmpca) container array for a given ground point. More... | |
double | polynomial (const double &x, const double &y, const double &z, const ossim_uint32 &maxx, const ossim_uint32 &maxy, const ossim_uint32 &maxz, std::vector< double > pcf) const |
double | dPoly_dLat (const double &x, const double &y, const double &z, const ossim_uint32 &maxx, const ossim_uint32 &maxy, const ossim_uint32 &maxz, std::vector< double > pcf) const |
double | dPoly_dLon (const double &x, const double &y, const double &z, const ossim_uint32 &maxx, const ossim_uint32 &maxy, const ossim_uint32 &maxz, std::vector< double > pcf) const |
double | dPoly_dHgt (const double &x, const double &y, const double &z, const ossim_uint32 &maxx, const ossim_uint32 &maxy, const ossim_uint32 &maxz, std::vector< double > pcf) const |
bool | validate () const |
Performs sanity check on key/required rsm data. More... | |
virtual | ~ossimRsmModel () |
virtual destructor More... | |
![]() | |
virtual | ~ossimSensorModel () |
virtual ossimDpt | extrapolate (const ossimGpt &gp) const |
virtual ossimGpt | extrapolate (const ossimDpt &ip, const double &height=ossim::nan()) const |
void | buildNormalEquation (const ossimTieGptSet &tieSet, NEWMAT::SymmetricMatrix &A, NEWMAT::ColumnVector &residue, NEWMAT::ColumnVector &projResidue, double pstep_scale) |
NEWMAT::ColumnVector | getResidue (const ossimTieGptSet &tieSet) |
NEWMAT::ColumnVector | solveLeastSquares (NEWMAT::SymmetricMatrix &A, NEWMAT::ColumnVector &r) const |
NEWMAT::Matrix | invert (const NEWMAT::Matrix &m) const |
stable invert stolen from ossimRpcSolver More... | |
![]() | |
virtual | ~ossimReferenced () |
![]() | |
bool | paramChanged (ossim_uint32 param_idx) const |
Returns true if specified parameter has been modified since last setAllChangeFlag(false) call. More... | |
void | setAllChangeFlags (bool areChanged) |
Sets all the change flags to the boolean indicated to indicate parameters are changed (TRUE) or not (FALSE). More... | |
void | initChangeFlags () |
Initializes the change flags to TRUE. More... | |
Protected Attributes | |
ossimRsmida | m_ida |
ossimRsmpia | m_pia |
std::vector< ossimRsmpca > | m_pca |
![]() | |
ossimIpt | theImageSize |
ossimDpt | theSubImageOffset |
ossimString | theImageID |
ossimString | theSensorID |
ossimDpt | theGSD |
ossim_float64 | theMeanGSD |
ossimGpt | theRefGndPt |
ossimDpt | theRefImgPt |
ossimPolygon | theBoundGndPolygon |
ossimDrect | theImageClipRect |
ossim_float64 | theRelPosError |
ossim_float64 | theNominalPosError |
ossimDpt | theParWRTx |
Partials for current point. More... | |
ossimDpt | theParWRTy |
ossimDpt | theParWRTz |
ossimDpt | theObs |
Observations & residuals for current point. More... | |
ossimDpt | theResid |
ossimRefPtr< ossimProjection > | theSeedFunction |
Used as an initial guess for iterative solutions and a guess for points outside the support bounds. More... | |
bool | theExtrapolateImageFlag |
bool | theExtrapolateGroundFlag |
![]() | |
ossimErrorCode | theErrorStatus |
Additional Inherited Members | |
![]() | |
enum | CovMatStatus { COV_INVALID = 0, COV_PARTIAL = 1, COV_FULL = 2 } |
enum | DeriveMode { OBS_INIT =-99, EVALUATE =-98, P_WRT_X = -1, P_WRT_Y = -2, P_WRT_Z = -3 } |
![]() | |
static void | writeGeomTemplate (ostream &os) |
Definition at line 17 of file ossimRsmModel.h.
ossimRsmModel::ossimRsmModel | ( | ) |
default constructor
Definition at line 41 of file ossimRsmModel.cpp.
References initAdjustableParameters().
Referenced by dup().
ossimRsmModel::ossimRsmModel | ( | const ossimRsmModel & | obj | ) |
|
protectedvirtual |
|
protected |
Definition at line 643 of file ossimRsmModel.cpp.
|
protected |
|
protected |
|
virtual |
dup() Returns pointer to a new instance, copy of this.
Implements ossimProjection.
Reimplemented in ossimNitfRsmModel.
Definition at line 397 of file ossimRsmModel.cpp.
References ossimRsmModel().
|
protected |
Gets index into RSM Polynomial Coefficients(rsmpca) container array for a given ground point.
x | Longitude in radians. |
y | Latitude, in radians. |
z | Height in meters. |
Definition at line 521 of file ossimRsmModel.cpp.
References lowOrderPolynomial(), x, and y.
Referenced by imagingRay(), lineSampleHeightToWorld(), and worldToLineSample().
|
protected |
Gets index into RSM Polynomial Coefficients(rsmpca) container array for a given image point.
ipt | Image line, sample. |
shiftPoint | If true ipt is shifted +0.5 to go from ossim space(0 is center of pixel) to RSM space(0 is upper left of pixel). If false point is coming from rsm space and does not need to be shifted. |
Definition at line 529 of file ossimRsmModel.cpp.
References ossimRsmpia::m_cnis, ossimRsmpia::m_cssiz, m_ida, ossimRsmida::m_minc, ossimRsmida::m_minr, m_pia, ossimRsmpia::m_rnis, ossimRsmpia::m_rssiz, ossimDpt::x, and ossimDpt::y.
|
virtual |
imagingRay() Overrides base class pure virtual.
Reimplemented from ossimSensorModel.
Definition at line 356 of file ossimRsmModel.cpp.
References getPcaIndex(), lineSampleHeightToWorld(), and m_pca.
Referenced by lineSampleToWorld().
|
virtual |
Reimplemented from ossimAdjustableParameterInterface.
Definition at line 393 of file ossimRsmModel.cpp.
Referenced by ossimRsmModel().
|
virtual |
lineSampleHeightToWorld() Overrides base class pure virtual.
Height understood to be relative to standard ellipsoid.
Implements ossimSensorModel.
Definition at line 198 of file ossimRsmModel.cpp.
References dPoly_dLat(), dPoly_dLon(), getPcaIndex(), ossimGpt::hgt, ossim::isnan(), ossimGpt::lat, ossimGpt::lon, m_pca, ossimNotify(), ossimNotifyLevel_WARN, polynomial(), ossim::radiansToDegrees(), ossimGpt::wrap(), ossimDpt::x, and ossimDpt::y.
Referenced by imagingRay().
|
virtual |
lineSampleToWorld() Overrides base class pure virtual.
Intersects DEM.
Reimplemented from ossimSensorModel.
Definition at line 167 of file ossimRsmModel.cpp.
References ossimDpt::hasNans(), imagingRay(), ossimElevManager::instance(), ossimElevSource::intersectRay(), ossimGpt::makeNan(), ossimDpt::x, and ossimDpt::y.
|
virtual |
loadState Fulfills ossimObject base-class pure virtuals.
Loads and saves geometry KWL files. Returns true if successful.
Reimplemented from ossimSensorModel.
Reimplemented in ossimNitfRsmModel.
Definition at line 454 of file ossimRsmModel.cpp.
|
protected |
Gets index into RSM Polynomial Coefficients(rsmpca) container array for a given ground point.
x | Longitude in radians. |
y | Latitude, in radians. |
z | Height in meters. ipt Initialized by this. |
Definition at line 563 of file ossimRsmModel.cpp.
References ossimRsmpia::m_c0, ossimRsmpia::m_cx, ossimRsmpia::m_cxx, ossimRsmpia::m_cxy, ossimRsmpia::m_cxz, ossimRsmpia::m_cy, ossimRsmpia::m_cyy, ossimRsmpia::m_cyz, ossimRsmpia::m_cz, ossimRsmpia::m_czz, m_pia, ossimRsmpia::m_r0, ossimRsmpia::m_rx, ossimRsmpia::m_rxx, ossimRsmpia::m_rxy, ossimRsmpia::m_rxz, ossimRsmpia::m_ry, ossimRsmpia::m_ryy, ossimRsmpia::m_ryz, ossimRsmpia::m_rz, ossimRsmpia::m_rzz, ossimDpt::x, x, ossimDpt::y, and y.
Referenced by getPcaIndex().
const ossimRsmModel & ossimRsmModel::operator= | ( | const ossimRsmModel & | rhs | ) |
assignment operator
Definition at line 62 of file ossimRsmModel.cpp.
References m_ida, m_pca, m_pia, and ossimSensorModel::operator=().
Referenced by ossimNitfRsmModel::operator=().
|
protected |
Definition at line 575 of file ossimRsmModel.cpp.
Referenced by lineSampleHeightToWorld(), and worldToLineSample().
|
virtual |
print() Extends base-class implementation.
Dumps contents of object to ostream.
Reimplemented from ossimSensorModel.
Definition at line 407 of file ossimRsmModel.cpp.
References saveState().
|
virtual |
saveState Fulfills ossimObject base-class pure virtuals.
Loads and saves geometry KWL files. Returns true if successful.
Reimplemented from ossimSensorModel.
Reimplemented in ossimNitfRsmModel.
Definition at line 416 of file ossimRsmModel.cpp.
Referenced by print().
|
virtual |
VIRTUAL METHOD: updateModel() Following a change to the adjustable parameter set, this virtual is called to permit instances to compute derived quantities after parameter change.
Reimplemented from ossimSensorModel.
Definition at line 389 of file ossimRsmModel.cpp.
|
inlinevirtual |
useForward() return true when it's better (more accurate / fast) to use forward (from ground to image) than inverse(from image to ground)
Implements ossimOptimizableProjection.
Definition at line 70 of file ossimRsmModel.h.
|
protected |
Performs sanity check on key/required rsm data.
Definition at line 667 of file ossimRsmModel.cpp.
References ossimRsmpia::m_cssiz, ossimRsmida::m_grndd, m_ida, m_pca, m_pia, ossimRsmpia::m_rnis, ossimRsmpia::m_rssiz, ossimRsmpia::m_tnis, ossimNotify(), ossimNotifyLevel_WARN, and status.
|
virtual |
worldToLineSample() Overrides base class implementation.
Directly computes line-sample from the polynomials.
Reimplemented from ossimSensorModel.
Definition at line 84 of file ossimRsmModel.cpp.
References ossim::degreesToRadians(), getPcaIndex(), ossimGpt::hgt, ossimGpt::isHgtNan(), ossimGpt::isLatNan(), ossimGpt::isLonNan(), ossim::isnan(), ossimGpt::lat, ossimDpt::line, ossimGpt::lon, ossimRsmida::m_grndd, m_ida, m_pca, ossimDpt::makeNan(), polynomial(), ossimDpt::samp, x, and y.
|
protected |
Definition at line 165 of file ossimRsmModel.h.
Referenced by getPcaIndex(), operator=(), validate(), and worldToLineSample().
|
protected |
Definition at line 167 of file ossimRsmModel.h.
Referenced by imagingRay(), lineSampleHeightToWorld(), operator=(), validate(), and worldToLineSample().
|
protected |
Definition at line 166 of file ossimRsmModel.h.
Referenced by getPcaIndex(), lowOrderPolynomial(), operator=(), and validate().