Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes
vpgl_cam_trans_search_lsqr Class Reference

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>

Inheritance diagram for vpgl_cam_trans_search_lsqr:
Inheritance graph
[legend]

List of all members.

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_

Detailed Description

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.


Constructor & Destructor Documentation

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]

Member Function Documentation

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.


Member Data Documentation

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.


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