Public Member Functions | Static Public Member Functions | Private Member Functions | List of all members
vpgl_camera_transform Class Reference

#include <vpgl_camera_transform.h>

Public Member Functions

 ~vpgl_camera_transform ()
 

Static Public Member Functions

static void apply_fixed_transformation (const std::vector< vpgl_perspective_camera< double > > &input_cams, vnl_matrix_fixed< double, 3, 3 > &R, vgl_point_3d< double > &t, std::vector< vpgl_perspective_camera< double > > &output_cams)
 apply fixeld transformation – R_new = R*R_old. More...
 
static bool compute_fixed_transformation (const std::vector< vpgl_perspective_camera< double > > &input_cams, const std::vector< std::vector< std::pair< vnl_vector_fixed< double, 2 >, unsigned > > > &cam_ids_img_pts, const std::vector< vnl_vector_fixed< double, 4 > > &pts_3d, std::vector< vpgl_perspective_camera< double > > &output_cams)
 compute the fixed transformation as R and camera center. More...
 
static std::vector< vnl_vector_fixed< double, 3 > > sample_centers (double dim_x, double dim_y, double dim_z, double step)
 sample offsets for camera centers in a box with the given dimensions (e.g. plus/minus dim_x) in meters. More...
 
static bool compute_fixed_transformation_sample (const std::vector< vpgl_perspective_camera< double > > &input_cams, const std::vector< std::vector< std::pair< vnl_vector_fixed< double, 2 >, unsigned > > > &cam_ids_img_pts, const std::vector< vnl_vector_fixed< double, 4 > > &pts_3d, std::vector< vpgl_perspective_camera< double > > &output_cams)
 compute the fixed transformation by sampling centers in a given box and then optimizing for rotation. More...
 
static void normalize_img_pts (const std::vector< vpgl_perspective_camera< double > > &input_cams, const std::vector< std::vector< std::pair< vnl_vector_fixed< double, 2 >, unsigned > > > &cam_ids_img_pts, std::vector< vpgl_perspective_camera< double > > &input_cams_norm, std::vector< std::vector< std::pair< vnl_vector_fixed< double, 2 >, unsigned > > > &cam_ids_img_pts_norm)
 
static void K_normalize_img_pts (const std::vector< vpgl_perspective_camera< double > > &input_cams, vnl_matrix_fixed< double, 3, 3 > const &input_correspondence_covariance, const std::vector< std::vector< std::pair< vnl_vector_fixed< double, 2 >, unsigned > > > &cam_ids_img_pts, std::vector< std::vector< std::pair< std::pair< vnl_vector_fixed< double, 3 >, vnl_matrix_fixed< double, 3, 3 > >, unsigned > > > &cam_ids_img_pts_norm)
 normalize the points using the inverse of the K matrix. More...
 
static bool compute_initial_transformation (const std::vector< vpgl_perspective_camera< double > > &input_cams, const std::vector< std::vector< std::pair< vnl_vector_fixed< double, 2 >, unsigned > > > &cam_ids_img_pts, const std::vector< vnl_vector_fixed< double, 4 > > &pts_3d, std::vector< vpgl_perspective_camera< double > > &output_cams)
 
static bool compute_initial_transformation_t (const std::vector< vpgl_perspective_camera< double > > &input_cams, const std::vector< std::vector< std::pair< vnl_vector_fixed< double, 2 >, unsigned > > > &cam_ids_img_pts, const std::vector< vnl_vector_fixed< double, 4 > > &pts_3d, std::vector< vpgl_perspective_camera< double > > &output_cams)
 
static bool compute_initial_transformation_R (const std::vector< vpgl_perspective_camera< double > > &input_cams, const std::vector< std::vector< std::pair< vnl_vector_fixed< double, 2 >, unsigned > > > &cam_ids_img_pts, const std::vector< vnl_vector_fixed< double, 4 > > &pts_3d, std::vector< vpgl_perspective_camera< double > > &output_cams)
 
