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

bmrf_curvel_3d Class Reference

#include <bmrf_curvel_3d.h>

Inheritance diagram for bmrf_curvel_3d:

Inheritance graph
[legend]
List of all members.

Detailed Description

An uncertain 3D curve element.

Definition at line 27 of file bmrf_curvel_3d.h.

Public Member Functions

 bmrf_curvel_3d ()
 Constructor.
 bmrf_curvel_3d (bmrf_curvel_3d const &c)
 Copy constructor.
 bmrf_curvel_3d (vgl_point_3d< double > &p, vnl_double_3x3 &s)
 Constructor.
 bmrf_curvel_3d (double x, double y, double z, vnl_double_3x3 &s)
 Constructor.
 ~bmrf_curvel_3d ()
 Destructor.
bool merge (const bmrf_curvel_3d_sptr &other)
 Merge the other curvel into this curvel if there is no overlap.
void set_proj_in_frame (unsigned int frame, double alpha, const bmrf_node_sptr &node)
 Set the projection of this curvel into frame as the segment in.
void set_psuedo_point (unsigned int frame, const vnl_double_2 &pos)
 Set the projection of this curvel into frame at an interpolated position.
bool pos_in_frame (unsigned int frame, vnl_double_2 &pos) const
 Returns the 2d position of this curvel in frame by reference.
bool cross_ratio (unsigned int frame, double &ratio) const
 Returns the invariant cross ratio.
bmrf_node_sptr node_at_frame (unsigned int frame) const
 Returns the smart pointer to the node at the projection into frame.
double alpha_at_frame (unsigned int frame) const
 Returns the alpha value at the projection into frame.
bool is_projection (const bmrf_node_sptr &node) const
 Return true if a projection of this curvel lies on node.
int num_projections (bool include_pseudo=false) const
 Return the number of projections available.
double proj_error () const
 Return the projection error.
double gamma_avg ()
 Return the average gamma value relative to frame 0.
double gamma_std ()
 Return the standard deviation of the gamma values.
double s_avg (unsigned int frame)
 Return the average s value projected into frame.
void set_proj_error (double error)
 Set the projection error.
void show_stats () const
void b_write (vsl_b_ostream &os) const
 Binary save self to stream.
void b_read (vsl_b_istream &is)
 Binary load self from stream.
short version () const
 Return IO version number;.
void print_summary (vcl_ostream &os) const
 Print an ascii summary to the stream.
void ref ()
void unref ()
int get_references () const
bool is_referenced () const

Protected Member Functions

void compute_statistics ()
 Compute the gamma statistics on the current projections.

Protected Attributes

vcl_vector< vcl_pair< double,
bmrf_node_sptr > > 
projs_2d_
 A vector of alpha/node pairs which represent the projection of this curvel into image i.
vcl_map< unsigned int, vnl_double_2 > pseudo_points_
 A map of projections that have been interpolated and do not belong to a node.
double sum_gamma_
 The sum of gamma values of all projections relative to the frame 0.
double sum_sqr_gamma_
 The sum of the squared gamma values relative to frame 0;.
bool stats_valid_
 Indicates that the statistics are valid.
unsigned int num_projections_
 The number of valid projections.
double proj_error_
 The error in the projection;.


Constructor & Destructor Documentation

bmrf_curvel_3d::bmrf_curvel_3d  ) 
 

Constructor.

Definition at line 15 of file bmrf_curvel_3d.cxx.

bmrf_curvel_3d::bmrf_curvel_3d bmrf_curvel_3d const &  c  ) 
 

Copy constructor.

Definition at line 24 of file bmrf_curvel_3d.cxx.

bmrf_curvel_3d::bmrf_curvel_3d vgl_point_3d< double > &  p,
vnl_double_3x3 s
 

Constructor.

Definition at line 32 of file bmrf_curvel_3d.cxx.

bmrf_curvel_3d::bmrf_curvel_3d double  x,
double  y,
double  z,
vnl_double_3x3 s
 

Constructor.

Definition at line 40 of file bmrf_curvel_3d.cxx.

bmrf_curvel_3d::~bmrf_curvel_3d  )  [inline]
 

Destructor.

Definition at line 40 of file bmrf_curvel_3d.h.


Member Function Documentation

double bmrf_curvel_3d::alpha_at_frame unsigned int  frame  )  const
 

Returns the alpha value at the projection into frame.

Definition at line 169 of file bmrf_curvel_3d.cxx.

void bmrf_curvel_3d::b_read vsl_b_istream is  ) 
 

Binary load self from stream.

Definition at line 310 of file bmrf_curvel_3d.cxx.

void bmrf_curvel_3d::b_write vsl_b_ostream os  )  const
 

Binary save self to stream.

Definition at line 295 of file bmrf_curvel_3d.cxx.

void bmrf_curvel_3d::compute_statistics  )  [protected]
 

