Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes
vifa_group_pgram Class Reference

#include <vifa_group_pgram.h>

Inheritance diagram for vifa_group_pgram:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 vifa_group_pgram (imp_line_list &lg, const vifa_group_pgram_params &old_params, double angle_range=180.0)
 ~vifa_group_pgram ()
 Destructor.
void Index (imp_line_sptr il)
 Add an ImplicitLine to the index.
void Index (imp_line_list &lg)
 Add a set of ImplicitLines to the angular index.
void Clear ()
 Clear all lines from the index.
vifa_histogram_sptr GetCoverageHist (void)
 Compute a histogram of parallel line coverage.
vifa_line_cover_sptr GetLineCover (int angle_bin)
 Get a populated line coverage corresponding to a given angle bin.
double LineCoverage (int angle_bin)
 Compute parallel line overlap on a line at the same orientation with midpoint at the center of the region of the line group.
void CollectAdjacentLines (int angle_bin, imp_line_list &lg)
 Collect implicit line(s) from the angle array at orientations +- the given bin orientation.
vifa_bbox_sptr GetBoundingBox (void)
void SetTemp1 (const double tmp)
double GetAdjacentPerimeter (int bin)
 Get Total length of parallel lines adjacent and including a bin.
double norm_parallel_line_length (void)
 Compute the total length of parallel lines normalized by the total edge perimeter.
float angle_increment () const
 Granularity in the angle bins.
int max_suppress_radius () const
 Radius of maximum suppression kernel.
float length_ratio () const
 Relative length of sorter side of parallellogram.
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

Protected Member Functions

int AngleLoc (imp_line_sptr il)
 Find the angle bin corresponding to an implicit_line.
imp_line_sptr LineAtAngle (int angle_bin)
 Define a line passing through the center of the Hough ROI and at an angle corresponding to the angle bin.
void CheckUpdateBoundingBox (void)
void ComputeBoundingBox (void)
 Compute the bounding box of the current index.
void ComputeDominantDirs (void)
 Compute the dominant directions using the coverage histogram.
void init_params (float angle_increment, int max_suppress_radius, float length_ratio)
 Assign internal parameter blocks.

Protected Attributes

unsigned long timestamp_

Private Attributes

int th_dim_
double angle_range_
vcl_vector< int > dominant_dirs_
 Array of dominant theta indices.
vifa_bbox_sptr bb_
imp_line_table curves_
double tmp1_

Detailed Description

Definition at line 29 of file vifa_group_pgram.h.


Constructor & Destructor Documentation

vifa_group_pgram::vifa_group_pgram ( imp_line_list lg,
const vifa_group_pgram_params old_params,
double  angle_range = 180.0 
)

Definition at line 18 of file vifa_group_pgram.cxx.

vifa_group_pgram::~vifa_group_pgram ( )

Destructor.

Definition at line 39 of file vifa_group_pgram.cxx.


Member Function Documentation

float vifa_group_pgram_params::angle_increment ( ) const [inline, inherited]

Granularity in the angle bins.

Definition at line 36 of file vifa_group_pgram_params.h.

int vifa_group_pgram::AngleLoc ( imp_line_sptr  il) [protected]

Find the angle bin corresponding to an implicit_line.

Definition at line 283 of file vifa_group_pgram.cxx.

void vifa_group_pgram::CheckUpdateBoundingBox ( void  ) [inline, protected]

Definition at line 76 of file vifa_group_pgram.h.

void vifa_group_pgram::Clear ( )

Clear all lines from the index.

Definition at line 77 of file vifa_group_pgram.cxx.

void vifa_group_pgram::CollectAdjacentLines ( int  angle_bin,
imp_line_list lg 
)

Collect implicit line(s) from the angle array at orientations +- the given bin orientation.

Wrap around the end of the array so that 0 degrees and 180 degrees are considered parallel.

Definition at line 175 of file vifa_group_pgram.cxx.

