Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes
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.

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)
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
const char * GetErrorMsg () const
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 int NumHistAttributes ()
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 []

Detailed Description

Definition at line 40 of file vifa_int_faces_attr.h.


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 106 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 119 of file vifa_int_faces_attr.cxx.

vifa_int_faces_attr::~vifa_int_faces_attr ( ) [virtual]

Definition at line 135 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 506 of file vifa_int_faces_attr.cxx.

float vifa_int_faces_attr::AspectRatio ( ) [virtual]

Implements vifa_int_face_attr_common.

Definition at line 522 of file vifa_int_faces_attr.cxx.

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

Definition at line 146 of file vifa_int_faces_attr.cxx.

double vifa_int_face_attr_common::col_collapse ( ) [inherited]

Definition at line 57 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 744 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 368 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 277 of file vifa_int_faces_attr.cxx.

void vifa_int_faces_attr::ComputeCentroid ( ) [protected]

Definition at line 205 of file vifa_int_faces_attr.cxx.

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

Definition at line 257 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 818 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 837 of file vifa_int_faces_attr.cxx.

void vifa_int_face_attr_common::find_collinear_lines ( ) [protected, inherited]

Definition at line 243 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 341 of file vifa_int_face_attr_common.cxx.

void vifa_int_face_attr_common::fit_lines ( ) [protected, inherited]

Definition at line 186 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 796 of file vifa_int_faces_attr.cxx.

coll_list & vifa_int_face_attr_common::get_collinear_lines ( ) [inherited]

Definition at line 45 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 78 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 96 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 338 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 296 of file vifa_int_faces_attr.cxx.

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

Definition at line 365 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 166 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 36 of file vifa_int_face_attr_common.cxx.

float vifa_int_faces_attr::GetMaxAttr ( int  attr_index)

Definition at line 485 of file vifa_int_faces_attr.cxx.

float vifa_int_faces_attr::GetMeanAttr ( int  attr_index)

Definition at line 412 of file vifa_int_faces_attr.cxx.

float vifa_int_faces_attr::GetMinAttr ( int  attr_index)

Definition at line 466 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 307 of file vifa_int_faces_attr.cxx.

edge_list * vifa_int_faces_attr::GetPerimeterEdges ( ) [protected]

Definition at line 529 of file vifa_int_faces_attr.cxx.

float vifa_int_faces_attr::GetSDAttr ( int  attr_index)

Definition at line 444 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 ( void  ) [protected, virtual]

Reimplemented from vifa_int_face_attr_common.

Reimplemented in vifa_int_faces_adj_attr.

Definition at line 80 of file vifa_int_faces_attr.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 112 of file vifa_int_face_attr_common_params.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 144 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 374 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.

static int vifa_int_faces_attr::NumHistAttributes ( ) [inline, static]

Definition at line 125 of file vifa_int_faces_attr.h.

float vifa_int_faces_attr::PerimeterLength ( ) [virtual]

Implements vifa_int_face_attr_common.

Definition at line 602 of file vifa_int_faces_attr.cxx.

void vifa_int_face_attr_common_params::print_info ( void  ) [inherited]

Output contents.

Definition at line 80 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.

Checks that parameters are within acceptable bounds.

Reimplemented from gevd_param_mixin.

Definition at line 53 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 43 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 152 of file vifa_int_faces_attr.cxx.

void vifa_int_faces_attr::SetNP ( ) [protected]

Definition at line 765 of file vifa_int_faces_attr.cxx.

float vifa_int_face_attr_common::StrongParallelSal ( ) [inherited]

Get proportion of edges with projective parallelism.

Definition at line 130 of file vifa_int_face_attr_common.cxx.

float vifa_int_faces_attr::TwoPeakParallel ( ) [virtual]

Implements vifa_int_face_attr_common.

Definition at line 774 of file vifa_int_faces_attr.cxx.

virtual bool vifa_int_face_attr_common::valid_p ( ) const [inline, virtual, inherited]

Definition at line 98 of file vifa_int_face_attr_common.h.

float vifa_int_face_attr_common::WeakParallelSal ( ) [inherited]

Get proportion of edges with "weak" projective parallelism.

Definition at line 147 of file vifa_int_face_attr_common.cxx.

float vifa_int_faces_attr::WeightedComplexity ( ) [virtual]

Implements vifa_int_face_attr_common.

Definition at line 755 of file vifa_int_faces_attr.cxx.

float vifa_int_faces_attr::WeightedPerimeterLength ( ) [virtual]

Implements vifa_int_face_attr_common.

