OSSIM - Open Source Software Image Map
Version 1.9.0 (20180803)
|
This class allows for direct localisation and indirect localisation using the CosmoSkymed sensor model. More...
#include <ossimCosmoSkymedModel.h>
Public Member Functions | |
ossimCosmoSkymedModel () | |
Constructor. More... | |
~ossimCosmoSkymedModel () | |
Destructor. More... | |
virtual double | getSlantRangeFromGeoreferenced (double col) const |
This function associates an image column number to a slant range when the image is georeferenced (ground projected) More... | |
![]() | |
ossimGeometricSarSensorModel () | |
default constructor More... | |
ossimGeometricSarSensorModel (const ossimGeometricSarSensorModel &rhs) | |
copy constructor More... | |
virtual | ~ossimGeometricSarSensorModel () |
Destructor. More... | |
virtual double | getSlantRange (double col) const |
This function associates an image column number to a slant range. More... | |
virtual JSDDateTime | getTime (double line) const |
This function associates an image line number to an azimuth time. More... | |
virtual bool | getPlatformPositionAtLine (double line, vector< double > &position, vector< double > &speed) |
This function associates an image line number to a platform position and speed. More... | |
virtual void | lineSampleHeightToWorld (const ossimDpt &image_point, const double &heightEllipsoid, ossimGpt &worldPoint) const |
This function is able to convert image coordinates into world coordinates the geometric model of SAR sensors. More... | |
virtual bool | optimizeModel (const std::list< ossimGpt > &groundCoordinates, const std::list< ossimDpt > &imageCoordinates) |
This function optimizes the model according to a list of Ground Control Points. More... | |
virtual void | clearGCPlist () |
Clears _optimizationGCPsGroundCoordinates and _optimizationGCPsImageCoordinates attributes Updates the optimisation factors and bias. More... | |
virtual void | getGCPlist (std::list< ossimGpt > &groundCoordinates, std::list< ossimDpt > &imageCoordinates) |
Returns _optimizationGCPsGroundCoordinates and _optimizationGCPsImageCoordinates attributes. More... | |
virtual bool | useForward () const |
virtual bool | saveState (ossimKeywordlist &kwl, const char *prefix=0) const |
Method to save object state to a keyword list. More... | |
virtual bool | loadState (const ossimKeywordlist &kwl, const char *prefix=0) |
Method to the load (recreate) the state of the object from a keyword list. More... | |
virtual std::ostream & | print (std::ostream &out) const |
double | get_optimizationFactorX () const |
Accessors to the optimization parameters. More... | |
double | get_optimizationFactorY () const |
double | get_optimizationBiasX () const |
double | get_optimizationBiasY () const |
ossimRefPtr< ossimCoarseGridModel > | getReplacementOcgModel () |
virtual void | lineSampleToWorld (const ossimDpt &image_point, ossimGpt &gpt) const |
void | set_platformPosition (PlatformPosition *platformPosition) |
Accessors to the plateform, sensor parameters and reference point. More... | |
void | set_sensorParams (SensorParams *sensorParams) |
void | set_refPoint (RefPoint *refPoint) |
PlatformPosition * | get_platformPosition () const |
SensorParams * | get_sensorParams () const |
RefPoint * | get_refPoint () 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 void | worldToLineSample (const ossimGpt &world_point, ossimDpt &image_point) const |
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 void | updateModel () |
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 ossimObject * | dup () const =0 |
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) |
virtual void | initAdjustableParameters () |
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 | |
virtual bool | InitPlatformPosition (const ossimKeywordlist &kwl, const char *prefix) |
Initializes the Platform Position from a projection keywordlist. More... | |
virtual bool | InitSensorParams (const ossimKeywordlist &kwl, const char *prefix) |
Initializes the Sensor Params from a projection keywordlist. More... | |
virtual bool | InitRefPoint (const ossimKeywordlist &kwl, const char *prefix) |
Initializes the Reference Point from a projection keywordlist. More... | |
virtual bool | InitSRGR (const ossimKeywordlist &kwl, const char *prefix) |
Initializes the Slant Range to Ground Range data sets : _SrToGr_R0,_SrToGr_coeffs_number,_SrToGr_exponent,_SrToGr_coeffs,_nbCol. More... | |
bool | UtcDateTimeStringToCivilDate (const std::string &utcString, CivilDateTime &outputDate) |
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) |
![]() | |
static const char * | CREATE_OCG_PREF_KW = "geometric_sar_sensor_model.create_ocg" |
![]() | |
bool | createReplacementOCG () |
Creates replacement coarse grid model if user requested via ossim preferences keyword "geometric_sar_sensor_model.create_ocg: <bool>". More... | |
![]() | |
virtual | ~ossimSensorModel () |
virtual ossimDpt | extrapolate (const ossimGpt &gp) const |
virtual ossimGpt | extrapolate (const ossimDpt &ip, const double &height=ossim::nan()) const |
void | buildNormalEquation (const ossimTieGptSet &tieSet, NEWMAT::SymmetricMatrix &A, NEWMAT::ColumnVector &residue, NEWMAT::ColumnVector &projResidue, double pstep_scale) |
NEWMAT::ColumnVector | getResidue (const ossimTieGptSet &tieSet) |
NEWMAT::ColumnVector | solveLeastSquares (NEWMAT::SymmetricMatrix &A, NEWMAT::ColumnVector &r) const |
NEWMAT::Matrix | invert (const NEWMAT::Matrix &m) const |
stable invert stolen from ossimRpcSolver More... | |
![]() | |
virtual | ~ossimReferenced () |
![]() | |
bool | paramChanged (ossim_uint32 param_idx) const |
Returns true if specified parameter has been modified since last setAllChangeFlag(false) call. More... | |
void | setAllChangeFlags (bool areChanged) |
Sets all the change flags to the boolean indicated to indicate parameters are changed (TRUE) or not (FALSE). More... | |
void | initChangeFlags () |
Initializes the change flags to TRUE. More... | |
This class allows for direct localisation and indirect localisation using the CosmoSkymed sensor model.
Definition at line 37 of file ossimCosmoSkymedModel.h.
ossimplugins::ossimCosmoSkymedModel::ossimCosmoSkymedModel | ( | ) |
Constructor.
Definition at line 31 of file ossimCosmoSkymedModel.cpp.
ossimplugins::ossimCosmoSkymedModel::~ossimCosmoSkymedModel | ( | ) |
|
virtual |
This function associates an image column number to a slant range when the image is georeferenced (ground projected)
col | Column coordinate of the image point |
Implements ossimplugins::ossimGeometricSarSensorModel.
Definition at line 43 of file ossimCosmoSkymedModel.cpp.
References _pixel_spacing, ossimplugins::ossimGeometricSarSensorModel::_refPoint, ossimplugins::ossimGeometricSarSensorModel::_sensor, _SrGr_coeffs, _SrGr_R0, ossimplugins::SensorParams::get_col_direction(), ossimplugins::RefPoint::get_distance(), and ossimplugins::RefPoint::get_pix_col().
|
privatevirtual |
Initializes the Platform Position from a projection keywordlist.
Implements ossimplugins::ossimGeometricSarSensorModel.
Definition at line 128 of file ossimCosmoSkymedModel.cpp.
References ossimplugins::ossimGeometricSarSensorModel::_platformPosition, ossimKeywordlist::find(), ossimplugins::CivilDateTime::get_day(), ossimplugins::CivilDateTime::get_month(), ossimplugins::CivilDateTime::get_year(), and UtcDateTimeStringToCivilDate().
|
privatevirtual |
Initializes the Reference Point from a projection keywordlist.
Implements ossimplugins::ossimGeometricSarSensorModel.
Definition at line 215 of file ossimCosmoSkymedModel.cpp.
References ossimplugins::ossimGeometricSarSensorModel::_isProductGeoreferenced, _pixel_spacing, ossimplugins::ossimGeometricSarSensorModel::_platformPosition, ossimplugins::ossimGeometricSarSensorModel::_refPoint, ossimplugins::ossimGeometricSarSensorModel::_sensor, distance(), ossimKeywordlist::find(), ossimplugins::CivilDateTime::get_day(), ossimplugins::CivilDateTime::get_month(), ossimplugins::SensorParams::get_nRangeLook(), ossimplugins::RefPoint::get_pix_col(), ossimplugins::SensorParams::get_prf(), ossimplugins::SensorParams::get_sf(), ossimplugins::CivilDateTime::get_year(), ossimplugins::PlatformPosition::Interpolate(), ossimplugins::ossimGeometricSarSensorModel::optimizeModel(), ossimplugins::RefPoint::set_distance(), ossimplugins::RefPoint::set_ephemeris(), ossimplugins::RefPoint::set_pix_col(), ossimplugins::RefPoint::set_pix_line(), ossimSensorModel::theImageClipRect, ossimSensorModel::theImageSize, UtcDateTimeStringToCivilDate(), ossimIpt::x, and ossimIpt::y.
|
privatevirtual |
Initializes the Sensor Params from a projection keywordlist.
Implements ossimplugins::ossimGeometricSarSensorModel.
Definition at line 58 of file ossimCosmoSkymedModel.cpp.
References ossimplugins::ossimGeometricSarSensorModel::_sensor, ossimKeywordlist::find(), ossimplugins::SensorParams::Left, ossimplugins::SensorParams::Right, ossimplugins::SensorParams::set_col_direction(), ossimplugins::SensorParams::set_lin_direction(), ossimplugins::SensorParams::set_nAzimuthLook(), ossimplugins::SensorParams::set_nRangeLook(), ossimplugins::SensorParams::set_prf(), ossimplugins::SensorParams::set_rwl(), ossimplugins::SensorParams::set_semiMajorAxis(), ossimplugins::SensorParams::set_semiMinorAxis(), ossimplugins::SensorParams::set_sf(), and ossimplugins::SensorParams::set_sightDirection().
|
privatevirtual |
Initializes the Slant Range to Ground Range data sets : _SrToGr_R0,_SrToGr_coeffs_number,_SrToGr_exponent,_SrToGr_coeffs,_nbCol.
Implements ossimplugins::ossimGeometricSarSensorModel.
Definition at line 324 of file ossimCosmoSkymedModel.cpp.
References ossimplugins::ossimGeometricSarSensorModel::_isProductGeoreferenced, _nbCol, _pixel_spacing, _SrGr_coeffs, _SrGr_R0, and ossimKeywordlist::find().
|
private |
Definition at line 357 of file ossimCosmoSkymedModel.cpp.
References ossimplugins::CivilDateTime::set_day(), ossimplugins::CivilDateTime::set_decimal(), ossimplugins::CivilDateTime::set_month(), ossimplugins::CivilDateTime::set_second(), ossimplugins::CivilDateTime::set_year(), and true.
Referenced by InitPlatformPosition(), and InitRefPoint().
|
protected |
|
protected |
Pixel spacing.
Definition at line 77 of file ossimCosmoSkymedModel.h.
Referenced by getSlantRangeFromGeoreferenced(), InitRefPoint(), and InitSRGR().
|
protected |
Scene Center range time.
Definition at line 73 of file ossimCosmoSkymedModel.h.
|
protected |
Slant Range for each Ground Range Projection coefficients.
Definition at line 69 of file ossimCosmoSkymedModel.h.
Referenced by getSlantRangeFromGeoreferenced(), and InitSRGR().
|
protected |
Slant Range for each Ground Range Projection reference point.
Definition at line 65 of file ossimCosmoSkymedModel.h.
Referenced by getSlantRangeFromGeoreferenced(), and InitSRGR().