Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

bmrf_curve_3d_builder Class Reference

#include <bmrf_curve_3d_builder.h>

List of all members.


Detailed Description

A 3D curve builder.

Definition at line 30 of file bmrf_curve_3d_builder.h.

Public Types

typedef vcl_pair< bmrf_arc_sptr,
bmrf_curvel_3d_sptr
time_match
typedef vcl_vector< time_matchmatch_vector

Public Member Functions

 bmrf_curve_3d_builder ()
 Constructor.
 bmrf_curve_3d_builder (const bmrf_network_sptr &)
 Constructor.
 ~bmrf_curve_3d_builder ()
 Destructor.
void set_network (const bmrf_network_sptr &network)
 Set the network.
void init_cameras (const vnl_double_3x4 &C0, double scale=1.0)
 Initialize the camera matrices (using a specified camera).
bool build (int min_prj=3, int min_len=10, double trim_thresh=0.001)
 Build The curves.
void reconstruct (float sigma=0.5)
 Reconstruct the 3D curves from the curvel chains.
bool compute_bounding_box (const float *inlier_fractions=NULL, bool align_ep=false)
 Compute the bounding box aligned with vehicle direction.
vcl_set< bmrf_curve_3d_sptrcurves () const
 Return the constructed curves.
vcl_map< int, vnl_double_3x4cameras () const
 Return the cameras used in the reconstruction.
vgl_vector_3d< double > direction () const
 Return the 3D direction of motion of the curves.
vnl_double_4x4 bb_xform () const
 Return the bounding box transformation.

Protected Member Functions

void compute_camera_offsets ()
 Compute the relative change in spacing between cameras.
void find_alpha_bounds ()
 Determine the alpha bounds from the network.
vcl_set< bmrf_curvel_3d_sptrbuild_curvels (vcl_set< bmrf_curvel_3d_sptr > &all_curvels, double alpha) const
 Build curvels by linking across time through probable arcs.
vcl_set< bmrf_curvel_3d_sptrextend_curves (vcl_set< bmrf_curve_3d_sptr > &growing_curves, double alpha)
 extend all curves to the next alpha.
vcl_vector< bmrf_arc_sptrfind_arcs_at (double alpha) const
 Find all arcs where both nodes are valid at alpha.
void reconstruct_point (bmrf_curvel_3d_sptr curvel) const
 Reconstruct the 3d location of a curvel from its projections.
void append_curvels (vcl_set< bmrf_curvel_3d_sptr > &curvels, vcl_set< bmrf_curve_3d_sptr > &growing_curves, int min_prj)
 Match the curvels to the ends of the growing_curves.
double append_correct (const bmrf_curvel_3d_sptr &new_c, const bmrf_curvel_3d_sptr &prev_c) const
 Return a measure (0.0 to 1.0) of how well new_c matches prev_c.

Protected Attributes

bmrf_network_sptr network_
 The network.
double min_alpha_
 Bounds on the alpha values in the network;.
double max_alpha_
vcl_set< bmrf_curve_3d_sptrcurves_
vcl_map< int, vnl_double_3x4C_
 Map from frame numbers to cameras.
vcl_map< int, double > offsets_
 Map from frame numbers to camera offsets.
vgl_vector_3d< double > direction_
 3D direction unit vector.
vnl_double_4x4 bb_xform_
 This transform maps the unit cube into the vehicle aligned bounding box.


Member Typedef Documentation

typedef vcl_vector<time_match> bmrf_curve_3d_builder::match_vector
 

Definition at line 34 of file bmrf_curve_3d_builder.h.

typedef vcl_pair<bmrf_arc_sptr, bmrf_curvel_3d_sptr> bmrf_curve_3d_builder::time_match
 

Definition at line 33 of file bmrf_curve_3d_builder.h.


Constructor & Destructor Documentation

bmrf_curve_3d_builder::bmrf_curve_3d_builder  ) 
 

Constructor.

Definition at line 29 of file bmrf_curve_3d_builder.cxx.

bmrf_curve_3d_builder::bmrf_curve_3d_builder const bmrf_network_sptr  ) 
 

Constructor.

Definition at line 36 of file bmrf_curve_3d_builder.cxx.

bmrf_curve_3d_builder::~bmrf_curve_3d_builder  )  [inline]
 

Destructor.

Definition at line 40 of file bmrf_curve_3d_builder.h.


Member Function Documentation

double bmrf_curve_3d_builder::append_correct const bmrf_curvel_3d_sptr new_c,
const bmrf_curvel_3d_sptr prev_c
const [protected]
 

Return a measure (0.0 to 1.0) of how well new_c matches prev_c.

Definition at line 659 of file bmrf_curve_3d_builder.cxx.

void bmrf_curve_3d_builder::append_curvels vcl_set< bmrf_curvel_3d_sptr > &  curvels,
vcl_set< bmrf_curve_3d_sptr > &  growing_curves,
int  min_prj
[protected]
 

Match the curvels to the ends of the growing_curves.

Definition at line 592 of file bmrf_curve_3d_builder.cxx.

vnl_double_4x4 bmrf_curve_3d_builder::bb_xform  )  const
 

Return the bounding box transformation.

Definition at line 178 of file bmrf_curve_3d_builder.cxx.