Definition at line 630 of file vifa_int_faces_attr.cxx.

float vifa_int_faces_attr::Xo ( ) [virtual]

centroid X.

Implements vifa_int_face_attr_common.

Definition at line 232 of file vifa_int_faces_attr.cxx.

float vifa_int_faces_attr::Yo ( ) [virtual]

centroid Y.

Implements vifa_int_face_attr_common.

Definition at line 242 of file vifa_int_faces_attr.cxx.


Member Data Documentation

float vifa_int_face_attr_common::area_ [protected, inherited]

Face area, in pixels.

Definition at line 54 of file vifa_int_face_attr_common.h.

float vifa_int_face_attr_common::aspect_ratio_ [protected, inherited]

Ratio of major face moments.

Definition at line 57 of file vifa_int_face_attr_common.h.

Definition at line 47 of file vifa_int_faces_attr.h.

float vifa_int_faces_attr::attr_min_vals [static, protected]
Initial value:
 {
  0.0039f,      
  0.0039f,
  0.0039f,
  0.0001f,      
  1.0f,         
  1.0f,         
  1.0f,         
  1.0f,         
  1.0f,         
  1.0f,         
  0.05f,        
  0.05f,        
  1e-5f,
  1e-5f,
  1e-5f
}

Definition at line 58 of file vifa_int_faces_attr.h.

const char *const vifa_int_faces_attr::attr_names [static, protected]
Initial value:
{
  "IntMax",
  "IntMin",
  "IntMean",
  "IntVar",
  "Area",
  "AspectRatio",
  "PerimeterLength",
  "WeightedPerimeterLength",
  "Complexity",
  "WeightedComplexity",
  "StrongParallel",
  "WeakParallel",
  "TwoPeakParallel",
  "FourPeakParallel",
  "EightyPercentParallel"
}

Definition at line 57 of file vifa_int_faces_attr.h.

Definition at line 66 of file vifa_int_faces_attr.h.

bool vifa_int_face_attr_common::attributes_valid_ [protected, inherited]

Have the attributes been computed?.

Definition at line 36 of file vifa_int_face_attr_common.h.

Definition at line 68 of file vifa_int_faces_attr.h.

Definition at line 69 of file vifa_int_faces_attr.h.

Definition at line 70 of file vifa_int_faces_attr.h.

vcl_vector<float> vifa_int_faces_attr::centroid_ [protected]

Definition at line 49 of file vifa_int_faces_attr.h.

Definition at line 51 of file vifa_int_face_attr_common.h.

Definition at line 49 of file vifa_int_face_attr_common.h.

Definition at line 50 of file vifa_int_face_attr_common.h.

Cache of collinear lines.

Definition at line 48 of file vifa_int_face_attr_common.h.

float vifa_int_face_attr_common::complexity_ [protected, inherited]

Edge length^2 / detection area.

Definition at line 60 of file vifa_int_face_attr_common.h.

Definition at line 41 of file vifa_int_face_attr_common_params.h.

Cache of all edges from face(s).

Definition at line 39 of file vifa_int_face_attr_common.h.

Definition at line 43 of file vifa_int_faces_attr.h.

Definition at line 72 of file vifa_int_faces_attr.h.

Cache of fitted line segments.

Definition at line 42 of file vifa_int_face_attr_common.h.

Statistics about fitted edges in cache.

Definition at line 45 of file vifa_int_face_attr_common.h.

Definition at line 38 of file vifa_int_face_attr_common_params.h.

Definition at line 39 of file vifa_int_face_attr_common_params.h.

Definition at line 40 of file vifa_int_face_attr_common_params.h.

Definition at line 42 of file vifa_int_face_attr_common_params.h.

Definition at line 71 of file vifa_int_faces_attr.h.

float vifa_int_face_attr_common::para_sal_strong_ [protected, inherited]

Definition at line 72 of file vifa_int_face_attr_common.h.

float vifa_int_face_attr_common::para_sal_weak_ [protected, inherited]

Definition at line 75 of file vifa_int_face_attr_common.h.

float vifa_int_face_attr_common::peri_length_ [protected, inherited]

Length of boundary.

Definition at line 66 of file vifa_int_face_attr_common.h.

Definition at line 50 of file vifa_int_faces_attr.h.

Weighted complexity measure.

Definition at line 63 of file vifa_int_face_attr_common.h.

Weighted length of boundary.

Definition at line 69 of file vifa_int_face_attr_common.h.

Definition at line 51 of file vifa_int_faces_attr.h.


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