OSSIM - Open Source Software Image Map
Version 1.9.0 (20180803)
|
#include <ossimRpcModel.h>
Classes | |
struct | rpcModelStruct |
RPC model structure used for access function. More... | |
Public Types | |
enum | PolynomialType { A ='A', B ='B' } |
![]() | |
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 | |
ossimRpcModel () | |
default constructor More... | |
ossimRpcModel (const ossimRpcModel ©_this) | |
copy construtor More... | |
void | setAttributes (ossim_float64 theSampleOffset, ossim_float64 theLineOffset, ossim_float64 theSampleScale, ossim_float64 theLineScale, ossim_float64 theLatOffset, ossim_float64 theLonOffset, ossim_float64 theHeightOffset, ossim_float64 theLatScale, ossim_float64 theLonScale, ossim_float64 theHeightScale, const std::vector< double > &xNumeratorCoeffs, const std::vector< double > &xDenominatorCoeffs, const std::vector< double > &yNumeratorCoeffs, const std::vector< double > &yDenominatorCoeffs, PolynomialType polyType=B, bool computeGsdFlag=true) |
void | setMetersPerPixel (const ossimDpt &metersPerPixel) |
void | setPositionError (const ossim_float64 &biasError, const ossim_float64 &randomError, bool initNominalPostionErrorFlag) |
Sets data member theBiasError, theRandError. More... | |
virtual void | worldToLineSample (const ossimGpt &world_point, ossimDpt &image_point) const |
worldToLineSample() Overrides base class implementation. More... | |
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... | |
virtual void | lineSampleToWorld (const ossimDpt &image_point, ossimGpt &world_point) const |
virtual void | lineSampleHeightToWorld (const ossimDpt &image_point, const double &heightEllipsoid, ossimGpt &worldPoint) const |
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 bool | setupOptimizer (const ossimString &init_file) |
uses file path to init model More... | |
virtual ossimDpt | getForwardDeriv (int parmIdx, const ossimGpt &gpos, double h) |
Compute partials of samp/line WRT ground point. More... | |
double | getBiasError () const |
Returns Error - Bias. More... | |
double | getRandError () const |
Returns Error - Random. More... | |
void | getRpcParameters (ossimRpcModel::rpcModelStruct &model) const |
Returns RPC parameter set in structure. More... | |
void | setImageOffset (const ossimDpt &offset_to_chip_ul) |
Allows setting an offset to a subimage while using the coefficients of a full-image model. More... | |
bool | toJSON (std::ostream &json) const |
Serializes RPC to JSON format. More... | |
bool | toRPB (std::ostream &out) const |
Serialize to WorldView-style .RPB file to the stream provided. 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 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) |
![]() | |
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) |
STATIC METHOD: writeGeomTemplate(ostream) Writes a template of geom keywords processed by loadState and saveState to output stream. More... | |
![]() | |
static void | writeGeomTemplate (ostream &os) |
Protected Types | |
enum | AdjustParamIndex { INTRACK_OFFSET = 0, CRTRACK_OFFSET, INTRACK_SCALE, CRTRACK_SCALE, MAP_ROTATION, NUM_ADJUSTABLE_PARAMS } |
Protected Member Functions | |
virtual | ~ossimRpcModel () |
virtual destructor More... | |
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 |
![]() | |
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... | |
Friends | |
class | ossimRpcSolver |
class | ossimNitfRpcBase |
|
protected |
Enumerator | |
---|---|
INTRACK_OFFSET | |
CRTRACK_OFFSET | |
INTRACK_SCALE | |
CRTRACK_SCALE | |
MAP_ROTATION | |
NUM_ADJUSTABLE_PARAMS |
Definition at line 232 of file ossimRpcModel.h.
Enumerator | |
---|---|
A | |
B |
Definition at line 37 of file ossimRpcModel.h.
ossimRpcModel::ossimRpcModel | ( | ) |
default constructor
Definition at line 89 of file ossimRpcModel.cpp.
References initAdjustableParameters().
Referenced by dup().
ossimRpcModel::ossimRpcModel | ( | const ossimRpcModel & | copy_this | ) |
copy construtor
Definition at line 119 of file ossimRpcModel.cpp.
References theLineDenCoef, theLineNumCoef, theSampDenCoef, and theSampNumCoef.
|
protectedvirtual |
|
protected |
Definition at line 701 of file ossimRpcModel.cpp.
References A, and thePolyType.
Referenced by getForwardDeriv().
|
protected |
Definition at line 652 of file ossimRpcModel.cpp.
References A, and thePolyType.
Referenced by getForwardDeriv(), and lineSampleHeightToWorld().
|
protected |
Definition at line 677 of file ossimRpcModel.cpp.
References A, and thePolyType.
Referenced by getForwardDeriv(), and lineSampleHeightToWorld().
|
virtual |
dup() Returns pointer to a new instance, copy of this.
Implements ossimProjection.
Reimplemented in ossimplugins::ossimRadarSat2RPCModel, ossimplugins::ossimPleiadesModel, ossimplugins::ossimSpot6Model, ossimQuickbirdRpcModel, and ossimNitfRpcModel.
Definition at line 748 of file ossimRpcModel.cpp.
References ossimRpcModel().
double ossimRpcModel::getBiasError | ( | ) | const |
Returns Error - Bias.
Definition at line 1355 of file ossimRpcModel.cpp.
References theBiasError.
Compute partials of samp/line WRT ground point.
parmIdx | computational mode: OBS_INIT, EVALUATE, P_WRT_X, P_WRT_X, P_WRT_X. |
gpos | Current ground point estimate. |
h | Not used. |
Reimplemented from ossimSensorModel.
Definition at line 1197 of file ossimRpcModel.cpp.
References ossimGpt::datum(), DEG_PER_RAD, dPoly_dHgt(), dPoly_dLat(), dPoly_dLon(), ossimDatum::ellipsoid(), ossimSensorModel::EVALUATE, ossimSensorModel::getForwardDeriv(), ossimGpt::hgt, ossim::isnan(), ossimEllipsoid::jacobianWrtEcef(), ossimGpt::lat, ossimGpt::latd(), ossimDpt::line, ossimGpt::lon, ossimGpt::lond(), ossimSensorModel::OBS_INIT, ossimSensorModel::P_WRT_X, ossimSensorModel::P_WRT_Y, polynomial(), ossimDpt::samp, theHgtOffset, theHgtScale, theLatOffset, theLatScale, theLineDenCoef, theLineNumCoef, theLineOffset, theLineScale, theLonOffset, theLonScale, ossimSensorModel::theObs, ossimSensorModel::theParWRTx, ossimSensorModel::theParWRTy, ossimSensorModel::theParWRTz, theSampDenCoef, theSampNumCoef, theSampOffset, theSampScale, ossimDpt::u, and ossimDpt::v.
double ossimRpcModel::getRandError | ( | ) | const |
Returns Error - Random.
Definition at line 1360 of file ossimRpcModel.cpp.
References theRandError.
void ossimRpcModel::getRpcParameters | ( | ossimRpcModel::rpcModelStruct & | model | ) | const |
Returns RPC parameter set in structure.
rpcModelStruct | structure to initialize. |
Definition at line 1372 of file ossimRpcModel.cpp.
References A, ossimRpcModel::rpcModelStruct::hgtOffset, ossimRpcModel::rpcModelStruct::hgtScale, ossimRpcModel::rpcModelStruct::latOffset, ossimRpcModel::rpcModelStruct::latScale, ossimRpcModel::rpcModelStruct::lineDenCoef, ossimRpcModel::rpcModelStruct::lineNumCoef, ossimRpcModel::rpcModelStruct::lineOffset, ossimRpcModel::rpcModelStruct::lineScale, ossimRpcModel::rpcModelStruct::lonOffset, ossimRpcModel::rpcModelStruct::lonScale, ossimRpcModel::rpcModelStruct::sampDenCoef, ossimRpcModel::rpcModelStruct::sampNumCoef, ossimRpcModel::rpcModelStruct::sampOffset, ossimRpcModel::rpcModelStruct::sampScale, theHgtOffset, theHgtScale, theLatOffset, theLatScale, theLineDenCoef, theLineNumCoef, theLineOffset, theLineScale, theLonOffset, theLonScale, thePolyType, theSampDenCoef, theSampNumCoef, theSampOffset, theSampScale, and ossimRpcModel::rpcModelStruct::type.
|
virtual |
imagingRay() Overrides base class pure virtual.
Reimplemented from ossimSensorModel.
Definition at line 371 of file ossimRpcModel.cpp.
References ossimGpt::datum(), ossimDatum::ellipsoid(), ossimEllipsoid::gradient(), lineSampleHeightToWorld(), theHgtOffset, theHgtScale, and ossimEcefVector::unitVector().
Referenced by lineSampleToWorld().
|
virtual |
Reimplemented from ossimAdjustableParameterInterface.
Definition at line 730 of file ossimRpcModel.cpp.
References ossimAdjustableParameterInterface::getNumberOfAdjustableParameters(), NUM_ADJUSTABLE_PARAMS, ossimAdjustableParameterInterface::resizeAdjustableParameterArray(), ossimAdjustableParameterInterface::setAdjustableParameter(), and ossimAdjustableParameterInterface::setParameterDescription().
Referenced by ossimRpcModel().
|
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.
Reimplemented in ossimplugins::ossimRadarSat2RPCModel, and ossimNitfRpcModel.
Definition at line 442 of file ossimRpcModel.cpp.
References dPoly_dLat(), dPoly_dLon(), ossimGpt::hgt, ossim::isnan(), ossimGpt::lat, ossimGpt::lon, ossimNotify(), ossimNotifyLevel_WARN, polynomial(), theCosMapRot, theCrtrackOffset, theCrtrackScale, theHgtOffset, theHgtScale, theIntrackOffset, theIntrackScale, theLatOffset, theLatScale, theLineDenCoef, theLineNumCoef, theLineOffset, theLineScale, theLonOffset, theLonScale, theSampDenCoef, theSampNumCoef, theSampOffset, theSampScale, theSinMapRot, ossimDpt::x, and ossimDpt::y.
Referenced by ossimQuickbirdRpcModel::finishConstruction(), ossimplugins::ossimSpot6Model::finishConstruction(), ossimplugins::ossimPleiadesModel::finishConstruction(), imagingRay(), ossimNitfRpcModel::lineSampleHeightToWorld(), ossimplugins::ossimRadarSat2RPCModel::lineSampleHeightToWorld(), lineSampleToWorld(), and ossimplugins::ossimRadarSat2RPCModel::open().
|
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 331 of file ossimRpcModel.cpp.
References ossimDpt::hasNans(), ossimGpt::height(), imagingRay(), ossimElevManager::instance(), ossimElevSource::intersectRay(), lineSampleHeightToWorld(), and ossimGpt::makeNan().
Referenced by ossimplugins::ossimRadarSat2RPCModel::open().
|
virtual |
loadState Fulfills ossimObject base-class pure virtuals.
Loads and saves geometry KWL files. Returns true if successful.
Reimplemented from ossimSensorModel.
Reimplemented in ossimplugins::ossimRadarSat2RPCModel, ossimplugins::ossimPleiadesModel, ossimplugins::ossimSpot6Model, ossimNitfRpcModel, ossimIkonosRpcModel, and ossimQuickbirdRpcModel.
Definition at line 870 of file ossimRpcModel.cpp.
Referenced by ossimQuickbirdRpcModel::loadState(), ossimIkonosRpcModel::loadState(), ossimNitfRpcModel::loadState(), ossimplugins::ossimSpot6Model::loadState(), ossimplugins::ossimPleiadesModel::loadState(), ossimplugins::ossimRadarSat2RPCModel::loadState(), and setupOptimizer().
|
protected |
Definition at line 621 of file ossimRpcModel.cpp.
References A, and thePolyType.
Referenced by getForwardDeriv(), lineSampleHeightToWorld(), and worldToLineSample().
|
virtual |
print() Extends base-class implementation.
Dumps contents of object to ostream.
Reimplemented from ossimSensorModel.
Reimplemented in ossimplugins::ossimRadarSat2RPCModel, ossimplugins::ossimPleiadesModel, and ossimplugins::ossimSpot6Model.
Definition at line 759 of file ossimRpcModel.cpp.
Referenced by ossimplugins::ossimPleiadesModel::print(), ossimplugins::ossimSpot6Model::print(), and ossimplugins::ossimRadarSat2RPCModel::print().
|
virtual |
saveState Fulfills ossimObject base-class pure virtuals.
Loads and saves geometry KWL files. Returns true if successful.
Reimplemented from ossimSensorModel.
Reimplemented in ossimplugins::ossimRadarSat2RPCModel, ossimplugins::ossimPleiadesModel, ossimplugins::ossimSpot6Model, ossimNitfRpcModel, ossimQuickbirdRpcModel, and ossimIkonosRpcModel.
Definition at line 803 of file ossimRpcModel.cpp.
Referenced by ossimRpcProjection::optimizeFit(), ossimIkonosRpcModel::saveState(), ossimQuickbirdRpcModel::saveState(), ossimNitfRpcModel::saveState(), ossimplugins::ossimPleiadesModel::saveState(), ossimplugins::ossimSpot6Model::saveState(), and ossimplugins::ossimRadarSat2RPCModel::saveState().
void ossimRpcModel::setAttributes | ( | ossim_float64 | theSampleOffset, |
ossim_float64 | theLineOffset, | ||
ossim_float64 | theSampleScale, | ||
ossim_float64 | theLineScale, | ||
ossim_float64 | theLatOffset, | ||
ossim_float64 | theLonOffset, | ||
ossim_float64 | theHeightOffset, | ||
ossim_float64 | theLatScale, | ||
ossim_float64 | theLonScale, | ||
ossim_float64 | theHeightScale, | ||
const std::vector< double > & | xNumeratorCoeffs, | ||
const std::vector< double > & | xDenominatorCoeffs, | ||
const std::vector< double > & | yNumeratorCoeffs, | ||
const std::vector< double > & | yDenominatorCoeffs, | ||
PolynomialType | polyType = B , |
||
bool | computeGsdFlag = true |
||
) |
Definition at line 159 of file ossimRpcModel.cpp.
References ossimSensorModel::computeGsd(), theHgtOffset, theHgtScale, theLatOffset, theLatScale, theLineDenCoef, theLineNumCoef, theLineOffset, theLineScale, theLonOffset, theLonScale, thePolyType, theSampDenCoef, theSampNumCoef, theSampOffset, and theSampScale.
void ossimRpcModel::setImageOffset | ( | const ossimDpt & | offset_to_chip_ul | ) |
Allows setting an offset to a subimage while using the coefficients of a full-image model.
This adds a shift to the line and sample offsets so they corresond to the local subimage image space coordinates. Note thatthe base class' theImageRect will be adjusted to reflect the shift, even though the chip's LR corner will probably be wrong.
Definition at line 1403 of file ossimRpcModel.cpp.
References ossimDrect::hasNans(), ossimDpt::line, ossimDpt::samp, ossimSensorModel::theImageClipRect, ossimSensorModel::theImageSize, theLineOffset, theSampOffset, ossimIpt::x, ossimDpt::x, ossimIpt::y, and ossimDpt::y.
Referenced by ossimSubImageTool::execute(), and ossimQuickbirdRpcModel::parseTileData().
void ossimRpcModel::setMetersPerPixel | ( | const ossimDpt & | metersPerPixel | ) |
Definition at line 233 of file ossimRpcModel.cpp.
References ossimSensorModel::theGSD, ossimSensorModel::theMeanGSD, ossimDpt::x, and ossimDpt::y.
void ossimRpcModel::setPositionError | ( | const ossim_float64 & | biasError, |
const ossim_float64 & | randomError, | ||
bool | initNominalPostionErrorFlag | ||
) |
Sets data member theBiasError, theRandError.
biasError | Error - Bias 68% non time - varying error estimate assumes correlated images. Units = meters. |
randError | Error - Random 68% time - varying error estimate assumes uncorrelated images. Units = meters. |
initNominalPostionErrorFlag | If true the base data member theNominalPosError will be initialized with: sqrt(theBiasError*theBiasError +theRandError*theRandError) |
Definition at line 239 of file ossimRpcModel.cpp.
References theBiasError, ossimSensorModel::theNominalPosError, and theRandError.
|
virtual |
uses file path to init model
Reimplemented from ossimOptimizableProjection.
Definition at line 1168 of file ossimRpcModel.cpp.
References ossimKeywordlist::addFile(), ossimKeywordlist::clear(), ossimProjectionFactoryRegistry::createProjection(), ossimProjectionFactoryRegistry::instance(), loadState(), ossimProjection::saveState(), and ossimRefPtr< T >::valid().
bool ossimRpcModel::toJSON | ( | std::ostream & | json | ) | const |
Serializes RPC to JSON format.
Definition at line 1415 of file ossimRpcModel.cpp.
References A, ossimString::string(), theBiasError, theHgtOffset, theHgtScale, theLatOffset, theLatScale, theLineDenCoef, theLineNumCoef, theLineOffset, theLineScale, theLonOffset, theLonScale, thePolyType, theRandError, theSampDenCoef, theSampNumCoef, theSampOffset, theSampScale, and ossimString::toString().
Referenced by ossimSubImageTool::execute().
bool ossimRpcModel::toRPB | ( | std::ostream & | out | ) | const |
Serialize to WorldView-style .RPB file to the stream provided.
Returns TRUE on successful write.
Definition at line 1496 of file ossimRpcModel.cpp.
References theBiasError, theHgtOffset, theHgtScale, theLatOffset, theLatScale, theLineDenCoef, theLineNumCoef, theLineOffset, theLineScale, theLonOffset, theLonScale, theRandError, theSampDenCoef, theSampNumCoef, theSampOffset, and theSampScale.
Referenced by ossimDemTool::doASP(), and ossimSubImageTool::execute().
|
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 719 of file ossimRpcModel.cpp.
References ossimAdjustableParameterInterface::computeParameterOffset(), ossim::cosd(), CRTRACK_OFFSET, CRTRACK_SCALE, INTRACK_OFFSET, INTRACK_SCALE, MAP_ROTATION, ossim::sind(), theCosMapRot, theCrtrackOffset, theCrtrackScale, theIntrackOffset, theIntrackScale, and theSinMapRot.
Referenced by ossimQuickbirdRpcModel::finishConstruction(), ossimplugins::ossimSpot6Model::finishConstruction(), ossimplugins::ossimPleiadesModel::finishConstruction(), and ossimplugins::ossimRadarSat2RPCModel::open().
|
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 172 of file ossimRpcModel.h.
|
virtual |
worldToLineSample() Overrides base class implementation.
Directly computes line-sample from the polynomials.
Reimplemented from ossimSensorModel.
Reimplemented in ossimplugins::ossimRadarSat2RPCModel, and ossimNitfRpcModel.
Definition at line 258 of file ossimRpcModel.cpp.
References ossimGpt::hgt, ossimGpt::isHgtNan(), ossimGpt::isLatNan(), ossimGpt::isLonNan(), ossimGpt::lat, ossimDpt::line, ossimGpt::lon, ossimDpt::makeNan(), polynomial(), ossimDpt::samp, theCosMapRot, theCrtrackOffset, theCrtrackScale, theHgtOffset, theHgtScale, theIntrackOffset, theIntrackScale, theLatOffset, theLatScale, theLineDenCoef, theLineNumCoef, theLineOffset, theLineScale, theLonOffset, theLonScale, theSampDenCoef, theSampNumCoef, theSampOffset, theSampScale, and theSinMapRot.
Referenced by ossimRpcSolver::evalPoint(), ossimNitfRpcModel::worldToLineSample(), and ossimplugins::ossimRadarSat2RPCModel::worldToLineSample().
|
static |
STATIC METHOD: writeGeomTemplate(ostream) Writes a template of geom keywords processed by loadState and saveState to output stream.
Definition at line 1109 of file ossimRpcModel.cpp.
|
friend |
Definition at line 307 of file ossimRpcModel.h.
|
friend |
Definition at line 306 of file ossimRpcModel.h.
|
protected |
error
Definition at line 295 of file ossimRpcModel.h.
Referenced by getBiasError(), ossimplugins::ossimRadarSat2RPCModel::open(), setPositionError(), ossimNitfRpcBase::setRpcModelParams(), toJSON(), and toRPB().
|
protected |
Definition at line 291 of file ossimRpcModel.h.
Referenced by lineSampleHeightToWorld(), updateModel(), and worldToLineSample().
|
protected |
Definition at line 288 of file ossimRpcModel.h.
Referenced by lineSampleHeightToWorld(), updateModel(), and worldToLineSample().
|
protected |
Definition at line 290 of file ossimRpcModel.h.
Referenced by lineSampleHeightToWorld(), updateModel(), and worldToLineSample().
|
protected |
Definition at line 281 of file ossimRpcModel.h.
Referenced by ossimQuickbirdRpcModel::finishConstruction(), ossimplugins::ossimPleiadesModel::finishConstruction(), ossimplugins::ossimSpot6Model::finishConstruction(), getForwardDeriv(), getRpcParameters(), imagingRay(), lineSampleHeightToWorld(), ossimplugins::ossimSpot6Model::open(), ossimplugins::ossimPleiadesModel::open(), ossimplugins::ossimRadarSat2RPCModel::open(), ossimQuickbirdRpcModel::parseRpcData(), setAttributes(), ossimNitfRpcBase::setRpcModelParams(), ossimRpcSolver::solveCoefficients(), toJSON(), toRPB(), and worldToLineSample().
|
protected |
Definition at line 276 of file ossimRpcModel.h.
Referenced by getForwardDeriv(), getRpcParameters(), imagingRay(), lineSampleHeightToWorld(), ossimplugins::ossimPleiadesModel::open(), ossimplugins::ossimSpot6Model::open(), ossimplugins::ossimRadarSat2RPCModel::open(), ossimQuickbirdRpcModel::parseRpcData(), setAttributes(), ossimNitfRpcBase::setRpcModelParams(), ossimRpcSolver::solveCoefficients(), toJSON(), toRPB(), and worldToLineSample().
|
protected |
Definition at line 287 of file ossimRpcModel.h.
Referenced by lineSampleHeightToWorld(), updateModel(), and worldToLineSample().
|
protected |
Definition at line 289 of file ossimRpcModel.h.
Referenced by lineSampleHeightToWorld(), updateModel(), and worldToLineSample().
|
protected |
Definition at line 279 of file ossimRpcModel.h.
Referenced by ossimQuickbirdRpcModel::finishConstruction(), ossimplugins::ossimPleiadesModel::finishConstruction(), ossimplugins::ossimSpot6Model::finishConstruction(), getForwardDeriv(), getRpcParameters(), lineSampleHeightToWorld(), ossimplugins::ossimPleiadesModel::open(), ossimplugins::ossimSpot6Model::open(), ossimplugins::ossimRadarSat2RPCModel::open(), ossimQuickbirdRpcModel::parseRpcData(), setAttributes(), ossimNitfRpcBase::setRpcModelParams(), ossimRpcSolver::solveCoefficients(), toJSON(), toRPB(), and worldToLineSample().
|
protected |
Definition at line 274 of file ossimRpcModel.h.
Referenced by getForwardDeriv(), getRpcParameters(), lineSampleHeightToWorld(), ossimplugins::ossimPleiadesModel::open(), ossimplugins::ossimSpot6Model::open(), ossimplugins::ossimRadarSat2RPCModel::open(), ossimQuickbirdRpcModel::parseRpcData(), setAttributes(), ossimNitfRpcBase::setRpcModelParams(), ossimRpcSolver::solveCoefficients(), toJSON(), toRPB(), and worldToLineSample().
|
protected |
Definition at line 302 of file ossimRpcModel.h.
Referenced by getForwardDeriv(), getRpcParameters(), lineSampleHeightToWorld(), ossimplugins::ossimSpot6Model::open(), ossimplugins::ossimPleiadesModel::open(), ossimplugins::ossimRadarSat2RPCModel::open(), ossimplugins::ossimPleiadesModel::ossimPleiadesModel(), ossimRpcModel(), ossimplugins::ossimSpot6Model::ossimSpot6Model(), ossimQuickbirdRpcModel::parseRpcData(), setAttributes(), ossimNitfRpcBase::setRpcModelParams(), ossimRpcSolver::solveCoefficients(), toJSON(), toRPB(), and worldToLineSample().
|
protected |
Definition at line 301 of file ossimRpcModel.h.
Referenced by getForwardDeriv(), getRpcParameters(), lineSampleHeightToWorld(), ossimplugins::ossimSpot6Model::open(), ossimplugins::ossimPleiadesModel::open(), ossimplugins::ossimRadarSat2RPCModel::open(), ossimplugins::ossimPleiadesModel::ossimPleiadesModel(), ossimRpcModel(), ossimplugins::ossimSpot6Model::ossimSpot6Model(), ossimQuickbirdRpcModel::parseRpcData(), setAttributes(), ossimNitfRpcBase::setRpcModelParams(), ossimRpcSolver::solveCoefficients(), toJSON(), toRPB(), and worldToLineSample().
|
protected |
Definition at line 277 of file ossimRpcModel.h.
Referenced by getForwardDeriv(), getRpcParameters(), lineSampleHeightToWorld(), ossimplugins::ossimPleiadesModel::open(), ossimplugins::ossimSpot6Model::open(), ossimplugins::ossimRadarSat2RPCModel::open(), ossimQuickbirdRpcModel::parseRpcData(), setAttributes(), setImageOffset(), ossimNitfRpcBase::setRpcModelParams(), ossimRpcSolver::solveCoefficients(), toJSON(), toRPB(), and worldToLineSample().
|
protected |
Definition at line 272 of file ossimRpcModel.h.
Referenced by getForwardDeriv(), getRpcParameters(), lineSampleHeightToWorld(), ossimplugins::ossimPleiadesModel::open(), ossimplugins::ossimSpot6Model::open(), ossimplugins::ossimRadarSat2RPCModel::open(), ossimQuickbirdRpcModel::parseRpcData(), setAttributes(), ossimNitfRpcBase::setRpcModelParams(), ossimRpcSolver::solveCoefficients(), toJSON(), toRPB(), and worldToLineSample().
|
protected |
Definition at line 280 of file ossimRpcModel.h.
Referenced by ossimQuickbirdRpcModel::finishConstruction(), ossimplugins::ossimPleiadesModel::finishConstruction(), ossimplugins::ossimSpot6Model::finishConstruction(), getForwardDeriv(), getRpcParameters(), lineSampleHeightToWorld(), ossimplugins::ossimPleiadesModel::open(), ossimplugins::ossimSpot6Model::open(), ossimplugins::ossimRadarSat2RPCModel::open(), ossimQuickbirdRpcModel::parseRpcData(), setAttributes(), ossimNitfRpcBase::setRpcModelParams(), ossimRpcSolver::solveCoefficients(), toJSON(), toRPB(), and worldToLineSample().
|
protected |
Definition at line 275 of file ossimRpcModel.h.
Referenced by getForwardDeriv(), getRpcParameters(), lineSampleHeightToWorld(), ossimplugins::ossimPleiadesModel::open(), ossimplugins::ossimSpot6Model::open(), ossimplugins::ossimRadarSat2RPCModel::open(), ossimQuickbirdRpcModel::parseRpcData(), setAttributes(), ossimNitfRpcBase::setRpcModelParams(), ossimRpcSolver::solveCoefficients(), toJSON(), toRPB(), and worldToLineSample().
|
protected |
Definition at line 266 of file ossimRpcModel.h.
Referenced by dPoly_dHgt(), dPoly_dLat(), dPoly_dLon(), getRpcParameters(), ossimplugins::ossimSpot6Model::open(), ossimplugins::ossimPleiadesModel::open(), ossimplugins::ossimRadarSat2RPCModel::open(), ossimQuickbirdRpcModel::parseRpcData(), polynomial(), setAttributes(), ossimRpcSolver::solveCoefficients(), and toJSON().
|
protected |
Definition at line 296 of file ossimRpcModel.h.
Referenced by getRandError(), ossimplugins::ossimRadarSat2RPCModel::open(), setPositionError(), ossimNitfRpcBase::setRpcModelParams(), toJSON(), and toRPB().
|
protected |
Definition at line 304 of file ossimRpcModel.h.
Referenced by getForwardDeriv(), getRpcParameters(), lineSampleHeightToWorld(), ossimplugins::ossimSpot6Model::open(), ossimplugins::ossimPleiadesModel::open(), ossimplugins::ossimRadarSat2RPCModel::open(), ossimplugins::ossimPleiadesModel::ossimPleiadesModel(), ossimRpcModel(), ossimplugins::ossimSpot6Model::ossimSpot6Model(), ossimQuickbirdRpcModel::parseRpcData(), setAttributes(), ossimNitfRpcBase::setRpcModelParams(), ossimRpcSolver::solveCoefficients(), toJSON(), toRPB(), and worldToLineSample().
|
protected |
Definition at line 303 of file ossimRpcModel.h.
Referenced by getForwardDeriv(), getRpcParameters(), lineSampleHeightToWorld(), ossimplugins::ossimSpot6Model::open(), ossimplugins::ossimPleiadesModel::open(), ossimplugins::ossimRadarSat2RPCModel::open(), ossimplugins::ossimPleiadesModel::ossimPleiadesModel(), ossimRpcModel(), ossimplugins::ossimSpot6Model::ossimSpot6Model(), ossimQuickbirdRpcModel::parseRpcData(), setAttributes(), ossimNitfRpcBase::setRpcModelParams(), ossimRpcSolver::solveCoefficients(), toJSON(), toRPB(), and worldToLineSample().
|
protected |
Definition at line 278 of file ossimRpcModel.h.
Referenced by getForwardDeriv(), getRpcParameters(), lineSampleHeightToWorld(), ossimplugins::ossimPleiadesModel::open(), ossimplugins::ossimSpot6Model::open(), ossimplugins::ossimRadarSat2RPCModel::open(), ossimQuickbirdRpcModel::parseRpcData(), setAttributes(), setImageOffset(), ossimNitfRpcBase::setRpcModelParams(), ossimRpcSolver::solveCoefficients(), toJSON(), toRPB(), and worldToLineSample().
|
protected |
Definition at line 273 of file ossimRpcModel.h.
Referenced by getForwardDeriv(), getRpcParameters(), lineSampleHeightToWorld(), ossimplugins::ossimPleiadesModel::open(), ossimplugins::ossimSpot6Model::open(), ossimplugins::ossimRadarSat2RPCModel::open(), ossimQuickbirdRpcModel::parseRpcData(), setAttributes(), ossimNitfRpcBase::setRpcModelParams(), ossimRpcSolver::solveCoefficients(), toJSON(), toRPB(), and worldToLineSample().
|
protected |
Definition at line 292 of file ossimRpcModel.h.
Referenced by lineSampleHeightToWorld(), updateModel(), and worldToLineSample().