#include <vifa_group_pgram.h>
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_ |
Definition at line 29 of file vifa_group_pgram.h.
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.
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.
double vifa_group_pgram::angle_range_ [private] |
Definition at line 32 of file vifa_group_pgram.h.
vifa_bbox_sptr vifa_group_pgram::bb_ [private] |
Definition at line 37 of file vifa_group_pgram.h.
imp_line_table vifa_group_pgram::curves_ [private] |
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.
int vifa_group_pgram::th_dim_ [private] |
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.