bool bmrf_curve_3d_builder::build int  min_prj = 3,
int  min_len = 10,
double  trim_thresh = 0.001
 

Build The curves.

Curves with less than min_prj projections are removed

Definition at line 312 of file bmrf_curve_3d_builder.cxx.

vcl_set< bmrf_curvel_3d_sptr > bmrf_curve_3d_builder::build_curvels vcl_set< bmrf_curvel_3d_sptr > &  all_curvels,
double  alpha
const [protected]
 

Build curvels by linking across time through probable arcs.

Definition at line 404 of file bmrf_curve_3d_builder.cxx.

vcl_map< int, vnl_double_3x4 > bmrf_curve_3d_builder::cameras  )  const
 

Return the cameras used in the reconstruction.

Definition at line 162 of file bmrf_curve_3d_builder.cxx.

bool bmrf_curve_3d_builder::compute_bounding_box const float *  inlier_fractions = NULL,
bool  align_ep = false
 

Compute the bounding box aligned with vehicle direction.

Parameters:
inlier_fractions is an array of 3 float for inlier fraction in {X,Y,Z}

Definition at line 201 of file bmrf_curve_3d_builder.cxx.

void bmrf_curve_3d_builder::compute_camera_offsets  )  [protected]
 

Compute the relative change in spacing between cameras.

Definition at line 95 of file bmrf_curve_3d_builder.cxx.

vcl_set< bmrf_curve_3d_sptr > bmrf_curve_3d_builder::curves  )  const
 

Return the constructed curves.

Definition at line 154 of file bmrf_curve_3d_builder.cxx.

vgl_vector_3d< double > bmrf_curve_3d_builder::direction  )  const
 

Return the 3D direction of motion of the curves.

Definition at line 170 of file bmrf_curve_3d_builder.cxx.

vcl_set< bmrf_curvel_3d_sptr > bmrf_curve_3d_builder::extend_curves vcl_set< bmrf_curve_3d_sptr > &  growing_curves,
double  alpha
[protected]
 

extend all curves to the next alpha.

Definition at line 493 of file bmrf_curve_3d_builder.cxx.

void bmrf_curve_3d_builder::find_alpha_bounds  )  [protected]
 

Determine the alpha bounds from the network.

Definition at line 380 of file bmrf_curve_3d_builder.cxx.

vcl_vector< bmrf_arc_sptr > bmrf_curve_3d_builder::find_arcs_at double  alpha  )  const [protected]
 

Find all arcs where both nodes are valid at alpha.

Definition at line 534 of file bmrf_curve_3d_builder.cxx.

void bmrf_curve_3d_builder::init_cameras const vnl_double_3x4 C0,
double  scale = 1.0
 

Initialize the camera matrices (using a specified camera).

Parameters:
scale determines the separation between cameras

Definition at line 57 of file bmrf_curve_3d_builder.cxx.

void bmrf_curve_3d_builder::reconstruct float  sigma = 0.5  ) 
 

Reconstruct the 3D curves from the curvel chains.

Definition at line 368 of file bmrf_curve_3d_builder.cxx.

void bmrf_curve_3d_builder::reconstruct_point bmrf_curvel_3d_sptr  curvel  )  const [protected]
 

Reconstruct the 3d location of a curvel from its projections.

Definition at line 561 of file bmrf_curve_3d_builder.cxx.

void bmrf_curve_3d_builder::set_network const bmrf_network_sptr network  ) 
 

Set the network.

Definition at line 146 of file bmrf_curve_3d_builder.cxx.


Member Data Documentation

vnl_double_4x4 bmrf_curve_3d_builder::bb_xform_ [protected]
 

This transform maps the unit cube into the vehicle aligned bounding box.

Definition at line 122 of file bmrf_curve_3d_builder.h.

vcl_map<int,vnl_double_3x4> bmrf_curve_3d_builder::C_ [protected]
 

Map from frame numbers to cameras.

Definition at line 113 of file bmrf_curve_3d_builder.h.

vcl_set<bmrf_curve_3d_sptr> bmrf_curve_3d_builder::curves_ [protected]
 

Definition at line 110 of file bmrf_curve_3d_builder.h.

vgl_vector_3d<double> bmrf_curve_3d_builder::direction_ [protected]
 

3D direction unit vector.

Definition at line 119 of file bmrf_curve_3d_builder.h.

double bmrf_curve_3d_builder::max_alpha_ [protected]
 

Definition at line 108 of file bmrf_curve_3d_builder.h.

double bmrf_curve_3d_builder::min_alpha_ [protected]
 

Bounds on the alpha values in the network;.

Definition at line 107 of file bmrf_curve_3d_builder.h.

bmrf_network_sptr bmrf_curve_3d_builder::network_ [protected]
 

The network.

Definition at line 104 of file bmrf_curve_3d_builder.h.

vcl_map<int,double> bmrf_curve_3d_builder::offsets_ [protected]
 

Map from frame numbers to camera offsets.

Definition at line 116 of file bmrf_curve_3d_builder.h.


The documentation for this class was generated from the following files:
Generated on Thu Jan 10 14:51:53 2008 for contrib/brl/bseg/bmrf by  doxygen 1.4.4