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

#include <vgl_h_matrix_2d_optimize_lmq.h>

Inheritance diagram for vgl_h_matrix_2d_optimize_lmq:
Inheritance graph
[legend]

Public Member Functions

 vgl_h_matrix_2d_optimize_lmq (vgl_h_matrix_2d< double > const &initial_h)
 Constructor from initial homography to be optimized. More...
 
int minimum_number_of_correspondences () const override
 
void set_verbose (bool v)
 set this to true for verbose run-time information. More...
 
void set_trace (bool trace)
 Termination tolerance on the gradient of the projection error. More...
 
void set_htol (const double htol)
 Termination tolerance on change in the solution. More...
 
void set_ftol (const double ftol)
 Termination tolerance on the sum of squared projection errors. More...
 
void set_gtol (const double gtol)
 Termination tolerance on the gradient of the projection error. More...
 
bool optimize (std::vector< vgl_homg_point_2d< double > > const &points1, std::vector< vgl_homg_point_2d< double > > const &points2, vgl_h_matrix_2d< double > &H)
 optimize homography from matched points. More...
 
bool optimize (std::vector< vgl_homg_line_2d< double > > const &lines1, std::vector< vgl_homg_line_2d< double > > const &lines2, vgl_h_matrix_2d< double > &H)
 optimize homography from matched lines. More...
 
bool optimize (std::vector< vgl_homg_point_2d< double > > const &points1, std::vector< vgl_homg_point_2d< double > > const &points2, std::vector< vgl_homg_line_2d< double > > const &lines1, std::vector< vgl_homg_line_2d< double > > const &lines2, vgl_h_matrix_2d< double > &H)
 optimize homography from matched points and lines. More...
 
vgl_h_matrix_2d< double > optimize (std::vector< vgl_homg_point_2d< double > > const &p1, std::vector< vgl_homg_point_2d< double > > const &p2)
 optimize homography from matched points - return h_matrix. More...
 
vgl_h_matrix_2d< double > optimize (std::vector< vgl_homg_line_2d< double > > const &l1, std::vector< vgl_homg_line_2d< double > > const &l2)
 optimize homography from matched lines - return h_matrix. More...
 
vgl_h_matrix_2d< double > optimize (std::vector< vgl_homg_point_2d< double > > const &p1, std::vector< vgl_homg_point_2d< double > > const &p2, std::vector< vgl_homg_line_2d< double > > const &l1, std::vector< vgl_homg_line_2d< double > > const &l2)
 optimize homography from matched points and lines - return h_matrix. More...
 

Protected Member Functions

bool optimize_h (std::vector< vgl_homg_point_2d< double > > const &points1, std::vector< vgl_homg_point_2d< double > > const &points2, vgl_h_matrix_2d< double > const &h_initial, vgl_h_matrix_2d< double > &h_optimized)
 the main routine for carrying out the optimization. (used by the others). More...
 
bool optimize_p (std::vector< vgl_homg_point_2d< double > > const &points1, std::vector< vgl_homg_point_2d< double > > const &points2, vgl_h_matrix_2d< double > &H) override
 compute from matched points. More...
 
bool optimize_l (std::vector< vgl_homg_line_2d< double > > const &lines1, std::vector< vgl_homg_line_2d< double > > const &lines2, vgl_h_matrix_2d< double > &H) override
 compute from matched lines. More...
 
bool optimize_pl (std::vector< vgl_homg_point_2d< double > > const &points1, std::vector< vgl_homg_point_2d< double > > const &points2, std::vector< vgl_homg_line_2d< double > > const &lines1, std::vector< vgl_homg_line_2d< double > > const &lines2, vgl_h_matrix_2d< double > &H) override
 compute from matched points and lines. More...
 

Protected Attributes

bool verbose_
 
bool trace_
 
double ftol_
 
double gtol_
 
double htol_
 
int max_iter_
 
vgl_h_matrix_2d< double > initial_h_
 

Detailed Description

Definition at line 19 of file vgl_h_matrix_2d_optimize_lmq.h.

Constructor & Destructor Documentation