void vifa_group_pgram::ComputeBoundingBox ( void  ) [protected]

Compute the bounding box of the current index.

Definition at line 322 of file vifa_group_pgram.cxx.

void vifa_group_pgram::ComputeDominantDirs ( void  ) [protected]

Compute the dominant directions using the coverage histogram.

A dominant direction is a local maximum in the coverage distribution.

Definition at line 349 of file vifa_group_pgram.cxx.

double vifa_group_pgram::GetAdjacentPerimeter ( int  bin)

Get Total length of parallel lines adjacent and including a bin.

Definition at line 219 of file vifa_group_pgram.cxx.

vifa_bbox_sptr vifa_group_pgram::GetBoundingBox ( void  ) [inline]

Definition at line 90 of file vifa_group_pgram.h.

vifa_histogram_sptr vifa_group_pgram::GetCoverageHist ( void  )

Compute a histogram of parallel line coverage.

Definition at line 97 of file vifa_group_pgram.cxx.

vifa_line_cover_sptr vifa_group_pgram::GetLineCover ( int  angle_bin)

Get a populated line coverage corresponding to a given angle bin.

Definition at line 111 of file vifa_group_pgram.cxx.

void vifa_group_pgram::Index ( imp_line_sptr  il)

Add an ImplicitLine to the index.

Definition at line 57 of file vifa_group_pgram.cxx.

void vifa_group_pgram::Index ( imp_line_list lg)

Add a set of ImplicitLines to the angular index.

Definition at line 68 of file vifa_group_pgram.cxx.

void vifa_group_pgram_params::init_params ( float  angle_increment,
int  max_suppress_radius,
float  length_ratio 
) [inline, protected, inherited]

Assign internal parameter blocks.

Definition at line 63 of file vifa_group_pgram_params.h.

float vifa_group_pgram_params::length_ratio ( ) const [inline, inherited]

Relative length of sorter side of parallellogram.

Definition at line 42 of file vifa_group_pgram_params.h.

imp_line_sptr vifa_group_pgram::LineAtAngle ( int  angle_bin) [protected]

Define a line passing through the center of the Hough ROI and at an angle corresponding to the angle bin.

Definition at line 303 of file vifa_group_pgram.cxx.

double vifa_group_pgram::LineCoverage ( int  angle_bin)

Compute parallel line overlap on a line at the same orientation with midpoint at the center of the region of the line group.

Definition at line 165 of file vifa_group_pgram.cxx.

int vifa_group_pgram_params::max_suppress_radius ( ) const [inline, inherited]

Radius of maximum suppression kernel.

Definition at line 39 of file vifa_group_pgram_params.h.

double vifa_group_pgram::norm_parallel_line_length ( void  )

Compute the total length of parallel lines normalized by the total edge perimeter.

Definition at line 237 of file vifa_group_pgram.cxx.

void vifa_group_pgram_params::print_info ( void  ) [inherited]

Output contents.

Definition at line 47 of file vifa_group_pgram_params.cxx.

bool vifa_group_pgram_params::SanityCheck ( ) [virtual, inherited]

Check that parameters are within acceptable bounds.

Reimplemented from gevd_param_mixin.

Definition at line 19 of file vifa_group_pgram_params.cxx.

void vifa_group_pgram::SetTemp1 ( const double  tmp) [inline]

Definition at line 62 of file vifa_group_pgram.h.


Member Data Documentation

Definition at line 32 of file vifa_group_pgram.h.

Definition at line 37 of file vifa_group_pgram.h.

Definition at line 38 of file vifa_group_pgram.h.

vcl_vector<int> vifa_group_pgram::dominant_dirs_ [private]

Array of dominant theta indices.

Definition at line 35 of file vifa_group_pgram.h.

Definition at line 31 of file vifa_group_pgram.h.

double vifa_group_pgram::tmp1_ [private]

Definition at line 39 of file vifa_group_pgram.h.


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