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

Various methods for converting to a generic camera. More...

#include <vpgl_camera_convert.h>

Static Public Member Functions

static bool convert (vpgl_local_rational_camera< double > const &rat_cam, int ni, int nj, vpgl_generic_camera< double > &gen_cam, unsigned level=0)
 Convert a local rational camera to a generic camera. More...
 
static bool convert (vpgl_local_rational_camera< double > const &rat_cam, int ni, int nj, vpgl_generic_camera< double > &gen_cam, double local_z_min, double local_z_max, unsigned level=0)
 Convert a local rational camera to a generic camera, using user-specified z bounds. More...
 
static bool convert_bruteforce (vpgl_local_rational_camera< double > const &rat_cam, int gni, int gnj, vpgl_generic_camera< double > &gen_cam, double local_z_min, double local_z_max, unsigned level)
 
static bool convert (vpgl_proj_camera< double > const &prj_cam, int ni, int nj, vpgl_generic_camera< double > &gen_cam, unsigned level=0)
 Convert a proj_camera to a generic camera. More...
 
static bool convert (vpgl_perspective_camera< double > const &per_cam, int ni, int nj, vpgl_generic_camera< double > &gen_cam, unsigned level=0)
 Convert a perspective_camera to a generic camera. More...
 
static bool convert_with_margin (vpgl_perspective_camera< double > const &per_cam, int ni, int nj, vpgl_generic_camera< double > &gen_cam, int margin, unsigned level=0)
 
static bool convert (vpgl_affine_camera< double > const &aff_cam, int ni, int nj, vpgl_generic_camera< double > &gen_cam, unsigned level=0)
 Convert an affine_camera to a generic camera. More...
 
static bool convert (vpgl_camera_double_sptr const &camera, int ni, int nj, vpgl_generic_camera< double > &gen_cam, unsigned level=0)
 :convert an abstract camera to generic camera. More...
 

Private Member Functions

 vpgl_generic_camera_convert ()=delete
 

Static Private Member Functions

static bool upsample_rays (std::vector< vgl_ray_3d< double > > const &ray_nbrs, vgl_ray_3d< double > const &ray, std::vector< vgl_ray_3d< double > > &interp_rays)
 interpolate rays to fill next higher resolution pyramid layer. More...
 
static vgl_ray_3d< double > interp_pair (vgl_ray_3d< double > const &r0, vgl_ray_3d< double > const &r1, double n_grid)
 interpolate a span of rays base on a linear interpolation. n_grid is the step distance from r1. r0 and r1 are one unit apart. More...
 
static bool pyramid_est (vpgl_local_rational_camera< double > const &rat_cam, int ni, int nj, int offseti, int offsetj, double local_z_min, double local_z_max, int n_levels, std::vector< int > nr, std::vector< int > nc, std::vector< unsigned int > scl, std::vector< vbl_array_2d< vgl_ray_3d< double > > > &ray_pyr)
 

Detailed Description

Various methods for converting to a generic camera.

Definition at line 78 of file vpgl_camera_convert.h.

Constructor & Destructor Documentation

◆ vpgl_generic_camera_convert()

vpgl_generic_camera_convert::vpgl_generic_camera_convert ( )
privatedelete

Member Function Documentation

◆ convert() [1/6]

bool vpgl_generic_camera_convert::convert ( vpgl_local_rational_camera< double > const &  rat_cam,
int  ni,
int  nj,
vpgl_generic_camera< double > &  gen_cam,
unsigned  level = 0 
)
static

Convert a local rational camera to a generic camera.

Definition at line 786 of file vpgl_camera_convert.cxx.

◆ convert() [2/6]

bool vpgl_generic_camera_convert::convert ( vpgl_local_rational_camera< double > const &  rat_cam,
int  ni,
int  nj,
vpgl_generic_camera< double > &  gen_cam,
double  local_z_min,
double  local_z_max,
unsigned  level = 0 
)
static

