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

vifa_int_faces_attr Class Reference

#include <vifa_int_faces_attr.h>

Inheritance diagram for vifa_int_faces_attr:

Inheritance graph
[legend]
List of all members.

Detailed Description

Definition at line 40 of file vifa_int_faces_attr.h.

Public Member Functions

 vifa_int_faces_attr (vdgl_fit_lines_params *fitter_params=NULL, vifa_group_pgram_params *gpp_s=NULL, vifa_group_pgram_params *gpp_w=NULL, vifa_coll_lines_params *cpp=NULL, vifa_norm_params *np=NULL, vifa_int_face_attr_factory *factory=NULL)
 vifa_int_faces_attr (iface_list &v, vdgl_fit_lines_params *fitter_params=NULL, vifa_group_pgram_params *gpp_s=NULL, vifa_group_pgram_params *gpp_w=NULL, vifa_coll_lines_params *cpp=NULL, vifa_norm_params *np=NULL, vifa_int_face_attr_factory *factory=NULL)
virtual ~vifa_int_faces_attr ()
virtual bool ComputeAttributes ()
virtual bool GetAttributes (vcl_vector< float > &attrs)
virtual bool GetNativeAttributes (vcl_vector< float > &attrs)
virtual iface_listGetFaces ()
virtual void SetFaces (iface_list &v)
edge_2d_listGetEdges ()
vifa_int_face_attr_sptr factory_new_attr (vtol_intensity_face_sptr face)
float Xo ()
 centroid X.
float Yo ()
 centroid Y.
float GetMeanAttr (int attr_index)
float GetSDAttr (int attr_index)
float GetMinAttr (int attr_index)
float GetMaxAttr (int attr_index)
int NumHistAttributes ()
float Area ()
float AspectRatio ()
float PerimeterLength ()
float Complexity ()
float WeightedComplexity ()
float WeightedPerimeterLength ()
float TwoPeakParallel ()
float FourPeakParallel ()
float EightyPercentParallel ()
virtual bool valid_p () const
edge_2d_listGetFittedEdges ()
double fitted_max ()
double fitted_min ()
double fitted_var ()
double fitted_mean ()
coll_listget_collinear_lines ()
double col_span_mean ()
double col_span_var ()
double col_support_mean ()
double col_support_var ()
double col_contrib_mean ()
double col_contrib_var ()
double col_collapse ()
vifa_group_pgram_params_sptr get_strong_group_pgram_params ()
vifa_group_pgram_params_sptr get_weak_group_pgram_params ()
void set_strong_group_pgram_params (const vifa_group_pgram_params &gp)
void set_weak_group_pgram_params (const vifa_group_pgram_params &gp)
void set_norm_params (const vifa_norm_params &np)
float normalize_intensity (float raw_intensity)
double get_contrast_across_edge (vtol_edge_sptr e, double dflt_cont=0.0)
vifa_coll_lines_sptr get_line_along_edge (vtol_edge *edge)
float StrongParallelSal ()
 Get proportion of edges with projective parallelism.
float WeakParallelSal ()
 Get proportion of edges with "weak" projective parallelism.
vdgl_fit_lines_params_sptr fitter_params ()
 Line fitting parameters (incl. fit_length).
vifa_group_pgram_params_sptr gpp_s ()
 Strong projected parallelism parameters.
vifa_group_pgram_params_sptr gpp_w ()
 Weak projected parallelism parameters.
vifa_coll_lines_params_sptr cpp ()
 Collinearization parameters.
vifa_norm_params_sptr np ()
 Pixel normalization parameters.
void set_params (const vifa_int_face_attr_common_params &ifap)
 Publicly available setting of parameters.
bool SanityCheck ()
 Check that parameters are within acceptable bounds.
void print_info (void)
 Output contents.
bool Valid ()
const char * GetErrorMsg ()
void SetErrorMsg (const char *msg)
void touch ()
unsigned long get_time_stamp () const
bool older (vul_timestamp const &t) const
bool older (vul_timestamp const *t) const
void ref ()
void unref ()
int get_references () const
bool is_referenced () const