◆ vgl_h_matrix_2d_optimize_lmq()

vgl_h_matrix_2d_optimize_lmq::vgl_h_matrix_2d_optimize_lmq ( vgl_h_matrix_2d< double > const &  initial_h)

Constructor from initial homography to be optimized.

Construct a vgl_h_matrix_2d_optimize_lmq object.

Definition at line 18 of file vgl_h_matrix_2d_optimize_lmq.cxx.

Member Function Documentation

◆ minimum_number_of_correspondences()

int vgl_h_matrix_2d_optimize_lmq::minimum_number_of_correspondences ( ) const
inlineoverridevirtual

Implements vgl_h_matrix_2d_optimize.

Definition at line 25 of file vgl_h_matrix_2d_optimize_lmq.h.

◆ optimize() [1/6]

bool vgl_h_matrix_2d_optimize::optimize ( std::vector< vgl_homg_point_2d< double > > const &  points1,
std::vector< vgl_homg_point_2d< double > > const &  points2,
vgl_h_matrix_2d< double > &  H 
)
inlineinherited

optimize homography from matched points.

Definition at line 109 of file vgl_h_matrix_2d_optimize.h.

◆ optimize() [2/6]

bool vgl_h_matrix_2d_optimize::optimize ( std::vector< vgl_homg_line_2d< double > > const &  lines1,
std::vector< vgl_homg_line_2d< double > > const &  lines2,
vgl_h_matrix_2d< double > &  H 
)
inlineinherited

optimize homography from matched lines.

Definition at line 117 of file vgl_h_matrix_2d_optimize.h.

◆ optimize() [3/6]

bool vgl_h_matrix_2d_optimize::optimize ( std::vector< vgl_homg_point_2d< double > > const &  points1,
std::vector< vgl_homg_point_2d< double > > const &  points2,
std::vector< vgl_homg_line_2d< double > > const &  lines1,
std::vector< vgl_homg_line_2d< double > > const &  lines2,
vgl_h_matrix_2d< double > &  H 
)
inlineinherited

optimize homography from matched points and lines.

Definition at line 125 of file vgl_h_matrix_2d_optimize.h.

◆ optimize() [4/6]

vgl_h_matrix_2d<double> vgl_h_matrix_2d_optimize::optimize ( std::vector< vgl_homg_point_2d< double > > const &  p1,
std::vector< vgl_homg_point_2d< double > > const &  p2 
)
inlineinherited

optimize homography from matched points - return h_matrix.

Definition at line 136 of file vgl_h_matrix_2d_optimize.h.

◆ optimize() [5/6]

vgl_h_matrix_2d<double> vgl_h_matrix_2d_optimize::optimize ( std::vector< vgl_homg_line_2d< double > > const &  l1,
std::vector< vgl_homg_line_2d< double > > const &  l2 
)
inlineinherited

optimize homography from matched lines - return h_matrix.

Definition at line 142 of file vgl_h_matrix_2d_optimize.h.

◆ optimize() [6/6]

vgl_h_matrix_2d<double> vgl_h_matrix_2d_optimize::optimize ( std::vector< vgl_homg_point_2d< double > > const &  p1,
std::vector< vgl_homg_point_2d< double > > const &  p2,
std::vector< vgl_homg_line_2d< double > > const &  l1,
std::vector< vgl_homg_line_2d< double > > const &  l2 
)
inlineinherited

optimize homography from matched points and lines - return h_matrix.

Definition at line 148 of file vgl_h_matrix_2d_optimize.h.

◆ optimize_h()

bool vgl_h_matrix_2d_optimize_lmq::optimize_h ( std::vector< vgl_homg_point_2d< double > > const &  points1,
std::vector< vgl_homg_point_2d< double > > const &  points2,
vgl_h_matrix_2d< double > const &  h_initial,
vgl_h_matrix_2d< double > &  h_optimized 
)
protected

the main routine for carrying out the optimization. (used by the others).

optimize the normalized projection problem.

Definition at line 25 of file vgl_h_matrix_2d_optimize_lmq.cxx.

◆ optimize_l()

