OSSIM - Open Source Software Image Map
Version 1.9.0 (20180803)
|
#include <ossimNitfRpcModel.h>
Public Member Functions | |
ossimNitfRpcModel () | |
ossimNitfRpcModel (const ossimNitfRpcModel &rhs) | |
ossimNitfRpcModel (const ossimFilename &nitfFile) | |
virtual ossimObject * | dup () const |
dup() Returns pointer to a new instance, copy of this. More... | |
virtual void | worldToLineSample (const ossimGpt &world_point, ossimDpt &image_point) const |
worldToLineSample() Calls ossimRpcModel::worldToLineSample(), then applies (if needed) decimation. More... | |
virtual void | lineSampleHeightToWorld (const ossimDpt &image_point, const double &heightEllipsoid, ossimGpt &worldPoint) const |
lineSampleHeightToWorld() Backs out decimation of image_point (if needed) then calls: ossimRpcModel::lineSampleHeightToWorld This is a temp work around for decimation RPC NITFs. More... | |
virtual bool | saveState (ossimKeywordlist &kwl, const char *prefix=0) const |
Saves "decimation". More... | |
virtual bool | loadState (const ossimKeywordlist &kwl, const char *prefix=0) |
Looks for decimation. More... | |
virtual bool | parseFile (const ossimFilename &nitfFile, ossim_uint32 entryIndex=0) |
Method to parse an nitf file and initialize model. More... | |
virtual bool | parseImageHeader (const ossimNitfImageHeader *ih) |
![]() | |
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 std::ostream & | print (std::ostream &out) const |
print() Extends base-class implementation. More... | |
virtual void | lineSampleToWorld (const ossimDpt &image_point, ossimGpt &world_point) 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 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... | |
Private Member Functions | |
void | getGsd (const ossimNitfImageHeader *ih) |
Attempts to get gsd from nitf tags and initialize ossimSensorModel::theGsd. More... | |
void | getSensorID (const ossimNitfImageHeader *ih) |
Attempts to get sensor ID from nitf tags and initialize ossimSensorModel::theSensorID. More... | |
bool | getRpcData (const ossimNitfImageHeader *ih) |
Get model information from either the RPC00A or RPC00B tag. More... | |
Private Attributes | |
ossim_float64 | theDecimation |
Stored from header field "IMAG". More... | |
Additional Inherited Members | |
![]() | |
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 } |
![]() | |
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) |
![]() | |
enum | AdjustParamIndex { INTRACK_OFFSET = 0, CRTRACK_OFFSET, INTRACK_SCALE, CRTRACK_SCALE, MAP_ROTATION, NUM_ADJUSTABLE_PARAMS } |
![]() | |
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... | |
![]() | |
PolynomialType | thePolyType |
double | theLineScale |
double | theSampScale |
double | theLatScale |
double | theLonScale |
double | theHgtScale |
double | theLineOffset |
double | theSampOffset |
double | theLatOffset |
double | theLonOffset |
double | theHgtOffset |
double | theIntrackOffset |
double | theCrtrackOffset |
double | theIntrackScale |
double | theCrtrackScale |
double | theCosMapRot |
double | theSinMapRot |
double | theBiasError |
error More... | |
double | theRandError |
double | theLineNumCoef [20] |
double | theLineDenCoef [20] |
double | theSampNumCoef [20] |
double | theSampDenCoef [20] |
![]() | |
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 |
ossimNitfRpcModel::ossimNitfRpcModel | ( | ) |
Definition at line 47 of file ossimNitfRpcModel.cpp.
Referenced by dup().
ossimNitfRpcModel::ossimNitfRpcModel | ( | const ossimNitfRpcModel & | rhs | ) |
Definition at line 54 of file ossimNitfRpcModel.cpp.
ossimNitfRpcModel::ossimNitfRpcModel | ( | const ossimFilename & | nitfFile | ) |
Definition at line 67 of file ossimNitfRpcModel.cpp.
|
virtual |
dup() Returns pointer to a new instance, copy of this.
Reimplemented from ossimRpcModel.
Definition at line 97 of file ossimNitfRpcModel.cpp.
References ossimNitfRpcModel().
|
private |
Attempts to get gsd from nitf tags and initialize ossimSensorModel::theGsd.
If unsuccessful theGsd will be initialized to OSSIM_DBL_NAN.
Definition at line 316 of file ossimNitfRpcModel.cpp.
References ossimNitfImageHeader::getTagData(), ossimDpt::line, ossim::nan(), ossimDpt::samp, and ossimSensorModel::theGSD.
|
private |
Get model information from either the RPC00A or RPC00B tag.
Definition at line 380 of file ossimNitfRpcModel.cpp.
References ossimNitfImageHeader::getTagData().
Referenced by parseImageHeader().
|
private |
Attempts to get sensor ID from nitf tags and initialize ossimSensorModel::theSensorID.
If unsuccessful theGsd will be initialized to UNKNOWN.
Definition at line 351 of file ossimNitfRpcModel.cpp.
References ossimNitfImageHeader::getTagData(), and ossimSensorModel::theSensorID.
|
virtual |
lineSampleHeightToWorld() Backs out decimation of image_point (if needed) then calls: ossimRpcModel::lineSampleHeightToWorld This is a temp work around for decimation RPC NITFs.
Reimplemented from ossimRpcModel.
Definition at line 273 of file ossimNitfRpcModel.cpp.
References ossimRpcModel::lineSampleHeightToWorld(), theDecimation, ossimDpt::x, and ossimDpt::y.
|
virtual |
Looks for decimation.
Then calls ossimRpcModel::loadState.
Reimplemented from ossimRpcModel.
Definition at line 297 of file ossimNitfRpcModel.cpp.
References ossimKeywordlist::find(), ossimRpcModel::loadState(), theDecimation, and ossimString::toFloat64().
|
virtual |
Method to parse an nitf file and initialize model.
entryIndex | The entry to get model for. Note the nitf's can have multiple entries; each with a different projection. |
Definition at line 102 of file ossimNitfRpcModel.cpp.
References ossimRefPtr< T >::get(), ossimNitfFile::getNewImageHeader(), ossimNitfFile::parseFile(), parseImageHeader(), and ossimErrorStatusInterface::setErrorStatus().
|
virtual |
Definition at line 124 of file ossimNitfRpcModel.cpp.
References getRpcData().
Referenced by parseFile().
|
virtual |
Saves "decimation".
Then calls ossimRpcModel::saveState.
Reimplemented from ossimRpcModel.
Definition at line 287 of file ossimNitfRpcModel.cpp.
References ossimKeywordlist::add(), ossimRpcModel::saveState(), and theDecimation.
|
virtual |
worldToLineSample() Calls ossimRpcModel::worldToLineSample(), then applies (if needed) decimation.
This is a temp work around for decimation RPC NITFs.
Reimplemented from ossimRpcModel.
Definition at line 262 of file ossimNitfRpcModel.cpp.
References theDecimation, ossimRpcModel::worldToLineSample(), ossimDpt::x, and ossimDpt::y.
|
private |
Stored from header field "IMAG".
This is a temp work around to handle decimated rpc nitf's.
Definition at line 110 of file ossimNitfRpcModel.h.
Referenced by lineSampleHeightToWorld(), loadState(), saveState(), and worldToLineSample().