#include "vpgl_rational_adjust_multipt.h"
#include <vcl_cmath.h>
#include <vcl_cassert.h>
#include <vgl/vgl_point_3d.h>
#include <vnl/vnl_numeric_traits.h>
#include <vnl/algo/vnl_levenberg_marquardt.h>
#include <vpgl/algo/vpgl_backproject.h>
#include <vpgl/algo/vpgl_ray_intersect.h>
#include <vpgl/algo/vpgl_rational_adjust_onept.h>
#include <vcl_limits.h>
Go to the source code of this file.
Functions | |
double | compute_projection_error (vcl_vector< vpgl_rational_camera< double > > const &cams, vcl_vector< vgl_point_2d< double > > const &corrs, vgl_point_3d< double > &intersection) |
double | error_corr (vpgl_rational_camera< double > const &cam, vgl_point_2d< double > const &corr, vgl_point_3d< double > const &intersection) |
double | re_projection_error (vcl_vector< vpgl_rational_camera< double > > const &cams, vcl_vector< vcl_vector< vgl_point_2d< double > > > const &corrs, vcl_vector< vgl_point_3d< double > > const &intersections, vcl_vector< vgl_point_3d< double > > &finals) |
assumes an initial estimate for intersection values, only refines the intersection and computes a re-projection error. | |
void | re_projection_error (vcl_vector< vpgl_rational_camera< double > > const &cams, vcl_vector< vcl_vector< vgl_point_2d< double > > > const &corrs, vcl_vector< vgl_point_3d< double > > const &intersections, vcl_vector< vgl_point_3d< double > > &finals, vnl_vector< double > &errors) |
assumes an initial estimate for intersection values, only refines the intersection and computes a re-projection error for each corr separately. | |
void | print_perm (vcl_vector< unsigned > ¶ms_indices) |
bool | increment_perm (vcl_vector< unsigned > ¶ms_indices, unsigned size) |
to generate the permutations, always increment the one at the very end by one; if it exceeds max, then increment the one before as well, etc. |
Definition in file vpgl_rational_adjust_multipt.cxx.
double compute_projection_error | ( | vcl_vector< vpgl_rational_camera< double > > const & | cams, |
vcl_vector< vgl_point_2d< double > > const & | corrs, | ||
vgl_point_3d< double > & | intersection | ||
) |
Definition at line 15 of file vpgl_rational_adjust_multipt.cxx.
double error_corr | ( | vpgl_rational_camera< double > const & | cam, |
vgl_point_2d< double > const & | corr, | ||
vgl_point_3d< double > const & | intersection | ||
) |
Definition at line 31 of file vpgl_rational_adjust_multipt.cxx.
bool increment_perm | ( | vcl_vector< unsigned > & | params_indices, |
unsigned | size | ||
) |
to generate the permutations, always increment the one at the very end by one; if it exceeds max, then increment the one before as well, etc.
Definition at line 97 of file vpgl_rational_adjust_multipt.cxx.
void print_perm | ( | vcl_vector< unsigned > & | params_indices | ) |
Definition at line 89 of file vpgl_rational_adjust_multipt.cxx.
double re_projection_error | ( | vcl_vector< vpgl_rational_camera< double > > const & | cams, |
vcl_vector< vcl_vector< vgl_point_2d< double > > > const & | corrs, | ||
vcl_vector< vgl_point_3d< double > > const & | intersections, | ||
vcl_vector< vgl_point_3d< double > > & | finals | ||
) |
assumes an initial estimate for intersection values, only refines the intersection and computes a re-projection error.
Definition at line 38 of file vpgl_rational_adjust_multipt.cxx.
void re_projection_error | ( | vcl_vector< vpgl_rational_camera< double > > const & | cams, |
vcl_vector< vcl_vector< vgl_point_2d< double > > > const & | corrs, | ||
vcl_vector< vgl_point_3d< double > > const & | intersections, | ||
vcl_vector< vgl_point_3d< double > > & | finals, | ||
vnl_vector< double > & | errors | ||
) |
assumes an initial estimate for intersection values, only refines the intersection and computes a re-projection error for each corr separately.
Definition at line 61 of file vpgl_rational_adjust_multipt.cxx.