Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes
FMatrixComputeNonLinear Class Reference

#include <FMatrixComputeNonLinear.h>

Inheritance diagram for FMatrixComputeNonLinear:
Inheritance graph
[legend]

List of all members.

Public Types

enum  UseGradient

Public Member Functions

 FMatrixComputeNonLinear (PairMatchSetCorner *matches)
 Constructor.
bool compute (FMatrix *F)
bool compute_basis (FMatrix *F, vcl_vector< int > basis)
 Compute the F Matrix by augmenting a 7 point basis.
void f (const vnl_vector< double > &x, vnl_vector< double > &fx)
 The virtual function from vnl_levenberg_marquardt which returns the RMS epipolar error and a vector of residuals.
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

void init (unsigned int number_of_unknowns, unsigned int number_of_residuals)

Protected Attributes

unsigned int n_
bool use_gradient_

Private Member Functions

void fmatrix_to_params (const FMatrix &F, vnl_vector< double > &params)
FMatrix params_to_fmatrix (const vnl_vector< double > &params)
void get_plan (int &r1, int &c1, int &r2, int &c2)
vnl_vector< double > calculate_residuals (FMatrix *F)

Private Attributes

int data_size_
int terminate_count_
PairMatchSetCornermatches_
int p_
int q_
int r_
FMatrix F_orig_
bool one_
vcl_vector< vgl_homg_point_2d
< double > > 
basis1_
vcl_vector< vgl_homg_point_2d
< double > > 
basis2_
vcl_vector< vgl_homg_point_2d
< double > > 
points1_
vcl_vector< vgl_homg_point_2d
< double > > 
points2_

Detailed Description

Definition at line 26 of file FMatrixComputeNonLinear.h.


Constructor & Destructor Documentation

FMatrixComputeNonLinear::FMatrixComputeNonLinear ( PairMatchSetCorner matches)

Constructor.

Definition at line 32 of file FMatrixComputeNonLinear.cxx.


Member Function Documentation

vnl_vector< double > FMatrixComputeNonLinear::calculate_residuals ( FMatrix F) [private]

Definition at line 436 of file FMatrixComputeNonLinear.cxx.

bool FMatrixComputeNonLinear::compute ( FMatrix F)

Definition at line 89 of file FMatrixComputeNonLinear.cxx.

bool FMatrixComputeNonLinear::compute_basis ( FMatrix F,
vcl_vector< int >  basis 
)

Compute the F Matrix by augmenting a 7 point basis.

Definition at line 66 of file FMatrixComputeNonLinear.cxx.

void FMatrixComputeNonLinear::f ( const vnl_vector< double > &  x,
vnl_vector< double > &  fx 
) [virtual]

The virtual function from vnl_levenberg_marquardt which returns the RMS epipolar error and a vector of residuals.

Implements vnl_least_squares_function.

Definition at line 192 of file FMatrixComputeNonLinear.cxx.

void FMatrixComputeNonLinear::fmatrix_to_params ( const FMatrix F,
vnl_vector< double > &  params 
) [private]

Definition at line 200 of file FMatrixComputeNonLinear.cxx.

void FMatrixComputeNonLinear::get_plan ( int &  r1,
int &  c1,
int &  r2,
int &  c2 
) [private]

Definition at line 391 of file FMatrixComputeNonLinear.cxx.

FMatrix FMatrixComputeNonLinear::params_to_fmatrix ( const vnl_vector< double > &  params) [private]

Definition at line 275 of file FMatrixComputeNonLinear.cxx.


Member Data Documentation

vcl_vector<vgl_homg_point_2d<double> > FMatrixComputeNonLinear::basis1_ [private]

Definition at line 50 of file FMatrixComputeNonLinear.h.

vcl_vector<vgl_homg_point_2d<double> > FMatrixComputeNonLinear::basis2_ [private]

Definition at line 51 of file FMatrixComputeNonLinear.h.

Definition at line 44 of file FMatrixComputeNonLinear.h.

Definition at line 48 of file FMatrixComputeNonLinear.h.

Definition at line 46 of file FMatrixComputeNonLinear.h.

Definition at line 49 of file FMatrixComputeNonLinear.h.

Reimplemented from vnl_least_squares_function.

Definition at line 47 of file FMatrixComputeNonLinear.h.

vcl_vector<vgl_homg_point_2d<double> > FMatrixComputeNonLinear::points1_ [private]

Definition at line 52 of file FMatrixComputeNonLinear.h.

vcl_vector<vgl_homg_point_2d<double> > FMatrixComputeNonLinear::points2_ [private]

Definition at line 53 of file FMatrixComputeNonLinear.h.

Definition at line 47 of file FMatrixComputeNonLinear.h.

Definition at line 47 of file FMatrixComputeNonLinear.h.

Definition at line 45 of file FMatrixComputeNonLinear.h.


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