Static Public Member Functions

static void GetAttributeNames (vcl_vector< vcl_string > &names)
static float CallAttrFunction (vifa_int_face_attr *seed, int i)
static const char * GetBaseAttrName (int i)

Protected Member Functions

virtual void init ()
void SetNP ()
void ComputeCentroid ()
virtual bool ComputeSingleFaceAttributes (bool forceP=false)
edge_listGetPerimeterEdges ()
vifa_histogram_sptr MakeAttrHist (vcl_vector< float > &attr_vals)
void fit_lines ()
void find_collinear_lines ()
bool find_collinear_match (vtol_edge_2d_sptr edge, coll_list &lines, double dist_threshold, coll_iterator &result)
float compute_parallel_sal (vifa_group_pgram_params_sptr gpp)
void init_params (vdgl_fit_lines_params *fitter_params, vifa_group_pgram_params *gpp_s, vifa_group_pgram_params *gpp_w, vifa_coll_lines_params *cpp, vifa_norm_params *np)
 Assign internal parameter blocks.
void init_params (const vdgl_fit_lines_params &fitter_params, const vifa_group_pgram_params &gpp_s, const vifa_group_pgram_params &gpp_w, const vifa_coll_lines_params &cpp, const vifa_norm_params &np)
 Assign internal parameter blocks.

Protected Attributes

iface_list faces_
attr_list attr_map_
vcl_vector< float > centroid_
float perimeter_
float weighted_perimeter_
incr_var_list attr_vec_
float cached_2_parallel_
float cached_4_parallel_
float cached_80_parallel_
vifa_parallelnpobj_
vifa_int_face_attr_factoryfactory_
bool attributes_valid_
 Have the attributes been computed?.
edge_2d_list edges_
 Cache of all edges from face(s).
edge_2d_list fitted_edges_
 Cache of fitted line segments.
vifa_incr_var fitted_edges_stats_
 Statistics about fitted edges in cache.
coll_list collinear_lines_
 Cache of collinear lines.
vifa_incr_var col_span_
vifa_incr_var col_support_
vifa_incr_var col_contrib_
float area_
 Face area, in pixels.
float aspect_ratio_
 Ratio of major face moments.
float complexity_
 Edge length^2 / detection area.
float weighted_complexity_
 Weighted complexity measure.
float peri_length_
 Length of boundary.
float weighted_peri_length_
 Weighted length of boundary.
float para_sal_strong_
float para_sal_weak_
vdgl_fit_lines_params_sptr fitter_params_
vifa_group_pgram_params_sptr gpp_s_
vifa_group_pgram_params_sptr gpp_w_
vifa_coll_lines_params_sptr cpp_
vifa_norm_params_sptr np_
unsigned long timestamp_

Static Protected Attributes

static AttrFuncPtr attr_get_funcs []
static const char *const attr_names []
static float attr_min_vals []


Constructor & Destructor Documentation

vifa_int_faces_attr::vifa_int_faces_attr vdgl_fit_lines_params fitter_params = NULL,
vifa_group_pgram_params gpp_s = NULL,
vifa_group_pgram_params gpp_w = NULL,
vifa_coll_lines_params cpp = NULL,
vifa_norm_params np = NULL,
vifa_int_face_attr_factory factory = NULL
 

Definition at line 104 of file vifa_int_faces_attr.cxx.

vifa_int_faces_attr::vifa_int_faces_attr iface_list v,
vdgl_fit_lines_params fitter_params = NULL,
vifa_group_pgram_params gpp_s = NULL,
vifa_group_pgram_params gpp_w = NULL,
vifa_coll_lines_params cpp = NULL,
vifa_norm_params np = NULL,
vifa_int_face_attr_factory factory = NULL
 

Definition at line 117 of file vifa_int_faces_attr.cxx.

vifa_int_faces_attr::~vifa_int_faces_attr  )  [virtual]
 

Definition at line 133 of file vifa_int_faces_attr.cxx.


