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

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

#include <vpgl_ray_intersect.h>

Inheritance diagram for vpgl_ray_intersect_lsqr:
Inheritance graph
[legend]

List of all members.

Public Types

enum  UseGradient

Public Member Functions

 vpgl_ray_intersect_lsqr (vcl_vector< vpgl_camera< double > * > const &cams, vcl_vector< vgl_point_2d< double > > const &image_pts, unsigned num_residuals)
 Constructor.
virtual ~vpgl_ray_intersect_lsqr ()
 Destructor.
virtual void f (vnl_vector< double > const &intersection_point, vnl_vector< double > &image_errors)
 The main function.
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_ray_intersect_lsqr ()
void init (unsigned int number_of_unknowns, unsigned int number_of_residuals)

Protected Attributes

vcl_vector< vpgl_camera
< double > * > 
f_cameras_
vcl_vector< vgl_point_2d
< double > > 
f_image_pts_
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 41 of file vpgl_ray_intersect.h.


Constructor & Destructor Documentation

vpgl_ray_intersect_lsqr::vpgl_ray_intersect_lsqr ( vcl_vector< vpgl_camera< double > * > const &  cams,
vcl_vector< vgl_point_2d< double > > const &  image_pts,
unsigned  num_residuals 
)

Constructor.

Definition at line 13 of file vpgl_ray_intersect.cxx.

virtual vpgl_ray_intersect_lsqr::~vpgl_ray_intersect_lsqr ( ) [inline, virtual]

Destructor.

Definition at line 50 of file vpgl_ray_intersect.h.

vpgl_ray_intersect_lsqr::vpgl_ray_intersect_lsqr ( ) [protected]

Member Function Documentation

void vpgl_ray_intersect_lsqr::f ( vnl_vector< double > const &  intersection_point,
vnl_vector< double > &  image_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 27 of file vpgl_ray_intersect.cxx.


Member Data Documentation

vcl_vector<vpgl_camera<double>* > vpgl_ray_intersect_lsqr::f_cameras_ [protected]

Definition at line 65 of file vpgl_ray_intersect.h.

vcl_vector<vgl_point_2d<double> > vpgl_ray_intersect_lsqr::f_image_pts_ [protected]

Definition at line 66 of file vpgl_ray_intersect.h.


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