Compute the gamma statistics on the current projections.

Definition at line 246 of file bmrf_curvel_3d.cxx.

bool bmrf_curvel_3d::cross_ratio unsigned int  frame,
double &  ratio
const
 

Returns the invariant cross ratio.

computed with the epipole and points from frame-1 to frame+1

Return values:
true if all required points exist (ratio returned by reference)
false if one or more required points do not exist

Definition at line 138 of file bmrf_curvel_3d.cxx.

double bmrf_curvel_3d::gamma_avg  ) 
 

Return the average gamma value relative to frame 0.

Definition at line 204 of file bmrf_curvel_3d.cxx.

double bmrf_curvel_3d::gamma_std  ) 
 

Return the standard deviation of the gamma values.

Definition at line 214 of file bmrf_curvel_3d.cxx.

bool bmrf_curvel_3d::is_projection const bmrf_node_sptr node  )  const
 

Return true if a projection of this curvel lies on node.

Definition at line 179 of file bmrf_curvel_3d.cxx.

bool bmrf_curvel_3d::merge const bmrf_curvel_3d_sptr other  ) 
 

Merge the other curvel into this curvel if there is no overlap.

Returns:
false if merging is not possible

Definition at line 51 of file bmrf_curvel_3d.cxx.

bmrf_node_sptr bmrf_curvel_3d::node_at_frame unsigned int  frame  )  const
 

Returns the smart pointer to the node at the projection into frame.

Definition at line 159 of file bmrf_curvel_3d.cxx.

int bmrf_curvel_3d::num_projections bool  include_pseudo = false  )  const
 

Return the number of projections available.

Definition at line 193 of file bmrf_curvel_3d.cxx.

bool bmrf_curvel_3d::pos_in_frame unsigned int  frame,
vnl_double_2 &  pos
const
 

Returns the 2d position of this curvel in frame by reference.

Return values:
true if a correspondence exists at this frame
false if no correspondence exists at this frame

Definition at line 115 of file bmrf_curvel_3d.cxx.

void bmrf_curvel_3d::print_summary vcl_ostream &  os  )  const
 

Print an ascii summary to the stream.

Definition at line 356 of file bmrf_curvel_3d.cxx.

double bmrf_curvel_3d::proj_error  )  const [inline]
 

Return the projection error.

Definition at line 77 of file bmrf_curvel_3d.h.

double bmrf_curvel_3d::s_avg unsigned int  frame  ) 
 

Return the average s value projected into frame.

Definition at line 228 of file bmrf_curvel_3d.cxx.

void bmrf_curvel_3d::set_proj_error double  error  )  [inline]
 

Set the projection error.

Definition at line 89 of file bmrf_curvel_3d.h.

void bmrf_curvel_3d::set_proj_in_frame unsigned int  frame,
double  alpha,
const bmrf_node_sptr node
 

Set the projection of this curvel into frame as the segment in.

node at the value alpha

Definition at line 86 of file bmrf_curvel_3d.cxx.

void bmrf_curvel_3d::set_psuedo_point unsigned int  frame,
const vnl_double_2 &  pos
 

Set the projection of this curvel into frame at an interpolated position.

Definition at line 104 of file bmrf_curvel_3d.cxx.

void bmrf_curvel_3d::show_stats  )  const
 

Definition at line 272 of file bmrf_curvel_3d.cxx.

short bmrf_curvel_3d::version  )  const
 

Return IO version number;.

Definition at line 348 of file bmrf_curvel_3d.cxx.


Member Data Documentation

unsigned int bmrf_curvel_3d::num_projections_ [protected]
 

The number of valid projections.

Definition at line 125 of file bmrf_curvel_3d.h.

double bmrf_curvel_3d::proj_error_ [protected]
 

The error in the projection;.

Definition at line 128 of file bmrf_curvel_3d.h.

vcl_vector<vcl_pair<double,bmrf_node_sptr> > bmrf_curvel_3d::projs_2d_ [protected]
 

A vector of alpha/node pairs which represent the projection of this curvel into image i.

Definition at line 110 of file bmrf_curvel_3d.h.

vcl_map<unsigned int, vnl_double_2> bmrf_curvel_3d::pseudo_points_ [protected]
 

A map of projections that have been interpolated and do not belong to a node.

Definition at line 113 of file bmrf_curvel_3d.h.

bool bmrf_curvel_3d::stats_valid_ [protected]
 

Indicates that the statistics are valid.

Definition at line 122 of file bmrf_curvel_3d.h.

double bmrf_curvel_3d::sum_gamma_ [protected]
 

The sum of gamma values of all projections relative to the frame 0.

Definition at line 116 of file bmrf_curvel_3d.h.

double bmrf_curvel_3d::sum_sqr_gamma_ [protected]
 

The sum of the squared gamma values relative to frame 0;.

Definition at line 119 of file bmrf_curvel_3d.h.


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