Member Function Documentation

float vifa_int_faces_attr::Area  )  [virtual]
 

Implements vifa_int_face_attr_common.

Definition at line 504 of file vifa_int_faces_attr.cxx.

float vifa_int_faces_attr::AspectRatio  )  [virtual]
 

Implements vifa_int_face_attr_common.

Definition at line 520 of file vifa_int_faces_attr.cxx.

float vifa_int_faces_attr::CallAttrFunction vifa_int_face_attr seed,
int  i
[static]
 

Definition at line 144 of file vifa_int_faces_attr.cxx.

double vifa_int_face_attr_common::col_collapse  )  [inherited]
 

Definition at line 54 of file vifa_int_face_attr_common.cxx.

double vifa_int_face_attr_common::col_contrib_mean  )  [inline, inherited]
 

Definition at line 113 of file vifa_int_face_attr_common.h.

double vifa_int_face_attr_common::col_contrib_var  )  [inline, inherited]
 

Definition at line 114 of file vifa_int_face_attr_common.h.

double vifa_int_face_attr_common::col_span_mean  )  [inline, inherited]
 

Definition at line 109 of file vifa_int_face_attr_common.h.

double vifa_int_face_attr_common::col_span_var  )  [inline, inherited]
 

Definition at line 110 of file vifa_int_face_attr_common.h.

double vifa_int_face_attr_common::col_support_mean  )  [inline, inherited]
 

Definition at line 111 of file vifa_int_face_attr_common.h.

double vifa_int_face_attr_common::col_support_var  )  [inline, inherited]
 

Definition at line 112 of file vifa_int_face_attr_common.h.

float vifa_int_faces_attr::Complexity  )  [virtual]
 

Implements vifa_int_face_attr_common.

Definition at line 742 of file vifa_int_faces_attr.cxx.

float vifa_int_face_attr_common::compute_parallel_sal vifa_group_pgram_params_sptr  gpp  )  [protected, inherited]
 

Definition at line 365 of file vifa_int_face_attr_common.cxx.

bool vifa_int_faces_attr::ComputeAttributes  )  [virtual]
 

Implements vifa_int_face_attr_common.

Reimplemented in vifa_int_faces_adj_attr.

Definition at line 275 of file vifa_int_faces_attr.cxx.

void vifa_int_faces_attr::ComputeCentroid  )  [protected]
 

Definition at line 203 of file vifa_int_faces_attr.cxx.

bool vifa_int_faces_attr::ComputeSingleFaceAttributes bool  forceP = false  )  [protected, virtual]
 

Definition at line 255 of file vifa_int_faces_attr.cxx.

vifa_coll_lines_params_sptr vifa_int_face_attr_common_params::cpp  )  [inline, inherited]
 

Collinearization parameters.

Definition at line 55 of file vifa_int_face_attr_common_params.h.

float vifa_int_faces_attr::EightyPercentParallel  )  [virtual]
 

Implements vifa_int_face_attr_common.

Definition at line 816 of file vifa_int_faces_attr.cxx.

vifa_int_face_attr_sptr vifa_int_faces_attr::factory_new_attr vtol_intensity_face_sptr  face  ) 
 

Definition at line 835 of file vifa_int_faces_attr.cxx.

void vifa_int_face_attr_common::find_collinear_lines  )  [protected, inherited]
 

Definition at line 240 of file vifa_int_face_attr_common.cxx.

bool vifa_int_face_attr_common::find_collinear_match vtol_edge_2d_sptr  edge,
coll_list lines,
double  dist_threshold,
coll_iterator result
[protected, inherited]
 

Definition at line 338 of file vifa_int_face_attr_common.cxx.

void vifa_int_face_attr_common::fit_lines  )  [protected, inherited]
 

Definition at line 183 of file vifa_int_face_attr_common.cxx.

double vifa_int_face_attr_common::fitted_max  )  [inline, inherited]
 

Definition at line 103 of file vifa_int_face_attr_common.h.

double vifa_int_face_attr_common::fitted_mean  )  [inline, inherited]
 

