OSSIM - Open Source Software Image Map
Version 1.9.0 (20180803)
|
#include <ossimBilinearProjection.h>
Public Member Functions | |
ossimBilinearProjection () | |
ossimBilinearProjection (const ossimBilinearProjection &rhs) | |
ossimBilinearProjection (const ossimDpt &ul, const ossimDpt &ur, const ossimDpt &lr, const ossimDpt &ll, const ossimGpt &ulg, const ossimGpt &urg, const ossimGpt &lrg, const ossimGpt &llg) | |
virtual ossimObject * | dup () const |
virtual ossimGpt | origin () const |
virtual void | worldToLineSample (const ossimGpt &worldPoint, ossimDpt &lineSampPt) const |
virtual void | lineSampleToWorld (const ossimDpt &lineSampPt, ossimGpt &worldPt) const |
virtual void | lineSampleHeightToWorld (const ossimDpt &lineSampPt, const double &heightAboveEllipsoid, ossimGpt &worldPt) const |
virtual bool | saveState (ossimKeywordlist &kwl, const char *prefix=0) const |
virtual bool | loadState (const ossimKeywordlist &kwl, const char *prefix=0) |
virtual bool | operator== (const ossimProjection &projection) const |
virtual ossimDpt | getMetersPerPixel () const |
virtual std::ostream & | print (std::ostream &out) const |
Outputs theErrorStatus as an ossimErrorCode and an ossimString. More... | |
virtual ossim_float64 | setTiePoints (const std::vector< ossimDpt > &lsPt, const std::vector< ossimGpt > &geoPt) |
virtual bool | setupOptimizer (const ossimString &setup) |
setupFromString() Derived classes should implement as needed. Initialize parameters needed for optimizeFit and degreesOfFreedom More... | |
virtual bool | useForward () const |
virtual ossim_uint32 | degreesOfFreedom () const |
better go from image to ground, also means that errors variance are in squared meters More... | |
virtual double | optimizeFit (const ossimTieGptSet &tieSet, double *targetVariance=0) |
virtual bool | isAffectedByElevation () const |
Implementation of pure virtual ossimProjection::isAffectedByElevation method. More... | |
void | getTiePoints (std::vector< ossimDpt > &lsPt, std::vector< ossimGpt > &geoPt) const |
Access method for tie point information. 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 | needsInitialState () const |
needsInitialState() More... | |
Protected Member Functions | |
virtual | ~ossimBilinearProjection () |
void | initializeBilinear () |
bool | dPtsHaveNan () const |
Checks theLineSamplePt for nans. More... | |
bool | gPtsHaveNan () const |
Checks theGeographicPt for nans. More... | |
ossimDpt | midLineSamplePt () const |
![]() | |
virtual | ~ossimReferenced () |
Protected Attributes | |
std::vector< ossimDpt > | theLineSamplePt |
std::vector< ossimGpt > | theGeographicPt |
ossimLeastSquaresBilin | theLatFit |
ossimLeastSquaresBilin | theLonFit |
ossimLeastSquaresBilin | theXFit |
ossimLeastSquaresBilin | theYFit |
bool | theInterpolationPointsHaveNanFlag |
bool | theInverseSupportedFlag |
![]() | |
ossimErrorCode | theErrorStatus |
Definition at line 19 of file ossimBilinearProjection.h.
ossimBilinearProjection::ossimBilinearProjection | ( | ) |
Definition at line 37 of file ossimBilinearProjection.cpp.
Referenced by dup().
ossimBilinearProjection::ossimBilinearProjection | ( | const ossimBilinearProjection & | rhs | ) |
Definition at line 50 of file ossimBilinearProjection.cpp.
ossimBilinearProjection::ossimBilinearProjection | ( | const ossimDpt & | ul, |
const ossimDpt & | ur, | ||
const ossimDpt & | lr, | ||
const ossimDpt & | ll, | ||
const ossimGpt & | ulg, | ||
const ossimGpt & | urg, | ||
const ossimGpt & | lrg, | ||
const ossimGpt & | llg | ||
) |
Definition at line 59 of file ossimBilinearProjection.cpp.
References initializeBilinear(), theGeographicPt, and theLineSamplePt.
|
protectedvirtual |
Definition at line 87 of file ossimBilinearProjection.cpp.
|
virtual |
better go from image to ground, also means that errors variance are in squared meters
Implements ossimOptimizableProjection.
Definition at line 534 of file ossimBilinearProjection.cpp.
|
protected |
Checks theLineSamplePt for nans.
Definition at line 391 of file ossimBilinearProjection.cpp.
References theLineSamplePt.
Referenced by initializeBilinear(), and midLineSamplePt().
|
virtual |
Implements ossimProjection.
Definition at line 91 of file ossimBilinearProjection.cpp.
References ossimBilinearProjection().
|
virtual |
ACCESS METHODS:
Implements ossimProjection.
Definition at line 313 of file ossimBilinearProjection.cpp.
References lineSampleToWorld(), ossimEcefVector::magnitude(), midLineSamplePt(), and ossimDpt::x.
void ossimBilinearProjection::getTiePoints | ( | std::vector< ossimDpt > & | lsPt, |
std::vector< ossimGpt > & | geoPt | ||
) | const |
Access method for tie point information.
Definition at line 552 of file ossimBilinearProjection.cpp.
References theGeographicPt, and theLineSamplePt.
|
protected |
Checks theGeographicPt for nans.
Definition at line 410 of file ossimBilinearProjection.cpp.
References theGeographicPt.
Referenced by initializeBilinear(), and origin().
|
protected |
Definition at line 341 of file ossimBilinearProjection.cpp.
References ossimLeastSquaresBilin::addSample(), ossimLeastSquaresBilin::clear(), dPtsHaveNan(), ossimProjection::getRoundTripError(), gPtsHaveNan(), ossimDpt::length(), ossimLeastSquaresBilin::solveLS(), theGeographicPt, theInterpolationPointsHaveNanFlag, theInverseSupportedFlag, theLatFit, theLineSamplePt, theLonFit, theXFit, theYFit, x, and y.
Referenced by ossimBilinearProjection(), and setTiePoints().
|
inlinevirtual |
Implementation of pure virtual ossimProjection::isAffectedByElevation method.
Implements ossimProjection.
Definition at line 90 of file ossimBilinearProjection.h.
|
virtual |
METHOD: lineSampleHeightToWorld This is the pure virtual that projects the image point to the given elevation above ellipsoid, thereby bypassing reference to a DEM. Useful for projections that are sensitive to elevation (such as sensor models).
Implements ossimProjection.
Definition at line 155 of file ossimBilinearProjection.cpp.
References ossimGpt::datum(), ossimGpt::hgt, ossim::isnan(), ossimGpt::lat, ossimGpt::lon, ossimLeastSquaresBilin::lsFitValue(), ossimGpt::makeNan(), theGeographicPt, theInterpolationPointsHaveNanFlag, theLatFit, theLonFit, ossimDpt::x, and ossimDpt::y.
Referenced by lineSampleToWorld().
|
virtual |
METHOD: lineSampleToWorld() Performs the inverse projection from line, sample to ground (world):
Implements ossimProjection.
Definition at line 146 of file ossimBilinearProjection.cpp.
References lineSampleHeightToWorld(), and ossim::nan().
Referenced by getMetersPerPixel().
|
virtual |
Method to the load (recreate) the state of the object from a keyword list. Return true if ok or false on error.
Reimplemented from ossimProjection.
Definition at line 228 of file ossimBilinearProjection.cpp.
References ossimString::empty(), ossimKeywordlist::find(), ossimGpt::height(), ossimGpt::isHgtNan(), ossimProjection::loadState(), ossimKeywordlist::numberOf(), theGeographicPt, theLineSamplePt, ossimDpt::toPoint(), ossimGpt::toPoint(), ossimString::toString(), and ossim::toVector().
|
protected |
Definition at line 433 of file ossimBilinearProjection.cpp.
References dPtsHaveNan(), ossimDpt::makeNan(), theLineSamplePt, ossimDpt::x, x, ossimDpt::y, and y.
Referenced by getMetersPerPixel().
|
virtual |
OPERATOR: == Compares this instance with arg projection.
Implements ossimProjection.
Definition at line 308 of file ossimBilinearProjection.cpp.
|
virtual |
optimizeFit() adjusts projection to GLOBALLY fit best to ALL tie points (no outlier rejection) can select an optional threshold for accuracy
RETURNS : resulting image error variance of fitted model, or negative value for error
IMPORTANT : the unit for *targetVariance and the returned value is : meters^2 when useForward() is true OR pixel^2 if useForward() is false
Implements ossimOptimizableProjection.
Definition at line 540 of file ossimBilinearProjection.cpp.
References ossimTieGptSet::getSlaveMasterPoints(), and setTiePoints().
|
virtual |
METHOD: origin() Returns projection's ground point origin. That is the GP corresponding to line=0, sample=0.
Implements ossimProjection.
Definition at line 96 of file ossimBilinearProjection.cpp.
References ossimGpt::datum(), gPtsHaveNan(), ossimGpt::height(), ossimGpt::latd(), ossimGpt::lond(), ossimGpt::makeNan(), and theGeographicPt.
|
virtual |
Outputs theErrorStatus as an ossimErrorCode and an ossimString.
Reimplemented from ossimProjection.
Definition at line 459 of file ossimBilinearProjection.cpp.
References ossimNotify(), ossimNotifyLevel_INFO, ossimProjection::print(), theGeographicPt, and theLineSamplePt.
|
virtual |
METHODS: saveState, loadState Fulfills ossimObject base-class pure virtuals.
Reimplemented from ossimProjection.
Definition at line 180 of file ossimBilinearProjection.cpp.
References ossimKeywordlist::add(), ossimString::c_str(), os2, ossimProjection::saveState(), theGeographicPt, theLineSamplePt, ossimString::toString(), and ossim::toStringList().
|
virtual |
METHOD: setTiePoints add any number of tie points and calculate bilinear fit returns the ground error variance (=RMS^2), in meters^2
Definition at line 489 of file ossimBilinearProjection.cpp.
References ossimGpt::hgt, initializeBilinear(), ossimGpt::lat, ossimGpt::lon, ossimLeastSquaresBilin::lsFitValue(), ossimNotify(), ossimNotifyLevel_INFO, theGeographicPt, theLatFit, theLineSamplePt, and theLonFit.
Referenced by ossim_hdf5::getBilinearProjection(), and optimizeFit().
|
virtual |
setupFromString() Derived classes should implement as needed. Initialize parameters needed for optimizeFit and degreesOfFreedom
Reimplemented from ossimOptimizableProjection.
Definition at line 528 of file ossimBilinearProjection.cpp.
|
inlinevirtual |
useForward() return true when it's better (more accurate / fast) to use forward (from ground to image) than inverse(from image to ground)
Implements ossimOptimizableProjection.
Definition at line 79 of file ossimBilinearProjection.h.
|
virtual |
METHOD: worldToLineSample() Performs the forward projection from ground point to line, sample.
Implements ossimProjection.
Definition at line 125 of file ossimBilinearProjection.cpp.
References ossimGpt::latd(), ossimGpt::lond(), ossimLeastSquaresBilin::lsFitValue(), ossimDpt::makeNan(), theInterpolationPointsHaveNanFlag, theInverseSupportedFlag, theXFit, theYFit, ossimProjection::worldToLineSample(), ossimDpt::x, and ossimDpt::y.
|
protected |
Definition at line 119 of file ossimBilinearProjection.h.
Referenced by getTiePoints(), gPtsHaveNan(), initializeBilinear(), lineSampleHeightToWorld(), loadState(), origin(), ossimBilinearProjection(), print(), saveState(), and setTiePoints().
|
protected |
Definition at line 125 of file ossimBilinearProjection.h.
Referenced by initializeBilinear(), lineSampleHeightToWorld(), and worldToLineSample().
|
protected |
Definition at line 126 of file ossimBilinearProjection.h.
Referenced by initializeBilinear(), and worldToLineSample().
|
protected |
Definition at line 120 of file ossimBilinearProjection.h.
Referenced by initializeBilinear(), lineSampleHeightToWorld(), and setTiePoints().
|
protected |
Definition at line 118 of file ossimBilinearProjection.h.
Referenced by dPtsHaveNan(), getTiePoints(), initializeBilinear(), loadState(), midLineSamplePt(), ossimBilinearProjection(), print(), saveState(), and setTiePoints().
|
protected |
Definition at line 121 of file ossimBilinearProjection.h.
Referenced by initializeBilinear(), lineSampleHeightToWorld(), and setTiePoints().
|
protected |
Definition at line 122 of file ossimBilinearProjection.h.
Referenced by initializeBilinear(), and worldToLineSample().
|
protected |
Definition at line 123 of file ossimBilinearProjection.h.
Referenced by initializeBilinear(), and worldToLineSample().