OSSIM - Open Source Software Image Map
Version 1.9.0 (20180803)
|
Special "sensor model" that provides a conventional map projection but with. More...
#include <ossimAdjMapModel.h>
Public Types | |
enum | AdjParamIndex { OFFSET_X = 0, OFFSET_Y, ROTATION, SCALE_X, SCALE_Y, NUM_ADJ_PARAMS } |
Enumeration for adjustable parameter positions in theAdjParams vector. More... | |
![]() | |
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 } |
Public Member Functions | |
ossimAdjMapModel () | |
Constructs to uninitialized state (needed by factory). More... | |
ossimAdjMapModel (ossimMapProjection *map_proj, const ossimIpt &image_size) | |
Constructs with map projection and image rectangle size. More... | |
ossimAdjMapModel (const ossimAdjMapModel ©_this) | |
Copy constructor. More... | |
ossimAdjMapModel (const ossimKeywordlist &kwl, const char *prefix) | |
Constructs given geom KWL. More... | |
ossimAdjMapModel (const ossimFilename &geom_filename) | |
Constructs given geom filename. More... | |
bool | initializeFromMap () |
Initializes base class data members after map model established. More... | |
virtual ossimObject * | dup () const |
Returns pointer to a new instance, copy of this. More... | |
virtual std::ostream & | print (std::ostream &out) const |
Extends base-class implementation. Dumps contents of object to ostream. More... | |
virtual bool | saveState (ossimKeywordlist &kwl, const char *prefix=0) const |
Fulfills ossimObject base-class pure virtuals. More... | |
virtual bool | loadState (const ossimKeywordlist &kwl, const char *prefix=0) |
Fulfills ossimObject base-class pure virtuals. More... | |
virtual void | lineSampleHeightToWorld (const ossimDpt &image_point, const double &heightEllipsoid, ossimGpt &worldPoint) const |
Overrides base class pure virtual. More... | |
virtual void | lineSampleToWorld (const ossimDpt &image_point, ossimGpt &worldPoint) const |
Overrides base class virtual. More... | |
virtual void | worldToLineSample (const ossimGpt &world_point, ossimDpt &image_point) const |
Rigorous inverse transform implented, overrides base-class' iterative. More... | |
virtual void | updateModel () |
Following a change to the adjustable parameter set, this virtual is. More... | |
virtual void | initAdjustableParameters () |
Initializes adjustable parameters to their default values. More... | |
virtual ossimDpt | getMetersPerPixel () const |
Fetches the GSD from the internal map projection. More... | |
virtual bool | useForward () const |
![]() | |
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 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... | |
virtual void | imagingRay (const ossimDpt &image_point, ossimEcefRay &image_ray) const |
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... | |
Static Public Member Functions | |
static void | writeGeomTemplate (ostream &os) |
Writes a template of geom keywords processed by loadState and saveState. More... | |
![]() | |
static void | writeGeomTemplate (ostream &os) |
Private Member Functions | |
virtual | ~ossimAdjMapModel () |
ground to image faster (you don't need DEM) More... | |
Private Attributes | |
ColumnVector | theAdjParams |
This is the vector of UNNORMALIZED, BIASED parameters as used in the model. More... | |
ossimRefPtr< ossimMapProjection > | theMapProjection |
double | theCosTheta |
double | theSinTheta |
Additional Inherited Members | |
![]() | |
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... | |
![]() | |
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 |
Special "sensor model" that provides a conventional map projection but with.
capability for adjusting the map x,y coordinates with offset, scale, and
Definition at line 39 of file ossimAdjMapModel.h.
Enumeration for adjustable parameter positions in theAdjParams vector.
Enumerator | |
---|---|
OFFSET_X | |
OFFSET_Y | |
ROTATION | |
SCALE_X | |
SCALE_Y | |
NUM_ADJ_PARAMS |
Definition at line 104 of file ossimAdjMapModel.h.
ossimAdjMapModel::ossimAdjMapModel | ( | ) |
Constructs to uninitialized state (needed by factory).
Definition at line 41 of file ossimAdjMapModel.cpp.
References initAdjustableParameters(), ossimErrorStatusInterface::theErrorStatus, and ossimSensorModel::theImageSize.
Referenced by dup().
ossimAdjMapModel::ossimAdjMapModel | ( | ossimMapProjection * | map_proj, |
const ossimIpt & | image_size | ||
) |
Constructs with map projection and image rectangle size.
Definition at line 58 of file ossimAdjMapModel.cpp.
References initAdjustableParameters(), initializeFromMap(), and ossimSensorModel::theImageSize.
ossimAdjMapModel::ossimAdjMapModel | ( | const ossimAdjMapModel & | copy_this | ) |
Copy constructor.
Definition at line 76 of file ossimAdjMapModel.cpp.
References theAdjParams.
ossimAdjMapModel::ossimAdjMapModel | ( | const ossimKeywordlist & | kwl, |
const char * | prefix | ||
) |
Constructs given geom KWL.
Constructs from Geom KWL.
Definition at line 90 of file ossimAdjMapModel.cpp.
References initAdjustableParameters(), and loadState().
ossimAdjMapModel::ossimAdjMapModel | ( | const ossimFilename & | geom_filename | ) |
Constructs given geom filename.
Constructs from Geom KWL.
Definition at line 108 of file ossimAdjMapModel.cpp.
References initAdjustableParameters(), and loadState().
|
privatevirtual |
ground to image faster (you don't need DEM)
Destructor.
Destructor only deletes the map projection.
Definition at line 142 of file ossimAdjMapModel.cpp.
References ColumnVector::CleanUp(), and theAdjParams.
|
virtual |
Returns pointer to a new instance, copy of this.
Implements ossimProjection.
Definition at line 426 of file ossimAdjMapModel.cpp.
References ossimAdjMapModel().
|
virtual |
Fetches the GSD from the internal map projection.
Reimplemented from ossimSensorModel.
Definition at line 416 of file ossimAdjMapModel.cpp.
References ossimMapProjection::getMetersPerPixel(), theMapProjection, and ossimRefPtr< T >::valid().
|
virtual |
Initializes adjustable parameters to their default values.
Overrides ossimAdjustableParameterInterface virtual method.
Reimplemented from ossimAdjustableParameterInterface.
Definition at line 151 of file ossimAdjMapModel.cpp.
References ossimAdjustableParameterInterface::newAdjustment(), NUM_ADJ_PARAMS, OFFSET_X, OFFSET_Y, ossimAdjustableParameterInterface::removeAllAdjustments(), ROTATION, SCALE_X, SCALE_Y, ossimAdjustableParameterInterface::setAdjustableParameter(), ossimAdjustableParameterInterface::setAdjustmentDescription(), ossimAdjustableParameterInterface::setParameterCenter(), ossimAdjustableParameterInterface::setParameterDescription(), and updateModel().
Referenced by ossimAdjMapModel().
bool ossimAdjMapModel::initializeFromMap | ( | ) |
Initializes base class data members after map model established.
Initializes base class data members after map model established. Returns TRUE if all's well.
Definition at line 124 of file ossimAdjMapModel.cpp.
References ossimMapProjection::getMetersPerPixel(), ossimMapProjection::origin(), ossimErrorStatusInterface::theErrorStatus, ossimSensorModel::theGSD, theMapProjection, ossimSensorModel::theMeanGSD, ossimSensorModel::theRefGndPt, ossimSensorModel::theSensorID, ossimDpt::x, and ossimDpt::y.
Referenced by ossimAdjMapModel().
|
virtual |
Overrides base class pure virtual.
Implements ossimSensorModel.
Definition at line 198 of file ossimAdjMapModel.cpp.
References ossimGpt::height(), ossimMapProjection::lineSampleHeightToWorld(), ossim::nan(), OFFSET_X, OFFSET_Y, SCALE_X, SCALE_Y, theAdjParams, theCosTheta, theMapProjection, theSinTheta, ossimDpt::x, x, ossimDpt::y, and y.
Referenced by lineSampleToWorld().
|
virtual |
Overrides base class virtual.
Reimplemented from ossimSensorModel.
Definition at line 226 of file ossimAdjMapModel.cpp.
References ossimGpt::hasNans(), and lineSampleHeightToWorld().
|
virtual |
Fulfills ossimObject base-class pure virtuals.
Loads geometry KWL files. Returns true if successful.
Reimplemented from ossimSensorModel.
Definition at line 292 of file ossimAdjMapModel.cpp.
References ossimString::chars(), ossimMapProjectionFactory::createProjection(), ossimKeywordlist::find(), ossimMapProjectionFactory::instance(), ossimString::size(), theMapProjection, ossimKeywordNames::TYPE_KW, and TYPE_NAME.
Referenced by ossimAdjMapModel().
|
virtual |
Extends base-class implementation. Dumps contents of object to ostream.
Reimplemented from ossimSensorModel.
Definition at line 403 of file ossimAdjMapModel.cpp.
References NUM_ADJ_PARAMS, and ossimSensorModel::print().
|
virtual |
Fulfills ossimObject base-class pure virtuals.
Loads and saves geometry KWL files. Returns true if successful.
Saves geometry KWL files. Returns true if successful.
Reimplemented from ossimSensorModel.
Definition at line 265 of file ossimAdjMapModel.cpp.
References ossimKeywordlist::add(), ossimString::chars(), NUM_ADJ_PARAMS, ossimMapProjection::saveState(), ossimSensorModel::saveState(), ossimString::size(), theMapProjection, ossimKeywordNames::TYPE_KW, and ossimRefPtr< T >::valid().
|
virtual |
Following a change to the adjustable parameter set, this virtual is.
Following a change to the adjustable parameter set, this virtual is called to permit instances to compute derived quantities after parameter change.
instances to compute derived quantities after parameter change.
Reimplemented from ossimSensorModel.
Definition at line 186 of file ossimAdjMapModel.cpp.
References ossimAdjustableParameterInterface::computeParameterOffset(), ossim::cosd(), NUM_ADJ_PARAMS, ROTATION, ossim::sind(), theAdjParams, theCosTheta, and theSinTheta.
Referenced by initAdjustableParameters().
|
inlinevirtual |
Implements ossimOptimizableProjection.
Definition at line 117 of file ossimAdjMapModel.h.
|
virtual |
Rigorous inverse transform implented, overrides base-class' iterative.
Rigorous inverse transform implented, overrides base-class' iterative solution.
Reimplemented from ossimSensorModel.
Definition at line 240 of file ossimAdjMapModel.cpp.
References ossim::nan(), OFFSET_X, OFFSET_Y, SCALE_X, SCALE_Y, theAdjParams, theCosTheta, theMapProjection, theSinTheta, ossimMapProjection::worldToLineSample(), ossimDpt::x, and ossimDpt::y.
|
static |
Writes a template of geom keywords processed by loadState and saveState.
Writes a template of geom keywords processed by loadState and saveState to output stream.
Definition at line 377 of file ossimAdjMapModel.cpp.
References ossimKeywordNames::TYPE_KW, and ossimSensorModel::writeGeomTemplate().
|
private |
This is the vector of UNNORMALIZED, BIASED parameters as used in the model.
The collection of normalized, 0-biased, parameters used in registration are found in the ossimAdjustableParameterInterface and related classes. The quantities here are computed given the base class quantities.
Definition at line 128 of file ossimAdjMapModel.h.
Referenced by lineSampleHeightToWorld(), ossimAdjMapModel(), updateModel(), worldToLineSample(), and ~ossimAdjMapModel().
|
private |
Definition at line 131 of file ossimAdjMapModel.h.
Referenced by lineSampleHeightToWorld(), updateModel(), and worldToLineSample().
|
private |
Definition at line 130 of file ossimAdjMapModel.h.
Referenced by getMetersPerPixel(), initializeFromMap(), lineSampleHeightToWorld(), loadState(), saveState(), and worldToLineSample().
|
private |
Definition at line 132 of file ossimAdjMapModel.h.
Referenced by lineSampleHeightToWorld(), updateModel(), and worldToLineSample().