Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
vpgl_z_search_lsqr Class Reference

The image offsets of rational cameras typically must be adjusted to compensate for errors in geographic alignment. More...

#include <vpgl_rational_adjust_onept.h>

Inheritance diagram for vpgl_z_search_lsqr:
Inheritance graph
[legend]

Public Types

enum  UseGradient
 

Public Member Functions

 vpgl_z_search_lsqr (std::vector< vpgl_rational_camera< double > > cams, std::vector< float > cam_weights, std::vector< vgl_point_2d< double > > image_pts, vgl_point_3d< double > const &initial_pt, double const &relative_diameter=1.0)
 Constructor. More...
 
 ~vpgl_z_search_lsqr () override=default
 Destructor. More...
 
void f (vnl_vector< double > const &elevation, vnl_vector< double > &projection_error) override
 The main function. More...
 
double xm () const
 
double ym () const
 
void throw_failure ()
 
void clear_failure ()
 
virtual void gradf (vnl_vector< double > const &x, vnl_matrix< double > &jacobian)
 
void fdgradf (vnl_vector< double > const &x, vnl_matrix< double > &jacobian, double stepsize)
 
void ffdgradf (vnl_vector< double > const &x, vnl_matrix< double > &jacobian, double stepsize)
 
virtual void trace (int iteration, vnl_vector< double > const &x, vnl_vector< double > const &fx)
 
double rms (vnl_vector< double > const &x)
 
unsigned int get_number_of_unknowns () const
 
unsigned int get_number_of_residuals () const
 
bool has_gradient () const
 
bool VNL_ALGO_EXPORT vnl_discrete_diff_fwd (vnl_least_squares_function *lsf, double h, vnl_vector< double > const &x, vnl_matrix< double > &J)
 
bool VNL_ALGO_EXPORT vnl_discrete_diff_fwd (vnl_least_squares_function *lsf, vnl_vector< double > const &h, vnl_vector< double > const &x, vnl_matrix< double > &J)
 
bool VNL_ALGO_EXPORT vnl_discrete_diff_fwd (vnl_least_squares_function *lsf, vnl_vector< double > const &h, vnl_vector< double > const &x, vnl_vector< double > const &y, vnl_matrix< double > &J)
 
bool VNL_ALGO_EXPORT vnl_discrete_diff_sym (vnl_least_squares_function *lsf, double h, vnl_vector< double > const &x, vnl_matrix< double > &J)
 
bool VNL_ALGO_EXPORT vnl_discrete_diff_sym (vnl_least_squares_function *lsf, vnl_vector< double > const &h, vnl_vector< double > const &x, vnl_matrix< double > &J)
 

Public Attributes

 no_gradient
 
 use_gradient
 
bool failure
 

Protected Member Functions

 vpgl_z_search_lsqr ()
 
void init (unsigned int number_of_unknowns, unsigned int number_of_residuals)
 

Protected Attributes

vgl_point_3d< double > initial_pt_
 
std::vector< vpgl_rational_camera< double > > cameras_
 
std::vector< float > cam_weights_
 
std::vector< vgl_point_2d< double > > image_pts_
 
double xm_
 
double ym_
 
double relative_diameter_
 
unsigned int p_
 
unsigned int n_
 
bool use_gradient_
 

Detailed Description

The image offsets of rational cameras typically must be adjusted to compensate for errors in geographic alignment.

This algorithm finds a set of minimum translations that registers the input set of images. After registration, the images have geographically corresponding rational cameras. That is, a visible 3-d point will project into its corresponding image location in all the images.

Definition at line 34 of file vpgl_rational_adjust_onept.h.

Constructor & Destructor Documentation

◆ vpgl_z_search_lsqr() [1/2]

vpgl_z_search_lsqr::vpgl_z_search_lsqr ( std::vector< vpgl_rational_camera< double > >  cams,
std::vector< float >  cam_weights,
std::vector< vgl_point_2d< double > >  image_pts,
vgl_point_3d< double > const &  initial_pt,
double const &  relative_diameter = 1.0 
)

Constructor.

Definition at line 105 of file vpgl_rational_adjust_onept.cxx.

◆ ~vpgl_z_search_lsqr()

vpgl_z_search_lsqr::~vpgl_z_search_lsqr ( )
overridedefault

Destructor.

◆ vpgl_z_search_lsqr() [2/2]

vpgl_z_search_lsqr::vpgl_z_search_lsqr ( )
protected

Member Function Documentation

◆ f()

void vpgl_z_search_lsqr::f ( vnl_vector< double > const &  elevation,
vnl_vector< double > &  projection_error 
)
overridevirtual

The main function.

Given the parameter vector x, compute the vector of residuals fx. fx has been sized appropriately before the call.

Implements vnl_least_squares_function.

Definition at line 120 of file vpgl_rational_adjust_onept.cxx.

◆ xm()

double vpgl_z_search_lsqr::xm ( ) const
inline

Definition at line 51 of file vpgl_rational_adjust_onept.h.

◆ ym()

double vpgl_z_search_lsqr::ym ( ) const
inline

Definition at line 52 of file vpgl_rational_adjust_onept.h.

Member Data Documentation

◆ cam_weights_

std::vector<float> vpgl_z_search_lsqr::cam_weights_
protected

Definition at line 57 of file vpgl_rational_adjust_onept.h.

◆ cameras_

std::vector<vpgl_rational_camera<double> > vpgl_z_search_lsqr::cameras_
protected

Definition at line 56 of file vpgl_rational_adjust_onept.h.

◆ image_pts_

std::vector<vgl_point_2d<double> > vpgl_z_search_lsqr::image_pts_
protected

Definition at line 58 of file vpgl_rational_adjust_onept.h.

◆ initial_pt_

vgl_point_3d<double> vpgl_z_search_lsqr::initial_pt_
protected

Definition at line 55 of file vpgl_rational_adjust_onept.h.

◆ relative_diameter_

double vpgl_z_search_lsqr::relative_diameter_
protected

Definition at line 60 of file vpgl_rational_adjust_onept.h.

◆ xm_

double vpgl_z_search_lsqr::xm_
protected

Definition at line 59 of file vpgl_rational_adjust_onept.h.

◆ ym_

double vpgl_z_search_lsqr::ym_
protected

Definition at line 59 of file vpgl_rational_adjust_onept.h.


The documentation for this class was generated from the following files: