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

vifa_int_faces_adj_attr Class Reference

#include <vifa_int_faces_adj_attr.h>

Inheritance diagram for vifa_int_faces_adj_attr:

Inheritance graph
[legend]
List of all members.

Detailed Description

Definition at line 32 of file vifa_int_faces_adj_attr.h.

Public Member Functions

 vifa_int_faces_adj_attr ()
 vifa_int_faces_adj_attr (vtol_intensity_face_sptr seed, int depth, int size_filter=-1, 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, float junk_area_percentage=0.2)
 vifa_int_faces_adj_attr (vtol_intensity_face_sptr seed, int depth, iface_list &neighborhood, int size_filter=-1, 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, float junk_area_percentage=0.2)
virtual iface_listGetFaces ()
iface_listGetFaceList ()
virtual bool ComputeAttributes ()
virtual bool GetAttributes (vcl_vector< float > &attrs)
virtual bool GetNativeAttributes (vcl_vector< float > &attrs)
vtol_intensity_face_sptr GetSeed () const
void SetSeed (vtol_intensity_face_sptr seed)
int GetDepth () const
void SetDepth (int depth)
int NeighborhoodSize ()
int GetJunkCount ()
float GetJunkPercent ()
float GetJunkAreaRatio ()
bool compute_closure ()
float Collinearity ()
float GetRatioAttr (int attr_index)
float GetMinRatioAttr (int attr_index)
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 Types

enum  { BAD_DEPTH = -1 }

Protected Member Functions

virtual void init ()
bool add_unique_face (iface_list &facelist, vtol_intensity_face_sptr face, int size_filter)
void compute_closure_step (int current_depth, vtol_intensity_face_sptr seed)
vtol_intensity_face_sptr get_adjacent_face_at_edge (vtol_intensity_face_sptr &known_face, vtol_edge_2d *e)
iface_listget_adjacent_faces (vtol_intensity_face_sptr &known_face)
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

bool closure_valid_
vtol_intensity_face_sptr seed_
vifa_int_face_attr_sptr seed_attr_
int depth_
int size_filter_
float junk_area_percentage_
int junk_count_
float junk_percent_
float junk_area_ratio_
vcl_vector< float > mean_ratios_
vcl_vector< float > min_ratios_
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 []


Member Enumeration Documentation

anonymous enum [protected]
 

Enumerator:
BAD_DEPTH 

Definition at line 35 of file vifa_int_faces_adj_attr.h.


Constructor & Destructor Documentation

vifa_int_faces_adj_attr::vifa_int_faces_adj_attr  ) 
 

Definition at line 5 of file vifa_int_faces_adj_attr.cxx.

vifa_int_faces_adj_attr::vifa_int_faces_adj_attr vtol_intensity_face_sptr  seed,
int  depth,
int  size_filter = -1,
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,
float  junk_area_percentage = 0.2
 

Definition at line 17 of file vifa_int_faces_adj_attr.cxx.

vifa_int_faces_adj_attr::vifa_int_faces_adj_attr vtol_intensity_face_sptr  seed,
int  depth,
iface_list neighborhood,
int  size_filter = -1,
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,
float  junk_area_percentage = 0.2
 

Definition at line 41 of file vifa_int_faces_adj_attr.cxx.


Member Function Documentation

bool vifa_int_faces_adj_attr::add_unique_face iface_list facelist,
vtol_intensity_face_sptr  face,
int  size_filter
[protected]
 

Definition at line 333 of file vifa_int_faces_adj_attr.cxx.

float vifa_int_faces_attr::Area  )  [virtual, inherited]
 

Implements vifa_int_face_attr_common.

Definition at line 504 of file vifa_int_faces_attr.cxx.

float vifa_int_faces_attr::AspectRatio  )  [virtual, inherited]
 

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, inherited]
 

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_adj_attr::Collinearity  ) 
 

Definition at line 271 of file vifa_int_faces_adj_attr.cxx.

float vifa_int_faces_attr::Complexity  )  [virtual, inherited]
 

Implements vifa_int_face_attr_common.

Definition at line 742 of file vifa_int_faces_attr.cxx.

bool vifa_int_faces_adj_attr::compute_closure  ) 
 

Definition at line 205 of file vifa_int_faces_adj_attr.cxx.

void vifa_int_faces_adj_attr::compute_closure_step int  current_depth,
vtol_intensity_face_sptr  seed
[protected]
 

Definition at line 355 of file vifa_int_faces_adj_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_adj_attr::ComputeAttributes  )  [virtual]
 

Reimplemented from vifa_int_faces_attr.

Definition at line 105 of file vifa_int_faces_adj_attr.cxx.

void vifa_int_faces_attr::ComputeCentroid  )  [protected, inherited]
 

Definition at line 203 of file vifa_int_faces_attr.cxx.

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

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, inherited]
 

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  )  [inherited]
 

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, inherited]
 

Implements vifa_int_face_attr_common.

Definition at line 794 of file vifa_int_faces_attr.cxx.

vtol_intensity_face_sptr vifa_int_faces_adj_attr::get_adjacent_face_at_edge vtol_intensity_face_sptr known_face,
vtol_edge_2d e
[protected]
 

Definition at line 404 of file vifa_int_faces_adj_attr.cxx.

iface_list * vifa_int_faces_adj_attr::get_adjacent_faces vtol_intensity_face_sptr known_face  )  [protected]
 

Definition at line 431 of file vifa_int_faces_adj_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_adj_attr::GetAttributeNames vcl_vector< vcl_string > &  names  )  [static]
 

Reimplemented from vifa_int_faces_attr.

Definition at line 160 of file vifa_int_faces_adj_attr.cxx.

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

Reimplemented from vifa_int_faces_attr.

Definition at line 149 of file vifa_int_faces_adj_attr.cxx.

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

Definition at line 363 of file vifa_int_faces_attr.cxx.

int vifa_int_faces_adj_attr::GetDepth  )  const [inline]
 

Definition at line 97 of file vifa_int_faces_adj_attr.h.

edge_2d_list & vifa_int_faces_attr::GetEdges  )  [virtual, inherited]
 

Implements vifa_int_face_attr_common.

Definition at line 164 of file vifa_int_faces_attr.cxx.

iface_list * vifa_int_faces_adj_attr::GetFaceList  ) 
 

Definition at line 87 of file vifa_int_faces_adj_attr.cxx.

iface_list & vifa_int_faces_adj_attr::GetFaces  )  [virtual]
 

Reimplemented from vifa_int_faces_attr.

Definition at line 74 of file vifa_int_faces_adj_attr.cxx.

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_adj_attr::GetJunkAreaRatio  )  [inline]
 

Definition at line 108 of file vifa_int_faces_adj_attr.h.

int vifa_int_faces_adj_attr::GetJunkCount  )  [inline]
 

Definition at line 104 of file vifa_int_faces_adj_attr.h.

float vifa_int_faces_adj_attr::GetJunkPercent  )  [inline]
 

Definition at line 106 of file vifa_int_faces_adj_attr.h.

float vifa_int_faces_attr::GetMaxAttr int  attr_index  )  [inherited]
 

Definition at line 483 of file vifa_int_faces_attr.cxx.

float vifa_int_faces_attr::GetMeanAttr int  attr_index  )  [inherited]
 

Definition at line 410 of file vifa_int_faces_attr.cxx.

float vifa_int_faces_attr::GetMinAttr int  attr_index  )  [inherited]
 

Definition at line 464 of file vifa_int_faces_attr.cxx.

float vifa_int_faces_adj_attr::GetMinRatioAttr int  attr_index  ) 
 

Definition at line 312 of file vifa_int_faces_adj_attr.cxx.

bool vifa_int_faces_adj_