#include <vdgl_interpolator_linear.h>
Public Member Functions | |
vdgl_interpolator_linear (vdgl_edgel_chain_sptr chain) | |
~vdgl_interpolator_linear () | |
virtual short | order () const |
order of interpolation 1=linear, 2 = quadratic, 3 = cubic, ..etc. | |
double | get_x (double index) |
interpolation 0th degree. | |
double | get_y (double index) |
double | get_grad (double index) |
linearly interpolate the gradient magnitude. | |
double | get_theta (double index) |
the image gradient direction. | |
double | get_tangent_angle (double index) |
the geometric tangent angle. | |
double | get_curvature (double index) |
interpolation 2nd degree. | |
double | get_length () |
integral. | |
double | get_min_x () |
bounding box. | |
double | get_max_x () |
double | get_min_y () |
double | get_max_y () |
vsol_point_2d_sptr | closest_point_on_curve (vsol_point_2d_sptr p) |
find closest point on the curve to the input point. | |
virtual double | distance_curve_to_point (vsol_point_2d_sptr p) |
vdgl_edgel_chain_sptr | get_edgel_chain () const |
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 Attributes | |
double | lengthcache_ |
double | minxcache_ |
double | maxxcache_ |
double | minycache_ |
double | maxycache_ |
vdgl_edgel_chain_sptr | chain_ |
unsigned long | timestamp_ |
Private Member Functions | |
void | recompute_all () |
void | recompute_length () |
void | recompute_bbox () |
Definition at line 14 of file vdgl_interpolator_linear.h.
vdgl_interpolator_linear::vdgl_interpolator_linear | ( | vdgl_edgel_chain_sptr | chain | ) |
Definition at line 18 of file vdgl_interpolator_linear.cxx.
vdgl_interpolator_linear::~vdgl_interpolator_linear | ( | ) |
Definition at line 24 of file vdgl_interpolator_linear.cxx.
vsol_point_2d_sptr vdgl_interpolator_linear::closest_point_on_curve | ( | vsol_point_2d_sptr | p | ) | [virtual] |
find closest point on the curve to the input point.
Implements vdgl_interpolator.
Definition at line 28 of file vdgl_interpolator_linear.cxx.
double vdgl_interpolator::distance_curve_to_point | ( | vsol_point_2d_sptr | p | ) | [virtual, inherited] |
Definition at line 10 of file vdgl_interpolator.cxx.
double vdgl_interpolator_linear::get_curvature | ( | double | index | ) | [virtual] |
interpolation 2nd degree.
Implements vdgl_interpolator.
Definition at line 134 of file vdgl_interpolator_linear.cxx.
vdgl_edgel_chain_sptr vdgl_interpolator::get_edgel_chain | ( | ) | const [inline, inherited] |
Definition at line 74 of file vdgl_interpolator.h.
double vdgl_interpolator_linear::get_grad | ( | double | index | ) | [virtual] |
linearly interpolate the gradient magnitude.
Implements vdgl_interpolator.
Definition at line 78 of file vdgl_interpolator_linear.cxx.
double vdgl_interpolator_linear::get_length | ( | ) | [virtual] |
integral.
Implements vdgl_interpolator.
Definition at line 145 of file vdgl_interpolator_linear.cxx.
double vdgl_interpolator_linear::get_max_x | ( | ) | [virtual] |
Implements vdgl_interpolator.
Definition at line 164 of file vdgl_interpolator_linear.cxx.
double vdgl_interpolator_linear::get_max_y | ( | ) | [virtual] |
Implements vdgl_interpolator.
Definition at line 182 of file vdgl_interpolator_linear.cxx.
double vdgl_interpolator_linear::get_min_x | ( | ) | [virtual] |
bounding box.
Implements vdgl_interpolator.
Definition at line 155 of file vdgl_interpolator_linear.cxx.
double vdgl_interpolator_linear::get_min_y | ( | ) | [virtual] |
Implements vdgl_interpolator.
Definition at line 173 of file vdgl_interpolator_linear.cxx.
double vdgl_interpolator_linear::get_tangent_angle | ( | double | index | ) | [virtual] |
the geometric tangent angle.
Compute the angle using two adjacent edgels.
(TargetJr used different computations at internal points and at endpoints For endpoints the geometric tangent was used, but image gradient directions were used for internal points on the chain.) Here we use direct geometric angle computation for all points The image-based directions are likely less accurate
Implements vdgl_interpolator.
Definition at line 113 of file vdgl_interpolator_linear.cxx.
double vdgl_interpolator_linear::get_theta | ( | double | index | ) | [virtual] |
the image gradient direction.
linearly interpolate the gradient direction.
Implements vdgl_interpolator.
Definition at line 93 of file vdgl_interpolator_linear.cxx.
double vdgl_interpolator_linear::get_x | ( | double | index | ) | [virtual] |
interpolation 0th degree.
Implements vdgl_interpolator.
Definition at line 49 of file vdgl_interpolator_linear.cxx.
double vdgl_interpolator_linear::get_y | ( | double | index | ) | [virtual] |
Implements vdgl_interpolator.
Definition at line 63 of file vdgl_interpolator_linear.cxx.
virtual short vdgl_interpolator_linear::order | ( | ) | const [inline, virtual] |
order of interpolation 1=linear, 2 = quadratic, 3 = cubic, ..etc.
Implements vdgl_interpolator.
Definition at line 25 of file vdgl_interpolator_linear.h.
void vdgl_interpolator_linear::recompute_all | ( | ) | [private] |
Definition at line 192 of file vdgl_interpolator_linear.cxx.
void vdgl_interpolator_linear::recompute_bbox | ( | ) | [private] |
Definition at line 214 of file vdgl_interpolator_linear.cxx.
void vdgl_interpolator_linear::recompute_length | ( | ) | [private] |
Definition at line 200 of file vdgl_interpolator_linear.cxx.
vdgl_edgel_chain_sptr vdgl_interpolator::chain_ [protected, inherited] |
Definition at line 80 of file vdgl_interpolator.h.
double vdgl_interpolator_linear::lengthcache_ [protected] |
Definition at line 57 of file vdgl_interpolator_linear.h.
double vdgl_interpolator_linear::maxxcache_ [protected] |
Definition at line 59 of file vdgl_interpolator_linear.h.
double vdgl_interpolator_linear::maxycache_ [protected] |
Definition at line 61 of file vdgl_interpolator_linear.h.
double vdgl_interpolator_linear::minxcache_ [protected] |
Definition at line 58 of file vdgl_interpolator_linear.h.
double vdgl_interpolator_linear::minycache_ [protected] |
Definition at line 60 of file vdgl_interpolator_linear.h.