#include <bsol_distance_histogram.h>
Public Member Functions | |
| bsol_distance_histogram () | |
| Constructors. | |
| bsol_distance_histogram (int nbins, double max_val) | |
| set up the histogram with bin spacing defined by max_val and nbins. | |
| bsol_distance_histogram (int nbins, vcl_vector< vsol_line_2d_sptr > const &lines) | |
| ~bsol_distance_histogram () | |
| Destructor. | |
| int | n_bins () const |
| vcl_vector< double > & | counts () |
| vcl_vector< double > & | values () |
| vcl_vector< double > & | weights () |
| vcl_vector< double > const & | counts () const |
| vcl_vector< double > const & | values () const |
| vcl_vector< double > const & | weights () const |
| void | up_count (const double value, const double count, const double weight=1.0) |
| update the histogram. | |
| bool | distance_peaks (double &peak1, double &peak2, double min_peak_height_ratio=0.5) |
| find the first two (non-zero) distance peaks. | |
| double | min_val () const |
| utility functions. | |
| double | max_val () const |
| double | min_count () const |
| double | max_count () const |
Private Member Functions | |
| void | normalize_distance () |
| normalize the distance values which were weighted by the line length. | |
| double | interpolate_peak (int initial_peak) |
| perform a parabolic interpolation using adjacent bins. | |
Private Attributes | |
| double | delta_ |
| bin value interval | |
| vcl_vector< double > | bin_counts_ |
| histogram counts | |
| vcl_vector< double > | bin_values_ |
| histogram values | |
| vcl_vector< double > | weights_ |
| value weights | |
Friends | |
| vcl_ostream & | operator<< (vcl_ostream &os, const bsol_distance_histogram &h) |
Definition at line 22 of file bsol_distance_histogram.h.
| bsol_distance_histogram::bsol_distance_histogram | ( | ) |
Constructors.
Definition at line 12 of file bsol_distance_histogram.cxx.
| bsol_distance_histogram::bsol_distance_histogram | ( | int | nbins, |
| double | max_val | ||
| ) |
set up the histogram with bin spacing defined by max_val and nbins.
Definition at line 19 of file bsol_distance_histogram.cxx.
| bsol_distance_histogram::bsol_distance_histogram | ( | int | nbins, |
| vcl_vector< vsol_line_2d_sptr > const & | lines | ||
| ) |
Definition at line 33 of file bsol_distance_histogram.cxx.
| bsol_distance_histogram::~bsol_distance_histogram | ( | ) |
Destructor.
Definition at line 74 of file bsol_distance_histogram.cxx.
| vcl_vector<double>& bsol_distance_histogram::counts | ( | ) | [inline] |
Definition at line 32 of file bsol_distance_histogram.h.
| vcl_vector<double> const& bsol_distance_histogram::counts | ( | ) | const [inline] |
Definition at line 35 of file bsol_distance_histogram.h.
| bool bsol_distance_histogram::distance_peaks | ( | double & | peak1, |
| double & | peak2, | ||
| double | min_peak_height_ratio = 0.5 |
||
| ) |
find the first two (non-zero) distance peaks.
There will typically be a large distance peak at small distances.
The second distance peak will correspond to periodic line segments
Definition at line 160 of file bsol_distance_histogram.cxx.
| double bsol_distance_histogram::interpolate_peak | ( | int | initial_peak | ) | [private] |
perform a parabolic interpolation using adjacent bins.
refine the peak location using parabolic interpolation.
Definition at line 116 of file bsol_distance_histogram.cxx.
| double bsol_distance_histogram::max_count | ( | ) | const |
Definition at line 327 of file bsol_distance_histogram.cxx.
| double bsol_distance_histogram::max_val | ( | ) | const |
Definition at line 307 of file bsol_distance_histogram.cxx.
| double bsol_distance_histogram::min_count | ( | ) | const |
Definition at line 315 of file bsol_distance_histogram.cxx.
| double bsol_distance_histogram::min_val | ( | ) | const |
utility functions.
Definition at line 299 of file bsol_distance_histogram.cxx.
| int bsol_distance_histogram::n_bins | ( | ) | const [inline] |
Definition at line 31 of file bsol_distance_histogram.h.
| void bsol_distance_histogram::normalize_distance | ( | ) | [private] |
normalize the distance values which were weighted by the line length.
normalized bin distance = (Sum_i length_i*dist_i)/(Sum_i length_i).
Note distances can't be negative so the -1 flag indicates there was no count for that bin.
Definition at line 83 of file bsol_distance_histogram.cxx.
| void bsol_distance_histogram::up_count | ( | const double | value, |
| const double | count, | ||
| const double | weight = 1.0 |
||
| ) |
update the histogram.
Definition at line 98 of file bsol_distance_histogram.cxx.
| vcl_vector<double>& bsol_distance_histogram::values | ( | ) | [inline] |
Definition at line 33 of file bsol_distance_histogram.h.
| vcl_vector<double> const& bsol_distance_histogram::values | ( | ) | const [inline] |
Definition at line 36 of file bsol_distance_histogram.h.
| vcl_vector<double>& bsol_distance_histogram::weights | ( | ) | [inline] |
Definition at line 34 of file bsol_distance_histogram.h.
| vcl_vector<double> const& bsol_distance_histogram::weights | ( | ) | const [inline] |
Definition at line 37 of file bsol_distance_histogram.h.
| vcl_ostream& operator<< | ( | vcl_ostream & | os, |
| const bsol_distance_histogram & | h | ||
| ) | [friend] |
Definition at line 339 of file bsol_distance_histogram.cxx.
vcl_vector<double> bsol_distance_histogram::bin_counts_ [private] |
histogram counts
Definition at line 62 of file bsol_distance_histogram.h.
vcl_vector<double> bsol_distance_histogram::bin_values_ [private] |
histogram values
Definition at line 63 of file bsol_distance_histogram.h.
double bsol_distance_histogram::delta_ [private] |
bin value interval
Definition at line 61 of file bsol_distance_histogram.h.
vcl_vector<double> bsol_distance_histogram::weights_ [private] |
value weights
Definition at line 64 of file bsol_distance_histogram.h.
1.7.5.1