bool vgl_h_matrix_2d_optimize_lmq::optimize_l ( std::vector< vgl_homg_line_2d< double > > const &  lines1,
std::vector< vgl_homg_line_2d< double > > const &  lines2,
vgl_h_matrix_2d< double > &  H 
)
overrideprotectedvirtual

compute from matched lines.

Implements vgl_h_matrix_2d_optimize.

Definition at line 107 of file vgl_h_matrix_2d_optimize_lmq.cxx.

◆ optimize_p()

bool vgl_h_matrix_2d_optimize_lmq::optimize_p ( std::vector< vgl_homg_point_2d< double > > const &  points1,
std::vector< vgl_homg_point_2d< double > > const &  points2,
vgl_h_matrix_2d< double > &  H 
)
overrideprotectedvirtual

compute from matched points.

Implements vgl_h_matrix_2d_optimize.

Definition at line 57 of file vgl_h_matrix_2d_optimize_lmq.cxx.

◆ optimize_pl()

bool vgl_h_matrix_2d_optimize_lmq::optimize_pl ( std::vector< vgl_homg_point_2d< double > > const &  points1,
std::vector< vgl_homg_point_2d< double > > const &  points2,
std::vector< vgl_homg_line_2d< double > > const &  lines1,
std::vector< vgl_homg_line_2d< double > > const &  lines2,
vgl_h_matrix_2d< double > &  H 
)
overrideprotectedvirtual

compute from matched points and lines.

Implements vgl_h_matrix_2d_optimize.

Definition at line 177 of file vgl_h_matrix_2d_optimize_lmq.cxx.

◆ set_ftol()

void vgl_h_matrix_2d_optimize::set_ftol ( const double  ftol)
inlineinherited

Termination tolerance on the sum of squared projection errors.

The optimization is done in a normalized coordinate frame with unity point domain radius.

Definition at line 95 of file vgl_h_matrix_2d_optimize.h.

◆ set_gtol()

void vgl_h_matrix_2d_optimize::set_gtol ( const double  gtol)
inlineinherited

Termination tolerance on the gradient of the projection error.

Definition at line 98 of file vgl_h_matrix_2d_optimize.h.

◆ set_htol()

void vgl_h_matrix_2d_optimize::set_htol ( const double  htol)
inlineinherited

Termination tolerance on change in the solution.

Definition at line 90 of file vgl_h_matrix_2d_optimize.h.

◆ set_trace()

void vgl_h_matrix_2d_optimize::set_trace ( bool  trace)
inlineinherited

Termination tolerance on the gradient of the projection error.

Definition at line 87 of file vgl_h_matrix_2d_optimize.h.

◆ set_verbose()

void vgl_h_matrix_2d_optimize::set_verbose ( bool  v)
inlineinherited

set this to true for verbose run-time information.

Definition at line 84 of file vgl_h_matrix_2d_optimize.h.

Member Data Documentation

◆ ftol_

double vgl_h_matrix_2d_optimize::ftol_
protectedinherited

Definition at line 157 of file vgl_h_matrix_2d_optimize.h.

◆ gtol_

double vgl_h_matrix_2d_optimize::gtol_
protectedinherited

Definition at line 158 of file vgl_h_matrix_2d_optimize.h.

◆ htol_

double vgl_h_matrix_2d_optimize::htol_
protectedinherited

Definition at line 159 of file vgl_h_matrix_2d_optimize.h.

◆ initial_h_

vgl_h_matrix_2d<double> vgl_h_matrix_2d_optimize::initial_h_
protectedinherited

Definition at line 161 of file vgl_h_matrix_2d_optimize.h.

◆ max_iter_

int vgl_h_matrix_2d_optimize::max_iter_
protectedinherited

Definition at line 160 of file vgl_h_matrix_2d_optimize.h.

◆ trace_

bool vgl_h_matrix_2d_optimize::trace_
protectedinherited

Definition at line 156 of file vgl_h_matrix_2d_optimize.h.

◆ verbose_

bool vgl_h_matrix_2d_optimize::verbose_
protectedinherited

Definition at line 155 of file vgl_h_matrix_2d_optimize.h.


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