OSSIM - Open Source Software Image Map
Version 1.9.0 (20180803)
|
#include <ossimPpjFrameSensor.h>
Public Member Functions | |
ossimPpjFrameSensor () | |
ossimPpjFrameSensor (const ossimPpjFrameSensor &src) | |
virtual ossimObject * | dup () const |
virtual void | imagingRay (const ossimDpt &image_point, ossimEcefRay &image_ray) const |
virtual void | lineSampleToWorld (const ossimDpt &image_point, ossimGpt &worldPoint) const |
virtual void | lineSampleHeightToWorld (const ossimDpt &image_point, const double &heightEllipsoid, ossimGpt &worldPoint) const |
virtual void | worldToLineSample (const ossimGpt &world_point, ossimDpt &image_point) const |
virtual void | updateModel () |
void | setFocalLength (double focX, double focY) |
void | setCameraPosition (const ossimGpt &value) |
void | setPrincipalPoint (const ossimDpt &value) |
void | setecef2CamMatrix (const NEWMAT::Matrix &value) |
void | setAveragePrjectedHeight (double averageProjectedHeight) |
virtual bool | useForward () const |
virtual void | initAdjustableParameters () |
virtual bool | loadState (const ossimKeywordlist &kwl, const char *prefix=0) |
virtual bool | saveState (ossimKeywordlist &kwl, const char *prefix=0) 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 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... | |
virtual std::ostream & | print (std::ostream &out) 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... | |
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) |
![]() | |
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... | |
Definition at line 15 of file ossimPpjFrameSensor.h.
ossimPpjFrameSensor::ossimPpjFrameSensor | ( | ) |
Definition at line 40 of file ossimPpjFrameSensor.cpp.
Referenced by dup().
ossimPpjFrameSensor::ossimPpjFrameSensor | ( | const ossimPpjFrameSensor & | src | ) |
Definition at line 78 of file ossimPpjFrameSensor.cpp.
|
virtual |
Implements ossimProjection.
Definition at line 99 of file ossimPpjFrameSensor.cpp.
References ossimPpjFrameSensor().
|
virtual |
METHOD: imagingRay(image_point, &ossimEcefRay) Given an image point, returns a ray originating at some arbitrarily high point (ideally at the sensor position) and pointing towards the target. Implemented here but should be overriden for more efficient solution.
Reimplemented from ossimSensorModel.
Definition at line 133 of file ossimPpjFrameSensor.cpp.
References m_adjustedCameraPosition, m_adjustedFocalLength, m_ecef2CamInverse, m_principalPoint, ossimEcefRay::setDirection(), ossimEcefRay::setOrigin(), ossimDpt::x, and ossimDpt::y.
Referenced by lineSampleHeightToWorld(), and lineSampleToWorld().
|
virtual |
Reimplemented from ossimAdjustableParameterInterface.
Definition at line 269 of file ossimPpjFrameSensor.cpp.
|
virtual |
METHOD: lineSampleHeightToWorld This is the pure virtual that performs the actual work of projecting the image point to the given elevation above Ellipsoid.
Implements ossimSensorModel.
Definition at line 167 of file ossimPpjFrameSensor.cpp.
References ossim::almostEqual(), imagingRay(), ossimEcefRay::intersectAboveEarthEllipsoid(), ossim::isnan(), and m_averageProjectedHeight.
|
virtual |
Implementation of base-class pure virtual projection methods. These methods may be overriden by derived classes if those have more efficient schemes. The implementations here are iterative (relatively slow). Both depend on calls to the pure virtual lineSampleHeightToWorld() method.
Reimplemented from ossimSensorModel.
Definition at line 159 of file ossimPpjFrameSensor.cpp.
References imagingRay(), ossimElevManager::instance(), ossimElevSource::intersectRay(), and m_averageProjectedHeight.
|
virtual |
Method to the load (recreate) the state of the object from a keyword list. Return true if ok or false on error.
Reimplemented from ossimSensorModel.
Definition at line 312 of file ossimPpjFrameSensor.cpp.
|
virtual |
METHODS: saveState, loadState Fulfills ossimObject base-class pure virtuals. Loads and saves geometry KWL files.
Reimplemented from ossimSensorModel.
Definition at line 448 of file ossimPpjFrameSensor.cpp.
References ossimKeywordlist::add(), m_averageProjectedHeight, m_ecef2Cam, m_ecefCameraPosition, m_focalLengthX, m_focalLengthY, m_principalPoint, ossimSensorModel::saveState(), ossimSensorModel::theGSD, ossimSensorModel::theImageSize, ossimIpt::toString(), ossimDpt::toString(), ossimEcefPoint::toString(), and ossimString::toString().
void ossimPpjFrameSensor::setAveragePrjectedHeight | ( | double | averageProjectedHeight | ) |
Definition at line 128 of file ossimPpjFrameSensor.cpp.
References m_averageProjectedHeight.
void ossimPpjFrameSensor::setCameraPosition | ( | const ossimGpt & | value | ) |
Definition at line 111 of file ossimPpjFrameSensor.cpp.
References m_cameraPositionEllipsoid, and m_ecefCameraPosition.
void ossimPpjFrameSensor::setecef2CamMatrix | ( | const NEWMAT::Matrix & | value | ) |
Definition at line 122 of file ossimPpjFrameSensor.cpp.
References m_ecef2Cam, and m_ecef2CamInverse.
void ossimPpjFrameSensor::setFocalLength | ( | double | focX, |
double | focY | ||
) |
Definition at line 104 of file ossimPpjFrameSensor.cpp.
References m_focalLength, m_focalLengthX, and m_focalLengthY.
void ossimPpjFrameSensor::setPrincipalPoint | ( | const ossimDpt & | value | ) |
|
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 208 of file ossimPpjFrameSensor.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 48 of file ossimPpjFrameSensor.h.
|
virtual |
METHOD: worldToLineSample() Performs the forward projection from ground point to line, sample.
Reimplemented from ossimSensorModel.
Definition at line 187 of file ossimPpjFrameSensor.cpp.
References ossimEcefVector::data(), ossimGpt::height(), ossimGpt::isHgtNan(), m_adjustedCameraPosition, m_adjustedFocalLength, m_averageProjectedHeight, m_ecef2Cam, m_principalPoint, ossimDpt::x, x, ossimDpt::y, and y.
|
protected |
Definition at line 70 of file ossimPpjFrameSensor.h.
Referenced by imagingRay(), and worldToLineSample().
|
protected |
Definition at line 71 of file ossimPpjFrameSensor.h.
Referenced by imagingRay(), and worldToLineSample().
|
protected |
Definition at line 72 of file ossimPpjFrameSensor.h.
Referenced by lineSampleHeightToWorld(), lineSampleToWorld(), saveState(), setAveragePrjectedHeight(), and worldToLineSample().
|
protected |
Definition at line 62 of file ossimPpjFrameSensor.h.
Referenced by setCameraPosition().
|
protected |
Definition at line 55 of file ossimPpjFrameSensor.h.
Referenced by saveState(), setecef2CamMatrix(), and worldToLineSample().
|
protected |
Definition at line 56 of file ossimPpjFrameSensor.h.
Referenced by imagingRay(), and setecef2CamMatrix().
|
protected |
Definition at line 61 of file ossimPpjFrameSensor.h.
Referenced by saveState(), and setCameraPosition().
|
protected |
Definition at line 60 of file ossimPpjFrameSensor.h.
Referenced by setFocalLength().
|
protected |
Definition at line 58 of file ossimPpjFrameSensor.h.
Referenced by saveState(), and setFocalLength().
|
protected |
Definition at line 59 of file ossimPpjFrameSensor.h.
Referenced by saveState(), and setFocalLength().
|
protected |
Definition at line 57 of file ossimPpjFrameSensor.h.
Referenced by imagingRay(), saveState(), setPrincipalPoint(), and worldToLineSample().
|
protected |
Definition at line 65 of file ossimPpjFrameSensor.h.
|
protected |
Definition at line 66 of file ossimPpjFrameSensor.h.
|
protected |
Definition at line 67 of file ossimPpjFrameSensor.h.
|
protected |
Definition at line 68 of file ossimPpjFrameSensor.h.