Convert a local rational camera to a generic camera, using user-specified z bounds.

Implementation of breaking up images in 256x256 blocks.

Note that the z values are relative to the local coordinate system

Definition at line 1113 of file vpgl_camera_convert.cxx.

◆ convert() [3/6]

bool vpgl_generic_camera_convert::convert ( vpgl_proj_camera< double > const &  prj_cam,
int  ni,
int  nj,
vpgl_generic_camera< double > &  gen_cam,
unsigned  level = 0 
)
static

Convert a proj_camera to a generic camera.

Definition at line 1225 of file vpgl_camera_convert.cxx.

◆ convert() [4/6]

bool vpgl_generic_camera_convert::convert ( vpgl_perspective_camera< double > const &  per_cam,
int  ni,
int  nj,
vpgl_generic_camera< double > &  gen_cam,
unsigned  level = 0 
)
static

Convert a perspective_camera to a generic camera.

Definition at line 1243 of file vpgl_camera_convert.cxx.

◆ convert() [5/6]

bool vpgl_generic_camera_convert::convert ( vpgl_affine_camera< double > const &  aff_cam,
int  ni,
int  nj,
vpgl_generic_camera< double > &  gen_cam,
unsigned  level = 0 
)
static

Convert an affine_camera to a generic camera.

Definition at line 1284 of file vpgl_camera_convert.cxx.

◆ convert() [6/6]

bool vpgl_generic_camera_convert::convert ( vpgl_camera_double_sptr const &  camera,
int  ni,
int  nj,
vpgl_generic_camera< double > &  gen_cam,
unsigned  level = 0 
)
static

:convert an abstract camera to generic camera.

Definition at line 1330 of file vpgl_camera_convert.cxx.

◆ convert_bruteforce()

bool vpgl_generic_camera_convert::convert_bruteforce ( vpgl_local_rational_camera< double > const &  rat_cam,
int  gni,
int  gnj,
vpgl_generic_camera< double > &  gen_cam,
double  local_z_min,
double  local_z_max,
unsigned  level 
)
static

Definition at line 1193 of file vpgl_camera_convert.cxx.

◆ convert_with_margin()

bool vpgl_generic_camera_convert::convert_with_margin ( vpgl_perspective_camera< double > const &  per_cam,
int  ni,
int  nj,
vpgl_generic_camera< double > &  gen_cam,
int  margin,
unsigned  level = 0 
)
static

Definition at line 1261 of file vpgl_camera_convert.cxx.

◆ interp_pair()

vgl_ray_3d< double > vpgl_generic_camera_convert::interp_pair ( vgl_ray_3d< double > const &  r0,
vgl_ray_3d< double > const &  r1,
double  n_grid 
)
staticprivate

interpolate a span of rays base on a linear interpolation. n_grid is the step distance from r1. r0 and r1 are one unit apart.

Definition at line 764 of file vpgl_camera_convert.cxx.

◆ pyramid_est()

bool vpgl_generic_camera_convert::pyramid_est ( vpgl_local_rational_camera< double > const &  rat_cam,
int  ni,
int  nj,
int  offseti,
int  offsetj,
double  local_z_min,
double  local_z_max,
int  n_levels,
std::vector< int >  nr,
std::vector< int >  nc,
std::vector< unsigned int >  scl,
std::vector< vbl_array_2d< vgl_ray_3d< double > > > &  ray_pyr 
)
staticprivate

Definition at line 982 of file vpgl_camera_convert.cxx.

◆ upsample_rays()

bool vpgl_generic_camera_convert::upsample_rays ( std::vector< vgl_ray_3d< double > > const &  ray_nbrs,
vgl_ray_3d< double > const &  ray,
std::vector< vgl_ray_3d< double > > &  interp_rays 
)
staticprivate

interpolate rays to fill next higher resolution pyramid layer.

Definition at line 723 of file vpgl_camera_convert.cxx.


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