Definition at line 106 of file vifa_int_face_attr_common.h.

double vifa_int_face_attr_common::fitted_min  )  [inline, inherited]
 

Definition at line 104 of file vifa_int_face_attr_common.h.

double vifa_int_face_attr_common::fitted_var  )  [inline, inherited]
 

Definition at line 105 of file vifa_int_face_attr_common.h.

vdgl_fit_lines_params_sptr vifa_int_face_attr_common_params::fitter_params  )  [inline, inherited]
 

Line fitting parameters (incl. fit_length).

Definition at line 46 of file vifa_int_face_attr_common_params.h.

float vifa_int_faces_attr::FourPeakParallel  )  [virtual]
 

Implements vifa_int_face_attr_common.

Definition at line 794 of file vifa_int_faces_attr.cxx.

coll_list & vifa_int_face_attr_common::get_collinear_lines  )  [inherited]
 

Definition at line 42 of file vifa_int_face_attr_common.cxx.

double vifa_int_face_attr_common::get_contrast_across_edge vtol_edge_sptr  e,
double  dflt_cont = 0.0
[inherited]
 

Definition at line 75 of file vifa_int_face_attr_common.cxx.

vifa_coll_lines_sptr vifa_int_face_attr_common::get_line_along_edge vtol_edge edge  )  [inherited]
 

Definition at line 93 of file vifa_int_face_attr_common.cxx.

vifa_group_pgram_params_sptr vifa_int_face_attr_common::get_strong_group_pgram_params  )  [inline, inherited]
 

Definition at line 117 of file vifa_int_face_attr_common.h.

vifa_group_pgram_params_sptr vifa_int_face_attr_common::get_weak_group_pgram_params  )  [inline, inherited]
 

Definition at line 118 of file vifa_int_face_attr_common.h.

void vifa_int_faces_attr::GetAttributeNames vcl_vector< vcl_string > &  names  )  [static]
 

Reimplemented in vifa_int_faces_adj_attr.

Definition at line 336 of file vifa_int_faces_attr.cxx.

bool vifa_int_faces_attr::GetAttributes vcl_vector< float > &  attrs  )  [virtual]
 

Implements vifa_int_face_attr_common.

Reimplemented in vifa_int_faces_adj_attr.

Definition at line 294 of file vifa_int_faces_attr.cxx.

const char * vifa_int_faces_attr::GetBaseAttrName int  i  )  [static]
 

Definition at line 363 of file vifa_int_faces_attr.cxx.

edge_2d_list & vifa_int_faces_attr::GetEdges  )  [virtual]
 

Implements vifa_int_face_attr_common.

Definition at line 164 of file vifa_int_faces_attr.cxx.

virtual iface_list& vifa_int_faces_attr::GetFaces  )  [inline, virtual]
 

Reimplemented in vifa_int_faces_adj_attr.

Definition at line 102 of file vifa_int_faces_attr.h.

edge_2d_list & vifa_int_face_attr_common::GetFittedEdges  )  [inherited]
 

Definition at line 33 of file vifa_int_face_attr_common.cxx.

float vifa_int_faces_attr::GetMaxAttr int  attr_index  ) 
 

Definition at line 483 of file vifa_int_faces_attr.cxx.

float vifa_int_faces_attr::GetMeanAttr int  attr_index  ) 
 

Definition at line 410 of file vifa_int_faces_attr.cxx.

float vifa_int_faces_attr::GetMinAttr int  attr_index  ) 
 

Definition at line 464 of file vifa_int_faces_attr.cxx.

bool vifa_int_faces_attr::GetNativeAttributes vcl_vector< float > &  attrs  )  [virtual]
 

Implements vifa_int_face_attr_common.

Reimplemented in vifa_int_faces_adj_attr.

Definition at line 305 of file vifa_int_faces_attr.cxx.

edge_list * vifa_int_faces_attr::GetPerimeterEdges  )  [protected]
 

Definition at line 527 of file vifa_int_faces_attr.cxx.