static bool normalize_to_rotation_matrix (const vnl_matrix_fixed< double, 3, 3 > &R, vnl_matrix_fixed< double, 3, 3 > &R_norm)
 
static bool normalize_to_rotation_matrix_q (const vnl_matrix_fixed< double, 3, 3 > &R, vnl_matrix_fixed< double, 3, 3 > &R_norm)
 
static bool compute_covariance (unsigned i, unsigned j, const std::vector< vpgl_perspective_camera< double > > &input_cams, const std::vector< std::vector< std::pair< std::pair< vnl_vector_fixed< double, 3 >, vnl_matrix_fixed< double, 3, 3 > >, unsigned > > > &cam_ids_img_pts, vnl_matrix_fixed< double, 3, 3 > &rot_variance)
 pass the ids of cams in the input_cams vector, this method computes the variance between these two using their image correspondences (K normalized image points). More...
 

Private Member Functions

 vpgl_camera_transform ()
 constructor private - static methods only. More...
 

Detailed Description

Definition at line 59 of file vpgl_camera_transform.h.

Constructor & Destructor Documentation

◆ ~vpgl_camera_transform()

vpgl_camera_transform::~vpgl_camera_transform ( )

◆ vpgl_camera_transform()

vpgl_camera_transform::vpgl_camera_transform ( )
private

constructor private - static methods only.

Member Function Documentation

◆ apply_fixed_transformation()

void vpgl_camera_transform::apply_fixed_transformation ( const std::vector< vpgl_perspective_camera< double > > &  input_cams,
vnl_matrix_fixed< double, 3, 3 > &  R,
vgl_point_3d< double > &  t,
std::vector< vpgl_perspective_camera< double > > &  output_cams 
)
static

apply fixeld transformation – R_new = R*R_old.

apply fixeld transformation.

Definition at line 849 of file vpgl_camera_transform.cxx.

◆ compute_covariance()

bool vpgl_camera_transform::compute_covariance ( unsigned  i,
unsigned  j,
const std::vector< vpgl_perspective_camera< double > > &  input_cams,
const std::vector< std::vector< std::pair< std::pair< vnl_vector_fixed< double, 3 >, vnl_matrix_fixed< double, 3, 3 > >, unsigned > > > &  cam_ids_img_pts,
vnl_matrix_fixed< double, 3, 3 > &  rot_variance 
)
static

pass the ids of cams in the input_cams vector, this method computes the variance between these two using their image correspondences (K normalized image points).

pass the ids of cams in the input_cams vector, this method computes the variance between these two using their image correspondences.

correspondence_covariance is the 3x3 covariance matrix of the points in the K normalized image space

Definition at line 924 of file vpgl_camera_transform.cxx.

◆ compute_fixed_transformation()

bool vpgl_camera_transform::compute_fixed_transformation ( const std::vector< vpgl_perspective_camera< double > > &  input_cams,
const std::vector< std::vector< std::pair< vnl_vector_fixed< double, 2 >, unsigned > > > &  cam_ids_img_pts,
const std::vector< vnl_vector_fixed< double, 4 > > &  pts_3d,
std::vector< vpgl_perspective_camera< double > > &  output_cams 
)
static

compute the fixed transformation as R and camera center.

compute the fixed transformation as R and t.

Definition at line 269 of file vpgl_camera_transform.cxx.

◆ compute_fixed_transformation_sample()

bool vpgl_camera_transform::compute_fixed_transformation_sample ( const std::vector< vpgl_perspective_camera< double > > &  input_cams,
const std::vector< std::vector< std::pair< vnl_vector_fixed< double, 2 >, unsigned > > > &  cam_ids_img_pts,
const std::vector< vnl_vector_fixed< double, 4 > > &  pts_3d,
std::vector< vpgl_perspective_camera< double > > &  output_cams 
)
static

compute the fixed transformation by sampling centers in a given box and then optimizing for rotation.

Definition at line 340 of file vpgl_camera_transform.cxx.

◆ compute_initial_transformation()

