OSSIM - Open Source Software Image Map
Version 1.9.0 (20180803)
|
#include <ossimH5GridModel.h>
Public Member Functions | |
ossimH5GridModel () | |
default constructor. More... | |
virtual | ~ossimH5GridModel () |
virtual destructor More... | |
bool | setGridNodes (H5::DataSet *latDataSet, H5::DataSet *lonDataSet, const ossimIrect &validRect) |
Initializes the latitude and longitude ossimDblGrids from file. More... | |
virtual bool | saveState (ossimKeywordlist &kwl, const char *prefix=0) const |
saveState Saves state of object to a keyword list. More... | |
virtual bool | loadState (const ossimKeywordlist &kwl, const char *prefix=0) |
loadState Loads state of object from a keyword list. More... | |
virtual void | worldToLineSample (const ossimGpt &world_point, ossimDpt &image_point) const |
METHOD: extrapolate() Extrapolates solutions for points outside of the image. More... | |
![]() | |
ossimCoarseGridModel () | |
ossimCoarseGridModel (const ossimCoarseGridModel ©_this) | |
ossimCoarseGridModel (const ossimFilename &geom_file) | |
Accepts name of geometry file. More... | |
ossimCoarseGridModel (const ossimKeywordlist &geom_kwl) | |
Accepts OSSIM keywordlist geometry file. More... | |
~ossimCoarseGridModel () | |
virtual void | buildGrid (const ossimDrect &imageBounds, ossimProjection *proj, double heightDelta=500.0, bool enableHeightFlag=false, bool makeAdjustableFlag=true) |
This method will build a grid from any projector. More... | |
virtual void | buildGrid (const ossimDrect &imageBounds, ossimImageGeometry *geom, double heightDelta=500.0, bool enableHeightFlag=false, bool makeAdjustableFlag=true) |
Assigns the grid data given a geometry. More... | |
virtual std::ostream & | print (std::ostream &out) const |
Extends base-class implementation. More... | |
virtual ossimObject * | dup () const |
Returns pointer to a new instance, copy of this. More... | |
bool | saveCoarseGrid (const ossimFilename &cgFileName) const |
Saves the coarse grid to the specified file. More... | |
bool | loadCoarseGrid (const ossimFilename &cgFileName) |
Loads the coarse grid from the specified file. More... | |
virtual void | imagingRay (const ossimDpt &image_point, ossimEcefRay &image_ray) const |
virtual void | lineSampleToWorld (const ossimDpt &image_point, ossimGpt &gpt) const |
virtual void | lineSampleHeightToWorld (const ossimDpt &image_point, const double &heightEllipsoid, ossimGpt &world_pt) const |
This is the virtual that performs the actual work of projecting the image point to the earth at some specified elevation. More... | |
virtual void | initAdjustableParameters () |
virtual bool | useForward () const |
virtual bool | isAffectedByElevation () const |
image to ground faster 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 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... | |
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... | |
Protected Member Functions | |
void | initializeModelParams (ossimIrect imageBounds) |
Initializes base class data members after grids have been assigned. More... | |
virtual ossimDpt | extrapolate (const ossimGpt &gp) const |
extrapolate() Extrapolates solutions for points outside of the image. More... | |
![]() | |
void | reallocateGrid (const ossimIpt &size) |
Deletes existing allocated memory and reallocates new space. More... | |
void | initializeModelParams (ossimIrect irect) |
Initializes base class data members after grids have been assigned. More... | |
virtual ossimGpt | extrapolate (const ossimDpt &imgPt, const double &height=ossim::nan()) const |
Implements its own extrapolation since this can be handled by ossimDblGrid. More... | |
![]() | |
virtual | ~ossimSensorModel () |
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... | |
Private Member Functions | |
bool | getWktFootprint (std::string &s) const |
void | debugDump () |
Private Attributes | |
bool | m_crossesDateline |
ossimPolygon | m_boundGndPolygon |
Definition at line 42 of file ossimH5GridModel.h.
ossimH5GridModel::ossimH5GridModel | ( | ) |
default constructor.
Definition at line 43 of file ossimH5GridModel.cpp.
References ossimDblGrid::SAWTOOTH_90, ossimDblGrid::setDomainType(), and ossimCoarseGridModel::theLatGrid.
|
virtual |
|
private |
Definition at line 1013 of file ossimH5GridModel.cpp.
References ossimSensorModel::theImageSize, ossimCoarseGridModel::theLatGrid, ossimCoarseGridModel::theLonGrid, ossimIpt::u, ossimDpt::u, ossimIpt::v, ossimDpt::v, and ossimIpt::y.
extrapolate() Extrapolates solutions for points outside of the image.
Overrides base class method to handle date line cross.
Reimplemented from ossimSensorModel.
Definition at line 760 of file ossimH5GridModel.cpp.
|
private |
Definition at line 868 of file ossimH5GridModel.cpp.
References ossim::isnan(), ossimIrect::lr(), status, STEP, ossimSensorModel::theImageSize, ossimCoarseGridModel::theLatGrid, ossimCoarseGridModel::theLonGrid, ossimIrect::ur(), ossimIpt::x, x, ossimIpt::y, and y.
|
protected |
Initializes base class data members after grids have been assigned.
Overrides base class method to handle date line cross.
Definition at line 695 of file ossimH5GridModel.cpp.
References ossimGpt::distanceTo(), ossimDblGrid::enableExtrapolation(), ossimDblGrid::getNode(), ossimIrect::height(), ossimDpt::lat, ossimGpt::lat, ossimGpt::limitLonTo180(), ossimDpt::line, ossimGpt::lon, m_boundGndPolygon, m_crossesDateline, ossimIrect::midPoint(), ossimDpt::samp, ossimDblGrid::size(), ossimDblGrid::spacing(), ossimSensorModel::theBoundGndPolygon, ossimSensorModel::theGSD, ossimCoarseGridModel::theHeightEnabledFlag, ossimSensorModel::theImageClipRect, ossimSensorModel::theImageSize, ossimCoarseGridModel::theLatGrid, ossimCoarseGridModel::theLonGrid, ossimSensorModel::theMeanGSD, ossimSensorModel::theRefGndPt, ossimSensorModel::theRefImgPt, ossimSensorModel::theSubImageOffset, ossimIrect::width(), ossimDpt::x, and ossimDpt::y.
Referenced by setGridNodes().
|
virtual |
loadState Loads state of object from a keyword list.
kwl | Keyword list to initialize from. |
prefix | E.g. "image0.geometry.projection." |
Reimplemented from ossimCoarseGridModel.
Definition at line 445 of file ossimH5GridModel.cpp.
References ossimKeywordlist::findKey(), ossimProjectionFactoryRegistry::instance(), and ossimSensorModel::theSeedFunction.
|
virtual |
saveState Saves state of object to a keyword list.
kwl | Initialized by this. |
prefix | E.g. "image0.geometry.projection." |
Reimplemented from ossimCoarseGridModel.
Definition at line 401 of file ossimH5GridModel.cpp.
References ossimKeywordlist::addPair(), m_crossesDateline, ossimCoarseGridModel::saveState(), status, ossimString::string(), and ossimString::toString().
bool ossimH5GridModel::setGridNodes | ( | H5::DataSet * | latDataSet, |
H5::DataSet * | lonDataSet, | ||
const ossimIrect & | validRect | ||
) |
Initializes the latitude and longitude ossimDblGrids from file.
latDataSet | H5::DataSet* to layer, e.g. /All_Data/VIIRS-DNB-GEO_All/Latitude |
lonDataSet | H5::DataSet* to layer, e.g. /All_Data/VIIRS-DNB-GEO_All/Longitude |
validRect | Valid rectangle of image. |
This can throw an ossimException on nans.
Definition at line 56 of file ossimH5GridModel.cpp.
References ossim::byteOrder(), ossim_hdf5::crossesDateline(), ossim_hdf5::getBilinearProjection(), ossim_hdf5::getByteOrder(), ossimDblGrid::getNode(), ossim_hdf5::getScalarType(), ossimIrect::height(), ossimDblGrid::initialize(), initializeModelParams(), m_crossesDateline, ossim::nan(), OSSIM_FLOAT32, ossimDblGrid::setDomainType(), ossimDblGrid::setNode(), ossimDblGrid::setNullValue(), status, ossimEndian::swap(), ossimCoarseGridModel::theLatGrid, ossimCoarseGridModel::theLonGrid, ossimSensorModel::theSeedFunction, ossimIrect::ul(), ossimIrect::width(), ossimDblGrid::WRAP_180, ossimDblGrid::WRAP_360, ossimIpt::x, x, ossimIpt::y, and y.
|
virtual |
METHOD: extrapolate() Extrapolates solutions for points outside of the image.
The second version accepts a height value – if left at the default, the elevation will be looked up via theElevation object.
Reimplemented from ossimSensorModel.
Definition at line 508 of file ossimH5GridModel.cpp.
References ossim::almostEqual(), DBL_EPSILON, ossimCoarseGridModel::extrapolate(), ossimPolygon::getNumberOfVertices(), ossimPolygon::hasNans(), ossimGpt::hgt, ossimGpt::isLatNan(), ossimGpt::isLonNan(), ossim::isnan(), ossimDpt::lat, ossimGpt::lat, ossimCoarseGridModel::lineSampleHeightToWorld(), ossimDpt::lon, ossimGpt::lon, m_boundGndPolygon, m_crossesDateline, ossimDpt::makeNan(), ossimPolygon::pointWithin(), ossimSensorModel::theRefImgPt, ossimSensorModel::theSeedFunction, ossimSensorModel::theSubImageOffset, ossimDpt::u, ossimDpt::v, ossimRefPtr< T >::valid(), ossimProjection::worldToLineSample(), and ossimDpt::x.
|
private |
Definition at line 122 of file ossimH5GridModel.h.
Referenced by initializeModelParams(), and worldToLineSample().
|
private |
Definition at line 115 of file ossimH5GridModel.h.
Referenced by initializeModelParams(), saveState(), setGridNodes(), and worldToLineSample().