float vifa_int_faces_attr::GetSDAttr int  attr_index  ) 
 

Definition at line 442 of file vifa_int_faces_attr.cxx.

vifa_group_pgram_params_sptr vifa_int_face_attr_common_params::gpp_s  )  [inline, inherited]
 

Strong projected parallelism parameters.

Definition at line 49 of file vifa_int_face_attr_common_params.h.

vifa_group_pgram_params_sptr vifa_int_face_attr_common_params::gpp_w  )  [inline, inherited]
 

Weak projected parallelism parameters.

Definition at line 52 of file vifa_int_face_attr_common_params.h.

void vifa_int_faces_attr::init  )  [protected, virtual]
 

Reimplemented from vifa_int_face_attr_common.

Reimplemented in vifa_int_faces_adj_attr.

Definition at line 78 of file vifa_int_faces_attr.cxx.

void vifa_int_face_attr_common_params::init_params const vdgl_fit_lines_params fitter_params,
const vifa_group_pgram_params gpp_s,
const vifa_group_pgram_params gpp_w,
const vifa_coll_lines_params cpp,
const vifa_norm_params np
[protected, inherited]
 

Assign internal parameter blocks.

Definition at line 145 of file vifa_int_face_attr_common_params.cxx.

void vifa_int_face_attr_common_params::init_params vdgl_fit_lines_params fitter_params,
vifa_group_pgram_params gpp_s,
vifa_group_pgram_params gpp_w,
vifa_coll_lines_params cpp,
vifa_norm_params np
[protected, inherited]
 

Assign internal parameter blocks.

Definition at line 113 of file vifa_int_face_attr_common_params.cxx.

vifa_histogram_sptr vifa_int_faces_attr::MakeAttrHist vcl_vector< float > &  attr_vals  )  [protected]
 

Definition at line 372 of file vifa_int_faces_attr.cxx.

float vifa_int_face_attr_common::normalize_intensity float  raw_intensity  )  [inline, inherited]
 

Definition at line 126 of file vifa_int_face_attr_common.h.

vifa_norm_params_sptr vifa_int_face_attr_common_params::np  )  [inline, inherited]
 

Pixel normalization parameters.

Definition at line 58 of file vifa_int_face_attr_common_params.h.

int vifa_int_faces_attr::NumHistAttributes  )  [inline]
 

Definition at line 126 of file vifa_int_faces_attr.h.

float vifa_int_faces_attr::PerimeterLength  )  [virtual]
 

Implements vifa_int_face_attr_common.

Definition at line 600 of file vifa_int_faces_attr.cxx.

void vifa_int_face_attr_common_params::print_info void   )  [inherited]
 

Output contents.

Definition at line 81 of file vifa_int_face_attr_common_params.cxx.

bool vifa_int_face_attr_common_params::SanityCheck  )  [virtual, inherited]
 

Check that parameters are within acceptable bounds.

Reimplemented from gevd_param_mixin.

Definition at line 54 of file vifa_int_face_attr_common_params.cxx.

void vifa_int_face_attr_common::set_norm_params const vifa_norm_params np  )  [inline, inherited]
 

Definition at line 124 of file vifa_int_face_attr_common.h.

void vifa_int_face_attr_common_params::set_params const vifa_int_face_attr_common_params ifap  )  [inherited]
 

Publicly available setting of parameters.

Definition at line 44 of file vifa_int_face_attr_common_params.cxx.

void vifa_int_face_attr_common::set_strong_group_pgram_params const vifa_group_pgram_params gp  )  [inline, inherited]
 

Definition at line 119 of file vifa_int_face_attr_common.h.

void vifa_int_face_attr_common::set_weak_group_pgram_params const vifa_group_pgram_params gp  )  [inline, inherited]
 

Definition at line 121 of file vifa_int_face_attr_common.h.

void vifa_int_faces_attr::SetFaces iface_list v  )  [virtual]
 

Definition at line 150 of file vifa_int_faces_attr.cxx.

void vifa_int_faces_attr::SetNP  )  [protected]
 

Definition at line