OTB
9.0.0
Orfeo Toolbox
|
#include <otbGCPsToRPCSensorModelImageFilter.h>
Public Types | |
typedef itk::SmartPointer< const Self > | ConstPointer |
typedef itk::ContinuousIndex< double, 3 > | Continuous3DIndexType |
typedef itk::ContinuousIndex | ContinuousIndexType |
typedef otb::DEMHandler | DEMHandlerType |
typedef std::vector< double > | ErrorsContainerType |
typedef std::vector< GCPType > | GCPsContainerType |
typedef std::pair< Point2DType, Point3DType > | GCPType |
typedef itk::Point< double, 2 > | Point2DType |
typedef itk::Point< double, 3 > | Point3DType |
typedef itk::SmartPointer< Self > | Pointer |
typedef GCPsToRPCSensorModelImageFilter | Self |
typedef itk::CastImageFilter< TImage, TImage > | Superclass |
Public Member Functions | |
virtual ::itk::LightObject::Pointer | CreateAnother (void) const |
virtual const char * | GetNameOfClass () const |
Static Public Member Functions | |
static Pointer | New () |
Static Public Attributes | |
static const unsigned int | ImageDimension = TImage::ImageDimension |
bool | m_UseImageGCPs |
double | m_RMSGroundError |
ErrorsContainerType | m_ErrorsContainer |
double | m_MeanError |
bool | m_UseDEM |
double | m_MeanElevation |
GCPsContainerType | m_GCPsContainer |
ImageMetadata | m_ImageMetadata |
bool | m_ModelUpToDate |
void | SetUseImageGCPs (bool use) |
void | LoadImageGCPs () |
virtual void | SetUseDEM (bool _arg) |
virtual bool | GetUseDEM () |
virtual void | UseDEMOn () |
virtual void | UseDEMOff () |
virtual void | SetMeanElevation (double _arg) |
virtual const double & | GetMeanElevation () const |
virtual const double & | GetRMSGroundError () const |
ErrorsContainerType & | GetErrorsContainer () |
virtual const double & | GetMeanError () const |
GCPsContainerType & | GetGCPsContainer () |
void | SetGCPsContainer (const GCPsContainerType &container) |
void | AddGCP (const Point2DType &sensorPoint, const Point3DType &groundPoint) |
void | AddGCP (const Point2DType &sensorPoint, const Point2DType &groundPoint) |
void | RemoveGCP (unsigned int id) |
void | ClearGCPs () |
GCPsToRPCSensorModelImageFilter () | |
~GCPsToRPCSensorModelImageFilter () override | |
void | PrintSelf (std::ostream &os, itk::Indent indent) const override |
void | GenerateOutputInformation () override |
void | Modified () const override |
GCPsToRPCSensorModelImageFilter (const Self &)=delete | |
void | operator= (const Self &)=delete |
void | ComputeErrors () |
This filter estimates a RPC sensor models from GCPs.
This filters estimates an RPC sensor model from a list of user defined GCPs. Internally, it uses an RpcSolver, which performs the estimation using the well known least-square method.
The UseImageGCPs flag allows importing GCPs from the image metadata, if any.
GCPs can be passed to the filter using one of the AddGCP method implementation.
The first implementation takes geographic points with elevation (3D points).
The second implementation accepts geographic points without the elevation information. In this case, either the mean elevation or an elevation fetch from a SRT directory is used, depending on the value of the UseDEM flag.
If UseDEM is set to true, the DEMHandler is used to retrieve the elevation information. The user can either set its own DEMHandler using the appropriate setter, or configure the existing internal DEMHandler using the Getter.
The RMS (root mean square) ground error is available through the appropriate getter.
Please note that GCPs are inferred to be given in physical coordinates. This is seamless in most cases.
Please note that at least 16 GCPs are required to estimate a proper RPC sensor model, although no warning will be reported to the user if the number of GCPs is lower than 16.
This filter does not modify the image buffer, but only the metadata. Therefore, it provides in-place support, which is enabled by default. Call InPlaceOff() to change the default behavior.
The output image can be given to the OrthorectificationFilter.
Definition at line 78 of file otbGCPsToRPCSensorModelImageFilter.h.
typedef itk::SmartPointer<const Self> otb::GCPsToRPCSensorModelImageFilter< TImage >::ConstPointer |
Definition at line 85 of file otbGCPsToRPCSensorModelImageFilter.h.
typedef itk::ContinuousIndex<double, 3> otb::GCPsToRPCSensorModelImageFilter< TImage >::Continuous3DIndexType |
Definition at line 95 of file otbGCPsToRPCSensorModelImageFilter.h.
typedef itk::ContinuousIndex otb::GCPsToRPCSensorModelImageFilter< TImage >::ContinuousIndexType |
Definition at line 94 of file otbGCPsToRPCSensorModelImageFilter.h.
typedef otb::DEMHandler otb::GCPsToRPCSensorModelImageFilter< TImage >::DEMHandlerType |
DEM typedef
Definition at line 98 of file otbGCPsToRPCSensorModelImageFilter.h.
typedef std::vector<double> otb::GCPsToRPCSensorModelImageFilter< TImage >::ErrorsContainerType |
Definition at line 92 of file otbGCPsToRPCSensorModelImageFilter.h.
typedef std::vector<GCPType> otb::GCPsToRPCSensorModelImageFilter< TImage >::GCPsContainerType |
Definition at line 91 of file otbGCPsToRPCSensorModelImageFilter.h.
typedef std::pair<Point2DType, Point3DType> otb::GCPsToRPCSensorModelImageFilter< TImage >::GCPType |
Definition at line 90 of file otbGCPsToRPCSensorModelImageFilter.h.
typedef itk::Point<double, 2> otb::GCPsToRPCSensorModelImageFilter< TImage >::Point2DType |
GCPs typedefs
Definition at line 88 of file otbGCPsToRPCSensorModelImageFilter.h.
typedef itk::Point<double, 3> otb::GCPsToRPCSensorModelImageFilter< TImage >::Point3DType |
Definition at line 89 of file otbGCPsToRPCSensorModelImageFilter.h.
typedef itk::SmartPointer<Self> otb::GCPsToRPCSensorModelImageFilter< TImage >::Pointer |
Definition at line 84 of file otbGCPsToRPCSensorModelImageFilter.h.
typedef GCPsToRPCSensorModelImageFilter otb::GCPsToRPCSensorModelImageFilter< TImage >::Self |
Standard class typedefs.
Definition at line 82 of file otbGCPsToRPCSensorModelImageFilter.h.
typedef itk::CastImageFilter<TImage, TImage> otb::GCPsToRPCSensorModelImageFilter< TImage >::Superclass |
Definition at line 83 of file otbGCPsToRPCSensorModelImageFilter.h.
|
protected |
Constructor
Definition at line 36 of file otbGCPsToRPCSensorModelImageFilter.hxx.
References otb::GCPsToRPCSensorModelImageFilter< TImage >::ClearGCPs().
|
overrideprotected |
Destructor
Definition at line 56 of file otbGCPsToRPCSensorModelImageFilter.hxx.
|
privatedelete |
True to use GCPs from image metadata as well
void otb::GCPsToRPCSensorModelImageFilter< TImage >::AddGCP | ( | const Point2DType & | sensorPoint, |
const Point2DType & | groundPoint | ||
) |
Add A GCP to the GCPContainer. This version of the AddGCP method accepts a 3D ground point and use the DEM or MeanElevation to get the corresponding elevation before calling the AddGCP acception 3D ground points.
Definition at line 109 of file otbGCPsToRPCSensorModelImageFilter.hxx.
References otb::DEMHandler::GetHeightAboveEllipsoid(), and otb::DEMHandler::GetInstance().
void otb::GCPsToRPCSensorModelImageFilter< TImage >::AddGCP | ( | const Point2DType & | sensorPoint, |
const Point3DType & | groundPoint | ||
) |
Add a GCP to the GCPContainer. This version of the AddGCP method accepts a 3D ground point and does not use DEM or MeanElevation to handle the elevation
Definition at line 98 of file otbGCPsToRPCSensorModelImageFilter.hxx.
void otb::GCPsToRPCSensorModelImageFilter< TImage >::ClearGCPs |
Clear all GCPs
Definition at line 149 of file otbGCPsToRPCSensorModelImageFilter.hxx.
Referenced by otb::GCPsToRPCSensorModelImageFilter< TImage >::GCPsToRPCSensorModelImageFilter().
|
private |
Transform all GCPs and compute the error and mean error
Definition at line 217 of file otbGCPsToRPCSensorModelImageFilter.hxx.
virtual::itk::LightObject::Pointer otb::GCPsToRPCSensorModelImageFilter< TImage >::CreateAnother | ( | void | ) | const |
|
overrideprotected |
Actual estimation of the sensor model takes place in the GenerateOutputInformation() method
Definition at line 263 of file otbGCPsToRPCSensorModelImageFilter.hxx.
References otb::RPC, and otb::RPCSolver::Solve().
GCPsToRPCSensorModelImageFilter< TImage >::ErrorsContainerType & otb::GCPsToRPCSensorModelImageFilter< TImage >::GetErrorsContainer |
Get the Error container
Definition at line 82 of file otbGCPsToRPCSensorModelImageFilter.hxx.
GCPsToRPCSensorModelImageFilter< TImage >::GCPsContainerType & otb::GCPsToRPCSensorModelImageFilter< TImage >::GetGCPsContainer |
Get the GCPsContainer
Definition at line 75 of file otbGCPsToRPCSensorModelImageFilter.hxx.
|
virtual |
True to use GCPs from image metadata as well
|
virtual |
Get the mean error
|
virtual |
Run-time type information (and related methods).
|
virtual |
Get the residual ground error
|
virtual |
True to use GCPs from image metadata as well
void otb::GCPsToRPCSensorModelImageFilter< TImage >::LoadImageGCPs |
True to use GCPs from image metadata as well
Definition at line 165 of file otbGCPsToRPCSensorModelImageFilter.hxx.
|
overrideprotected |
Drive the model up-to-date flag
Definition at line 64 of file otbGCPsToRPCSensorModelImageFilter.hxx.
|
static |
Method for creation through the object factory.
|
privatedelete |
True to use GCPs from image metadata as well
|
overrideprotected |
The PrintSelf method
Definition at line 294 of file otbGCPsToRPCSensorModelImageFilter.hxx.
void otb::GCPsToRPCSensorModelImageFilter< TImage >::RemoveGCP | ( | unsigned int | id | ) |
Remove a GCP given by it's coordinates
Definition at line 138 of file otbGCPsToRPCSensorModelImageFilter.hxx.
void otb::GCPsToRPCSensorModelImageFilter< TImage >::SetGCPsContainer | ( | const GCPsContainerType & | container | ) |
Set the GCP container
Definition at line 89 of file otbGCPsToRPCSensorModelImageFilter.hxx.
|
virtual |
Set/Get the mean elevation
|
virtual |
Set/Get/toggle the UseDEM flag
void otb::GCPsToRPCSensorModelImageFilter< TImage >::SetUseImageGCPs | ( | bool | use | ) |
Set/Get/toggle the UseImageGCPs flag
Definition at line 156 of file otbGCPsToRPCSensorModelImageFilter.hxx.
|
virtual |
True to use GCPs from image metadata as well
|
virtual |
True to use GCPs from image metadata as well
|
static |
Extract dimension from input and output image.
Definition at line 107 of file otbGCPsToRPCSensorModelImageFilter.h.
|
private |
The GCP error list
Definition at line 192 of file otbGCPsToRPCSensorModelImageFilter.h.
|
private |
Container of GCPs
Definition at line 205 of file otbGCPsToRPCSensorModelImageFilter.h.
|
private |
Definition at line 208 of file otbGCPsToRPCSensorModelImageFilter.h.
|
private |
If no DEM is used, a MeanElevation over the image is used instead
Definition at line 202 of file otbGCPsToRPCSensorModelImageFilter.h.
|
private |
The mean error
Definition at line 195 of file otbGCPsToRPCSensorModelImageFilter.h.
|
mutableprivate |
Flag to see if model is up-to-date
Definition at line 211 of file otbGCPsToRPCSensorModelImageFilter.h.
|
private |
The residual ground error
Definition at line 189 of file otbGCPsToRPCSensorModelImageFilter.h.
|
private |
True if a DEM should be used
Definition at line 198 of file otbGCPsToRPCSensorModelImageFilter.h.
|
private |
True to use GCPs from image metadata as well
Definition at line 186 of file otbGCPsToRPCSensorModelImageFilter.h.