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

#include <FMPlanarNonLinFun.h>

Inheritance diagram for FMPlanarNonLinFun:
Inheritance graph
[legend]

List of all members.

Public Types

enum  UseGradient

Public Member Functions

 FMPlanarNonLinFun (const ImageMetric *, const ImageMetric *, double outlier_distance_squared, vcl_vector< vgl_homg_point_2d< double > > &points1, vcl_vector< vgl_homg_point_2d< double > > &points2)
 Initialize object, will fit F to points1,2 using imagemetrics.
 FMPlanarNonLinFun (const ImageMetric *, const ImageMetric *, double outlier_distance_squared, vcl_vector< HomgPoint2D > &points1, vcl_vector< HomgPoint2D > &points2)
bool compute (FMatrixPlanar *F)
 Compute the planar F matrix and returns true if successful.
void f (vnl_vector< double > const &x, vnl_vector< double > &fx)
 The virtual function from vnl_levenberg_marquardt.
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 p_
unsigned int n_
bool use_gradient_

Private Member Functions

void fmatrix_to_params (const FMatrixPlanar &F, vnl_vector< double > &params)
FMatrixPlanar params_to_fmatrix (const vnl_vector< double > &params)
void fmatrix_to_params_awf (const FMatrixPlanar &F, vnl_vector< double > &params)
FMatrixPlanar params_to_fmatrix_awf (const vnl_vector< double > &params)
void fmatrix_to_params_mna (const FMatrixPlanar &F, vnl_vector< double > &params)
FMatrixPlanar params_to_fmatrix_mna (const vnl_vector< double > &params)

Private Attributes

int data_size_
vcl_vector< vgl_homg_point_2d
< double > > 
points1_
vcl_vector< vgl_homg_point_2d
< double > > 
points2_
HomgNorm2D normalized_
vnl_double_3x3 denorm_matrix_
vnl_double_3x3 denorm_matrix_inv_
HomgMetric image_metric1_
HomgMetric image_metric2_

Detailed Description

Definition at line 31 of file FMPlanarNonLinFun.h.


Constructor & Destructor Documentation

FMPlanarNonLinFun::FMPlanarNonLinFun ( const ImageMetric image_metric1,
const ImageMetric image_metric2,
double  outlier_distance_squared,
vcl_vector< vgl_homg_point_2d< double > > &  points1,
vcl_vector< vgl_homg_point_2d< double > > &  points2 
)

Initialize object, will fit F to points1,2 using imagemetrics.

Constructor.

Rejecting points > outlier_distance_squared from epipolar lines

Definition at line 31 of file FMPlanarNonLinFun.cxx.

FMPlanarNonLinFun::FMPlanarNonLinFun ( const ImageMetric image_metric1,
const ImageMetric image_metric2,
double  outlier_distance_squared,
vcl_vector< HomgPoint2D > &  points1,
vcl_vector< HomgPoint2D > &  points2 
)

Definition at line 57 of file FMPlanarNonLinFun.cxx.


Member Function Documentation

bool FMPlanarNonLinFun::compute ( FMatrixPlanar F)

Compute the planar F matrix and returns true if successful.

Definition at line 88 of file FMPlanarNonLinFun.cxx.

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

The virtual function from vnl_levenberg_marquardt.

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 126 of file FMPlanarNonLinFun.cxx.

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

Definition at line 149 of file FMPlanarNonLinFun.cxx.

void FMPlanarNonLinFun::fmatrix_to_params_awf ( const FMatrixPlanar F,
vnl_vector< double > &  params 
) [private]

Definition at line 261 of file FMPlanarNonLinFun.cxx.

void FMPlanarNonLinFun::fmatrix_to_params_mna ( const FMatrixPlanar F,
vnl_vector< double > &  params 
) [private]

Definition at line 171 of file FMPlanarNonLinFun.cxx.

FMatrixPlanar FMPlanarNonLinFun::params_to_fmatrix ( const vnl_vector< double > &  params) [private]

Definition at line 158 of file FMPlanarNonLinFun.cxx.

FMatrixPlanar FMPlanarNonLinFun::params_to_fmatrix_awf ( const vnl_vector< double > &  params) [private]

Definition at line 323 of file FMPlanarNonLinFun.cxx.

FMatrixPlanar FMPlanarNonLinFun::params_to_fmatrix_mna ( const vnl_vector< double > &  params) [private]

Definition at line 240 of file FMPlanarNonLinFun.cxx.


Member Data Documentation

Definition at line 33 of file FMPlanarNonLinFun.h.

Definition at line 40 of file FMPlanarNonLinFun.h.

Definition at line 41 of file FMPlanarNonLinFun.h.

Definition at line 48 of file FMPlanarNonLinFun.h.

Definition at line 49 of file FMPlanarNonLinFun.h.

Definition at line 38 of file FMPlanarNonLinFun.h.

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

Definition at line 35 of file FMPlanarNonLinFun.h.

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

Definition at line 36 of file FMPlanarNonLinFun.h.


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