This algorithm finds a set of minimum translations that registers the input set of images using multiple correspondences e.g. More...
#include <vpgl_rational_adjust_multipt.h>
Public Types | |
enum | UseGradient |
Public Member Functions | |
vpgl_cam_trans_search_lsqr (vcl_vector< vpgl_rational_camera< double > > const &cams, vcl_vector< vcl_vector< vgl_point_2d< double > > > const &image_pts, vcl_vector< vgl_point_3d< double > > const &initial_pts) | |
Constructor. | |
virtual | ~vpgl_cam_trans_search_lsqr () |
Destructor. | |
virtual void | f (vnl_vector< double > const &translation, vnl_vector< double > &projection_errors) |
The main function. | |
void | get_finals (vcl_vector< vgl_point_3d< double > > &finals) |
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_discrete_diff_fwd (vnl_least_squares_function *lsf, double h, vnl_vector< double > const &x, vnl_matrix< double > &J) |
bool | 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_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_discrete_diff_sym (vnl_least_squares_function *lsf, double h, vnl_vector< double > const &x, vnl_matrix< double > &J) |
bool | 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_cam_trans_search_lsqr () | |
void | init (unsigned int number_of_unknowns, unsigned int number_of_residuals) |
Protected Attributes | |
vcl_vector< vgl_point_3d < double > > | initial_pts_ |
vcl_vector < vpgl_rational_camera< double > > | cameras_ |
vcl_vector< vcl_vector < vgl_point_2d< double > > > | corrs_ |
vcl_vector< vgl_point_3d < double > > | finals_ |
unsigned int | p_ |
unsigned int | n_ |
bool | use_gradient_ |
This algorithm finds a set of minimum translations that registers the input set of images using multiple correspondences e.g.
multiple 3D points projecting to a set of 2D correspondences in each image 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 27 of file vpgl_rational_adjust_multipt.h.
vpgl_cam_trans_search_lsqr::vpgl_cam_trans_search_lsqr | ( | vcl_vector< vpgl_rational_camera< double > > const & | cams, |
vcl_vector< vcl_vector< vgl_point_2d< double > > > const & | image_pts, | ||
vcl_vector< vgl_point_3d< double > > const & | initial_pts | ||
) |
Constructor.
Definition at line 226 of file vpgl_rational_adjust_multipt.cxx.
virtual vpgl_cam_trans_search_lsqr::~vpgl_cam_trans_search_lsqr | ( | ) | [inline, virtual] |
Destructor.
Definition at line 35 of file vpgl_rational_adjust_multipt.h.
vpgl_cam_trans_search_lsqr::vpgl_cam_trans_search_lsqr | ( | ) | [protected] |
void vpgl_cam_trans_search_lsqr::f | ( | vnl_vector< double > const & | translation, |
vnl_vector< double > & | projection_errors | ||
) | [virtual] |
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 235 of file vpgl_rational_adjust_multipt.cxx.
void vpgl_cam_trans_search_lsqr::get_finals | ( | vcl_vector< vgl_point_3d< double > > & | finals | ) |
Definition at line 251 of file vpgl_rational_adjust_multipt.cxx.
vcl_vector<vpgl_rational_camera<double> > vpgl_cam_trans_search_lsqr::cameras_ [protected] |
Definition at line 48 of file vpgl_rational_adjust_multipt.h.
vcl_vector<vcl_vector<vgl_point_2d<double> > > vpgl_cam_trans_search_lsqr::corrs_ [protected] |
Definition at line 49 of file vpgl_rational_adjust_multipt.h.
vcl_vector<vgl_point_3d<double> > vpgl_cam_trans_search_lsqr::finals_ [protected] |
Definition at line 50 of file vpgl_rational_adjust_multipt.h.
vcl_vector<vgl_point_3d<double> > vpgl_cam_trans_search_lsqr::initial_pts_ [protected] |
Definition at line 47 of file vpgl_rational_adjust_multipt.h.