Builder for mfpf_region_finder objects. More...
#include <mfpf_hog_box_finder_builder.h>
Public Member Functions | |
mfpf_hog_box_finder_builder () | |
virtual | ~mfpf_hog_box_finder_builder () |
void | set_angle_bins (unsigned nA_bins, bool full360, unsigned cell_size) |
Define number of angle bins and size of cells over which to pool. | |
void | set_as_box (unsigned ni, unsigned nj, double ref_x, double ref_y, const mfpf_vec_cost_builder &builder) |
Define model region as an ni x nj box. | |
void | set_as_box (unsigned ni, unsigned nj, const mfpf_vec_cost_builder &builder) |
Define model region as an ni x nj box. | |
void | set_as_box (unsigned ni, unsigned nj, double ref_x, double ref_y) |
Define model region as an ni x nj box. | |
virtual void | set_region_size (double wi, double wj) |
Define region size in world co-ordinates. | |
mfpf_vec_cost_builder & | cost_builder () |
Builder for PDF. | |
virtual mfpf_point_finder * | new_finder () const |
Create new mfpf_region_finder on heap. | |
virtual void | clear (unsigned n_egs) |
Initialise building. | |
virtual void | add_example (const vimt_image_2d_of< float > &image, const vgl_point_2d< double > &p, const vgl_vector_2d< double > &u) |
Add one example to the model. | |
virtual void | build (mfpf_point_finder &) |
Build object from the data supplied in add_example(). | |
virtual bool | set_from_stream (vcl_istream &is) |
Initialise from a string stream. | |
virtual vcl_string | is_a () const |
Name of the class. | |
virtual mfpf_point_finder_builder * | clone () const |
Create a copy on the heap and return base class pointer. | |
virtual void | print_summary (vcl_ostream &os) const |
Print class to os. | |
void | print_shape (vcl_ostream &os) const |
Prints ASCII representation of shape to os. | |
short | version_no () const |
Version number for I/O. | |
virtual void | b_write (vsl_b_ostream &bfs) const |
Save class to binary file stream. | |
virtual void | b_read (vsl_b_istream &bfs) |
Load class from binary file stream. | |
virtual void | set_step_size (double) |
Size of step between sample points. | |
double | step_size () const |
Size of step between sample points. | |
virtual void | set_search_area (unsigned ni, unsigned nj) |
Define search region size. | |
void | set_search_angle_range (unsigned nA, double dA) |
Define angle search parameters. | |
void | set_search_scale_range (unsigned ns, double ds) |
Define scale search parameters. | |
int | search_ni () const |
int | search_nj () const |
unsigned | search_nA () const |
Number of angles to search at (ie try at A+idA, i in [-nA,+nA]). | |
double | search_dA () const |
Angle step size (ie try at A+idA, i in [-nA,+nA]). | |
unsigned | search_ns () const |
Number of scales to try at. | |
double | search_ds () const |
Scaling factor (ie try at ((ds)^i), i in [-ns,+ns]. | |
virtual unsigned | model_dim () |
Number of dimensions in the model. | |
virtual void | get_sample_vector (const vimt_image_2d_of< float > &image, const vgl_point_2d< double > &p, const vgl_vector_2d< double > &u, vcl_vector< double > &v) |
Get sample of region around specified point in image. | |
Static Public Member Functions | |
static vcl_auto_ptr < mfpf_point_finder_builder > | create_from_stream (vcl_istream &is) |
Create a concrete object, from a text specification. | |
Protected Member Functions | |
bool | base_equality (const mfpf_point_finder_builder &b) const |
Return true if base class parameters are the same in b. | |
void | parse_base_props (mbl_read_props_type &props) |
Parse relevant parameters from props list. | |
void | set_base_parameters (mfpf_point_finder &pf) |
Set base-class parameters of point finder. | |
Protected Attributes | |
double | step_size_ |
Size of step between sample points. | |
int | search_ni_ |
Number of points either side of centre to search. | |
int | search_nj_ |
Number of points either side of centre to search. | |
unsigned | search_nA_ |
Define N. angles (ie try at A+idA, i in [-nA,+nA]). | |
double | search_dA_ |
Angle step size (ie try at A+idA, i in [-nA,+nA]). | |
unsigned | search_ns_ |
Number of scales to try at. | |
double | search_ds_ |
Scaling factor (ie try at ((ds)^i), i in [-ns,+ns]. | |
Private Member Functions | |
void | set_defaults () |
Define default values. | |
void | add_one_example (const vimt_image_2d_of< float > &image, const vgl_point_2d< double > &p, const vgl_vector_2d< double > &u) |
Add one example to the model. | |
void | reconfigure_normaliser () |
Ensure any block normaliser is consistent with region sizing, bin numbers etc. | |
Private Attributes | |
double | ref_x_ |
Kernel reference point (usually centre of sampled region [0,ni). | |
double | ref_y_ |
Kernel reference point (usually centre of sampled region) [0,nj). | |
unsigned | nA_bins_ |
Number of angle bins in histogram of orientations. | |
bool | full360_ |
When true, angles are 0-360, else 0-180. | |
unsigned | nc_ |
Size of each cell for basic histogram is nc x nc. | |
unsigned | ni_ |
Size of region is 2*ni by 2*nj cells (each cell is nc*nc). | |
unsigned | nj_ |
Size of region is 2*ni by 2*nj cells (each cell is nc*nc). | |
mbl_cloneable_ptr < mfpf_vec_cost_builder > | cost_builder_ |
Builder for cost model. | |
mbl_cloneable_nzptr < mipa_vector_normaliser > | normaliser_ |
The normaliser. | |
unsigned | nA_ |
Number of angles either side of 0 to sample at. | |
double | dA_ |
Angle displacement. | |
double | overlap_f_ |
Relative size of region used for estimating overlap. |
Builder for mfpf_region_finder objects.
Text for configuring:
mfpf_hog_box_finder_builder { shape: ellipse { ri: 5 rj: 3 } vec_cost_builder: mfpf_sad_vec_cost_builder { min_mad: 1.0 } normaliser: mipa_ms_block_normaliser { nscales: 2 include_overall_histogram: true normaliser: mipa_l2norm_vector_normaliser ni: 16 nj: 16 nc_per_block: 4 } search_ni: 5 search_nj: 4 }
Alternative for shape:
shape: box { ni: 5 nj: 3 ref_x: 2.5 ref_y: 1.5 }
// Alternative for shape and block normalise:
shape: box { ni: 16 nj: 16 ref_x: 8 ref_y: 8 } normaliser: mipa_ms_block_normaliser { nscales: 2 include_overall_histogram: true normaliser: mipa_l2norm_vector_normaliser ni: 16 nj: 16 nc_per_block: 4 }
Definition at line 53 of file mfpf_hog_box_finder_builder.h.
mfpf_hog_box_finder_builder::mfpf_hog_box_finder_builder | ( | ) |
Definition at line 46 of file mfpf_hog_box_finder_builder.cxx.
mfpf_hog_box_finder_builder::~mfpf_hog_box_finder_builder | ( | ) | [virtual] |
Definition at line 75 of file mfpf_hog_box_finder_builder.cxx.
void mfpf_hog_box_finder_builder::add_example | ( | const vimt_image_2d_of< float > & | image, |
const vgl_point_2d< double > & | p, | ||
const vgl_vector_2d< double > & | u | ||
) | [virtual] |
Add one example to the model.
Implements mfpf_point_finder_builder.
Definition at line 187 of file mfpf_hog_box_finder_builder.cxx.
void mfpf_hog_box_finder_builder::add_one_example | ( | const vimt_image_2d_of< float > & | image, |
const vgl_point_2d< double > & | p, | ||
const vgl_vector_2d< double > & | u | ||
) | [private] |
Add one example to the model.
Definition at line 147 of file mfpf_hog_box_finder_builder.cxx.
void mfpf_hog_box_finder_builder::b_read | ( | vsl_b_istream & | bfs | ) | [virtual] |
Load class from binary file stream.
Reimplemented from mfpf_point_finder_builder.
Definition at line 411 of file mfpf_hog_box_finder_builder.cxx.
void mfpf_hog_box_finder_builder::b_write | ( | vsl_b_ostream & | bfs | ) | const [virtual] |
Save class to binary file stream.
Reimplemented from mfpf_point_finder_builder.
Definition at line 389 of file mfpf_hog_box_finder_builder.cxx.
bool mfpf_point_finder_builder::base_equality | ( | const mfpf_point_finder_builder & | b | ) | const [protected, inherited] |
Return true if base class parameters are the same in b.
Return true if base class parameters are the same in pf.
Definition at line 189 of file mfpf_point_finder_builder.cxx.
void mfpf_hog_box_finder_builder::build | ( | mfpf_point_finder & | pf | ) | [virtual] |
Build object from the data supplied in add_example().
Build this object from the data supplied in add_example().
Implements mfpf_point_finder_builder.
Definition at line 207 of file mfpf_hog_box_finder_builder.cxx.
void mfpf_hog_box_finder_builder::clear | ( | unsigned | n_egs | ) | [virtual] |
Initialise building.
Must be called before any calls to add_example(...)
Implements mfpf_point_finder_builder.
Definition at line 140 of file mfpf_hog_box_finder_builder.cxx.
mfpf_point_finder_builder * mfpf_hog_box_finder_builder::clone | ( | ) | const [virtual] |
Create a copy on the heap and return base class pointer.
Implements mfpf_point_finder_builder.
Definition at line 349 of file mfpf_hog_box_finder_builder.cxx.
mfpf_vec_cost_builder& mfpf_hog_box_finder_builder::cost_builder | ( | ) | [inline] |
Builder for PDF.
Definition at line 139 of file mfpf_hog_box_finder_builder.h.
vcl_auto_ptr< mfpf_point_finder_builder > mfpf_point_finder_builder::create_from_stream | ( | vcl_istream & | is | ) | [static, inherited] |
Create a concrete object, from a text specification.
Definition at line 153 of file mfpf_point_finder_builder.cxx.
void mfpf_point_finder_builder::get_sample_vector | ( | const vimt_image_2d_of< float > & | image, |
const vgl_point_2d< double > & | p, | ||
const vgl_vector_2d< double > & | u, | ||
vcl_vector< double > & | v | ||
) | [virtual, inherited] |
Get sample of region around specified point in image.
Reimplemented in mfpf_grad_corr2d_builder, and mfpf_norm_corr2d_builder.
Definition at line 74 of file mfpf_point_finder_builder.cxx.
vcl_string mfpf_hog_box_finder_builder::is_a | ( | ) | const [virtual] |
Name of the class.
Reimplemented from mfpf_point_finder_builder.
Definition at line 343 of file mfpf_hog_box_finder_builder.cxx.
unsigned mfpf_point_finder_builder::model_dim | ( | ) | [virtual, inherited] |
Number of dimensions in the model.
Reimplemented in mfpf_lin_clsfy_finder_builder, mfpf_region_finder_builder, mfpf_grad_corr2d_builder, mfpf_norm_corr2d_builder, and mfpf_norm_corr1d_builder.
Definition at line 68 of file mfpf_point_finder_builder.cxx.
mfpf_point_finder * mfpf_hog_box_finder_builder::new_finder | ( | ) | const [virtual] |
Create new mfpf_region_finder on heap.
Create new mfpf_hog_box_finder on heap.
Implements mfpf_point_finder_builder.
Definition at line 80 of file mfpf_hog_box_finder_builder.cxx.
void mfpf_point_finder_builder::parse_base_props | ( | mbl_read_props_type & | props | ) | [protected, inherited] |
Parse relevant parameters from props list.
Definition at line 85 of file mfpf_point_finder_builder.cxx.
void mfpf_hog_box_finder_builder::print_shape | ( | vcl_ostream & | os | ) | const |
Prints ASCII representation of shape to os.
void mfpf_hog_box_finder_builder::print_summary | ( | vcl_ostream & | os | ) | const [virtual] |
Print class to os.
Reimplemented from mfpf_point_finder_builder.
Definition at line 358 of file mfpf_hog_box_finder_builder.cxx.
void mfpf_hog_box_finder_builder::reconfigure_normaliser | ( | ) | [private] |
Ensure any block normaliser is consistent with region sizing, bin numbers etc.
Definition at line 316 of file mfpf_hog_box_finder_builder.cxx.
double mfpf_point_finder_builder::search_dA | ( | ) | const [inline, inherited] |
Angle step size (ie try at A+idA, i in [-nA,+nA]).
Definition at line 90 of file mfpf_point_finder_builder.h.
double mfpf_point_finder_builder::search_ds | ( | ) | const [inline, inherited] |
Scaling factor (ie try at ((ds)^i), i in [-ns,+ns].
Definition at line 96 of file mfpf_point_finder_builder.h.
unsigned mfpf_point_finder_builder::search_nA | ( | ) | const [inline, inherited] |
Number of angles to search at (ie try at A+idA, i in [-nA,+nA]).
Definition at line 87 of file mfpf_point_finder_builder.h.
int mfpf_point_finder_builder::search_ni | ( | ) | const [inline, inherited] |
Definition at line 83 of file mfpf_point_finder_builder.h.
int mfpf_point_finder_builder::search_nj | ( | ) | const [inline, inherited] |
Definition at line 84 of file mfpf_point_finder_builder.h.
unsigned mfpf_point_finder_builder::search_ns | ( | ) | const [inline, inherited] |
Number of scales to try at.
Definition at line 93 of file mfpf_point_finder_builder.h.
void mfpf_hog_box_finder_builder::set_angle_bins | ( | unsigned | nA_bins, |
bool | full360, | ||
unsigned | cell_size | ||
) |
Define number of angle bins and size of cells over which to pool.
If use360 is true, angles range [0,360), otherwise [0,180) (ie wrap-around occurs at 180, 5==185).
Definition at line 85 of file mfpf_hog_box_finder_builder.cxx.
void mfpf_hog_box_finder_builder::set_as_box | ( | unsigned | ni, |
unsigned | nj, | ||
double | ref_x, | ||
double | ref_y, | ||
const mfpf_vec_cost_builder & | builder | ||
) |
Define model region as an ni x nj box.
Definition at line 108 of file mfpf_hog_box_finder_builder.cxx.
void mfpf_hog_box_finder_builder::set_as_box | ( | unsigned | ni, |
unsigned | nj, | ||
const mfpf_vec_cost_builder & | builder | ||
) |
Define model region as an ni x nj box.
Ref. point in centre.
Definition at line 130 of file mfpf_hog_box_finder_builder.cxx.
void mfpf_hog_box_finder_builder::set_as_box | ( | unsigned | ni, |
unsigned | nj, | ||
double | ref_x, | ||
double | ref_y | ||
) |
Define model region as an ni x nj box.
Definition at line 118 of file mfpf_hog_box_finder_builder.cxx.
void mfpf_point_finder_builder::set_base_parameters | ( | mfpf_point_finder & | pf | ) | [protected, inherited] |
Set base-class parameters of point finder.
Definition at line 126 of file mfpf_point_finder_builder.cxx.
void mfpf_hog_box_finder_builder::set_defaults | ( | ) | [private] |
Define default values.
Definition at line 52 of file mfpf_hog_box_finder_builder.cxx.
bool mfpf_hog_box_finder_builder::set_from_stream | ( | vcl_istream & | is | ) | [virtual] |
Initialise from a string stream.
Reimplemented from mfpf_point_finder_builder.
Definition at line 232 of file mfpf_hog_box_finder_builder.cxx.
void mfpf_hog_box_finder_builder::set_region_size | ( | double | wi, |
double | wj | ||
) | [virtual] |
Define region size in world co-ordinates.
Sets up ROI to cover given box (with samples at step_size()), with ref point at centre. Currently just defines as a box
Sets up ROI to cover given box (with samples at step_size()), with ref point at centre.
Implements mfpf_point_finder_builder.
Definition at line 97 of file mfpf_hog_box_finder_builder.cxx.
void mfpf_point_finder_builder::set_search_angle_range | ( | unsigned | nA, |
double | dA | ||
) | [inherited] |
Define angle search parameters.
Definition at line 54 of file mfpf_point_finder_builder.cxx.
void mfpf_point_finder_builder::set_search_area | ( | unsigned | ni, |
unsigned | nj | ||
) | [virtual, inherited] |
Define search region size.
During search, samples at points on grid [-ni,ni]x[-nj,nj], with axes defined by u.
Definition at line 47 of file mfpf_point_finder_builder.cxx.
void mfpf_point_finder_builder::set_search_scale_range | ( | unsigned | ns, |
double | ds | ||
) | [inherited] |
Define scale search parameters.
Definition at line 61 of file mfpf_point_finder_builder.cxx.
void mfpf_point_finder_builder::set_step_size | ( | double | s | ) | [virtual, inherited] |
Size of step between sample points.
Definition at line 39 of file mfpf_point_finder_builder.cxx.
double mfpf_point_finder_builder::step_size | ( | ) | const [inline, inherited] |
Size of step between sample points.
Definition at line 65 of file mfpf_point_finder_builder.h.
short mfpf_hog_box_finder_builder::version_no | ( | ) | const |
Version number for I/O.
Reimplemented from mfpf_point_finder_builder.
Definition at line 384 of file mfpf_hog_box_finder_builder.cxx.
Builder for cost model.
Definition at line 76 of file mfpf_hog_box_finder_builder.h.
double mfpf_hog_box_finder_builder::dA_ [private] |
Angle displacement.
Definition at line 88 of file mfpf_hog_box_finder_builder.h.
bool mfpf_hog_box_finder_builder::full360_ [private] |
When true, angles are 0-360, else 0-180.
Definition at line 65 of file mfpf_hog_box_finder_builder.h.
unsigned mfpf_hog_box_finder_builder::nA_ [private] |
Number of angles either side of 0 to sample at.
Definition at line 85 of file mfpf_hog_box_finder_builder.h.
unsigned mfpf_hog_box_finder_builder::nA_bins_ [private] |
Number of angle bins in histogram of orientations.
Definition at line 62 of file mfpf_hog_box_finder_builder.h.
unsigned mfpf_hog_box_finder_builder::nc_ [private] |
Size of each cell for basic histogram is nc x nc.
Definition at line 68 of file mfpf_hog_box_finder_builder.h.
unsigned mfpf_hog_box_finder_builder::ni_ [private] |
Size of region is 2*ni by 2*nj cells (each cell is nc*nc).
Definition at line 71 of file mfpf_hog_box_finder_builder.h.
unsigned mfpf_hog_box_finder_builder::nj_ [private] |
Size of region is 2*ni by 2*nj cells (each cell is nc*nc).
Definition at line 73 of file mfpf_hog_box_finder_builder.h.
The normaliser.
Definition at line 82 of file mfpf_hog_box_finder_builder.h.
double mfpf_hog_box_finder_builder::overlap_f_ [private] |
Relative size of region used for estimating overlap.
If 0.5, then overlap requires pt inside central 50% of region.
Definition at line 92 of file mfpf_hog_box_finder_builder.h.
double mfpf_hog_box_finder_builder::ref_x_ [private] |
Kernel reference point (usually centre of sampled region [0,ni).
Definition at line 57 of file mfpf_hog_box_finder_builder.h.
double mfpf_hog_box_finder_builder::ref_y_ [private] |
Kernel reference point (usually centre of sampled region) [0,nj).
Definition at line 59 of file mfpf_hog_box_finder_builder.h.
double mfpf_point_finder_builder::search_dA_ [protected, inherited] |
Angle step size (ie try at A+idA, i in [-nA,+nA]).
Definition at line 36 of file mfpf_point_finder_builder.h.
double mfpf_point_finder_builder::search_ds_ [protected, inherited] |
Scaling factor (ie try at ((ds)^i), i in [-ns,+ns].
Definition at line 42 of file mfpf_point_finder_builder.h.
unsigned mfpf_point_finder_builder::search_nA_ [protected, inherited] |
Define N. angles (ie try at A+idA, i in [-nA,+nA]).
Definition at line 33 of file mfpf_point_finder_builder.h.
int mfpf_point_finder_builder::search_ni_ [protected, inherited] |
Number of points either side of centre to search.
Definition at line 27 of file mfpf_point_finder_builder.h.
int mfpf_point_finder_builder::search_nj_ [protected, inherited] |
Number of points either side of centre to search.
Definition at line 30 of file mfpf_point_finder_builder.h.
unsigned mfpf_point_finder_builder::search_ns_ [protected, inherited] |
Number of scales to try at.
Definition at line 39 of file mfpf_point_finder_builder.h.
double mfpf_point_finder_builder::step_size_ [protected, inherited] |
Size of step between sample points.
Definition at line 24 of file mfpf_point_finder_builder.h.