bool vpgl_camera_transform::compute_initial_transformation ( const std::vector< vpgl_perspective_camera< double > > &  input_cams,
const std::vector< std::vector< std::pair< vnl_vector_fixed< double, 2 >, unsigned > > > &  cam_ids_img_pts,
const std::vector< vnl_vector_fixed< double, 4 > > &  pts_3d,
std::vector< vpgl_perspective_camera< double > > &  output_cams 
)
static

Definition at line 414 of file vpgl_camera_transform.cxx.

◆ compute_initial_transformation_R()

bool vpgl_camera_transform::compute_initial_transformation_R ( const std::vector< vpgl_perspective_camera< double > > &  input_cams,
const std::vector< std::vector< std::pair< vnl_vector_fixed< double, 2 >, unsigned > > > &  cam_ids_img_pts,
const std::vector< vnl_vector_fixed< double, 4 > > &  pts_3d,
std::vector< vpgl_perspective_camera< double > > &  output_cams 
)
static

Definition at line 712 of file vpgl_camera_transform.cxx.

◆ compute_initial_transformation_t()

bool vpgl_camera_transform::compute_initial_transformation_t ( const std::vector< vpgl_perspective_camera< double > > &  input_cams,
const std::vector< std::vector< std::pair< vnl_vector_fixed< double, 2 >, unsigned > > > &  cam_ids_img_pts,
const std::vector< vnl_vector_fixed< double, 4 > > &  pts_3d,
std::vector< vpgl_perspective_camera< double > > &  output_cams 
)
static

Definition at line 550 of file vpgl_camera_transform.cxx.

◆ K_normalize_img_pts()

void vpgl_camera_transform::K_normalize_img_pts ( const std::vector< vpgl_perspective_camera< double > > &  input_cams,
vnl_matrix_fixed< double, 3, 3 > const &  input_correspondence_covariance,
const std::vector< std::vector< std::pair< vnl_vector_fixed< double, 2 >, unsigned > > > &  cam_ids_img_pts,
std::vector< std::vector< std::pair< std::pair< vnl_vector_fixed< double, 3 >, vnl_matrix_fixed< double, 3, 3 > >, unsigned > > > &  cam_ids_img_pts_norm 
)
static

normalize the points using the inverse of the K matrix.

Definition at line 880 of file vpgl_camera_transform.cxx.

◆ normalize_img_pts()

void vpgl_camera_transform::normalize_img_pts ( const std::vector< vpgl_perspective_camera< double > > &  input_cams,
const std::vector< std::vector< std::pair< vnl_vector_fixed< double, 2 >, unsigned > > > &  cam_ids_img_pts,
std::vector< vpgl_perspective_camera< double > > &  input_cams_norm,
std::vector< std::vector< std::pair< vnl_vector_fixed< double, 2 >, unsigned > > > &  cam_ids_img_pts_norm 
)
static

Definition at line 206 of file vpgl_camera_transform.cxx.

◆ normalize_to_rotation_matrix()

bool vpgl_camera_transform::normalize_to_rotation_matrix ( const vnl_matrix_fixed< double, 3, 3 > &  R,
vnl_matrix_fixed< double, 3, 3 > &  R_norm 
)
static

Definition at line 668 of file vpgl_camera_transform.cxx.

◆ normalize_to_rotation_matrix_q()

bool vpgl_camera_transform::normalize_to_rotation_matrix_q ( const vnl_matrix_fixed< double, 3, 3 > &  R,
vnl_matrix_fixed< double, 3, 3 > &  R_norm 
)
static

Definition at line 701 of file vpgl_camera_transform.cxx.

◆ sample_centers()

std::vector< vnl_vector_fixed< double, 3 > > vpgl_camera_transform::sample_centers ( double  dim_x,
double  dim_y,
double  dim_z,
double  step 
)
static

sample offsets for camera centers in a box with the given dimensions (e.g. plus/minus dim_x) in meters.

Definition at line 327 of file vpgl_camera_transform.cxx.


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