#include <sdet_nms.h>
Public Member Functions | |
sdet_nms (const sdet_nms_params &nsp, const vil_image_view< double > &dir_x, const vil_image_view< double > &dir_y, const vil_image_view< double > &grad_mag) | |
Constructor from a parameter block, gradient magnitudes given as an image and gradients given as component images. | |
~sdet_nms () | |
Destructor. | |
unsigned | width () const |
unsigned | height () const |
vbl_array_2d< double > & | mag () |
return the array containing the suppressed non maxima (i.e., only maxima remain). | |
vbl_array_2d< double > & | deriv () |
return the array containing the second deriv map. | |
void | apply () |
apply NMS to the given data (do not collect any edgel tokens). | |
void | apply (bool collect_tokens, vcl_vector< vgl_point_2d< double > > &loc, vcl_vector< double > &orientation, vcl_vector< double > &mag) |
apply NMS to the given data (also collect edgel tokens). | |
void | apply (bool collect_tokens, vcl_vector< vgl_point_2d< double > > &loc, vcl_vector< double > &orientation, vcl_vector< double > &mag, vcl_vector< double > &d2f) |
void | apply (bool collect_tokens, vcl_vector< vgl_point_2d< double > > &loc, vcl_vector< double > &orientation, vcl_vector< double > &mag, vcl_vector< double > &d2f, vcl_vector< vgl_point_2d< int > > &pix_loc) |
Apply the algorithm. | |
void | clear () |
Clear internal storage. | |
int | intersected_face_number (const vgl_vector_2d< double > &direction) |
double | intersection_parameter (const vgl_vector_2d< double > &direction, int face_num) |
void | f_values (int x, int y, const vgl_vector_2d< double > &direction, double s, int face_num, double *f) |
void | get_relative_corner_coordinates (int face_num, int *corners) |
double | subpixel_s (double *s, double *f, double &max_f, double &max_d) |
double | subpixel_s (int x, int y, const vgl_vector_2d< double > &direction, double &max_f) |
void | find_distance_s_and_f_for_point (int x, int y, vgl_homg_line_2d< double > line, double &d, double &s, const vgl_vector_2d< double > &direction) |
Protected Member Functions | |
sdet_nms () | |
default constructor is not to be used. | |
Protected Attributes | |
double | thresh_ |
threshold | |
sdet_nms_params::PFIT_TYPE | parabola_fit_type_ |
flag for parabola fit method | |
unsigned | margin_ |
margin size | |
double | rel_thresh_ |
reliable threshold (depends on sensor noise and sigma) | |
bool | use_adaptive_thresh_ |
use reliable threshold or not | |
const vil_image_view< double > & | dir_x_ |
const vil_image_view< double > & | dir_y_ |
const vil_image_view< double > & | grad_mag_ |
vbl_array_2d< double > | x_ |
to store the x coordinate of the subpixel token | |
vbl_array_2d< double > | y_ |
to store the y coordinate of the subpixel token | |
vbl_array_2d< double > | dir_ |
to store the orientation of the subpixel token (this might be redundant) | |
vbl_array_2d< double > | mag_ |
to store the magnitude of the maxima points (also doubles as a marker of edge pixels) | |
vbl_array_2d< double > | deriv_ |
to store the second derivative of the maxima points |
Definition at line 63 of file sdet_nms.h.
sdet_nms::sdet_nms | ( | ) | [protected] |
default constructor is not to be used.
default constructor.
Definition at line 19 of file sdet_nms.cxx.
sdet_nms::sdet_nms | ( | const sdet_nms_params & | nsp, |
const vil_image_view< double > & | dir_x, | ||
const vil_image_view< double > & | dir_y, | ||
const vil_image_view< double > & | grad_mag | ||
) |
Constructor from a parameter block, gradient magnitudes given as an image and gradients given as component images.
Constructor from a parameter block, gradient magnitudes given as an image and directions given as component image.
Definition at line 37 of file sdet_nms.cxx.
sdet_nms::~sdet_nms | ( | ) | [inline] |
Destructor.
Definition at line 98 of file sdet_nms.h.
void sdet_nms::apply | ( | ) | [inline] |
apply NMS to the given data (do not collect any edgel tokens).
Definition at line 111 of file sdet_nms.h.
void sdet_nms::apply | ( | bool | collect_tokens, |
vcl_vector< vgl_point_2d< double > > & | loc, | ||
vcl_vector< double > & | orientation, | ||
vcl_vector< double > & | mag | ||
) |
apply NMS to the given data (also collect edgel tokens).
Definition at line 58 of file sdet_nms.cxx.
void sdet_nms::apply | ( | bool | collect_tokens, |
vcl_vector< vgl_point_2d< double > > & | loc, | ||
vcl_vector< double > & | orientation, | ||
vcl_vector< double > & | mag, | ||
vcl_vector< double > & | d2f | ||
) |
Definition at line 70 of file sdet_nms.cxx.
void sdet_nms::apply | ( | bool | collect_tokens, |
vcl_vector< vgl_point_2d< double > > & | loc, | ||
vcl_vector< double > & | orientation, | ||
vcl_vector< double > & | mag, | ||
vcl_vector< double > & | d2f, | ||
vcl_vector< vgl_point_2d< int > > & | pix_loc | ||
) |
Apply the algorithm.
Definition at line 83 of file sdet_nms.cxx.
void sdet_nms::clear | ( | ) |
Clear internal storage.
Definition at line 438 of file sdet_nms.cxx.
vbl_array_2d<double>& sdet_nms::deriv | ( | ) | [inline] |
return the array containing the second deriv map.
Definition at line 108 of file sdet_nms.h.
void sdet_nms::f_values | ( | int | x, |
int | y, | ||
const vgl_vector_2d< double > & | direction, | ||
double | s, | ||
int | face_num, | ||
double * | f | ||
) |
Definition at line 236 of file sdet_nms.cxx.
void sdet_nms::find_distance_s_and_f_for_point | ( | int | x, |
int | y, | ||
vgl_homg_line_2d< double > | line, | ||
double & | d, | ||
double & | s, | ||
const vgl_vector_2d< double > & | direction | ||
) |
Definition at line 423 of file sdet_nms.cxx.
void sdet_nms::get_relative_corner_coordinates | ( | int | face_num, |
int * | corners | ||
) |
Definition at line 264 of file sdet_nms.cxx.
unsigned sdet_nms::height | ( | void | ) | const [inline] |
Definition at line 102 of file sdet_nms.h.
int sdet_nms::intersected_face_number | ( | const vgl_vector_2d< double > & | direction | ) |
Definition at line 190 of file sdet_nms.cxx.
double sdet_nms::intersection_parameter | ( | const vgl_vector_2d< double > & | direction, |
int | face_num | ||
) |
Definition at line 223 of file sdet_nms.cxx.
vbl_array_2d<double>& sdet_nms::mag | ( | ) | [inline] |
return the array containing the suppressed non maxima (i.e., only maxima remain).
Definition at line 105 of file sdet_nms.h.
double sdet_nms::subpixel_s | ( | double * | s, |
double * | f, | ||
double & | max_f, | ||
double & | max_d | ||
) |
Definition at line 324 of file sdet_nms.cxx.
double sdet_nms::subpixel_s | ( | int | x, |
int | y, | ||
const vgl_vector_2d< double > & | direction, | ||
double & | max_f | ||
) |
Definition at line 380 of file sdet_nms.cxx.
unsigned sdet_nms::width | ( | void | ) | const [inline] |
Definition at line 101 of file sdet_nms.h.
vbl_array_2d<double> sdet_nms::deriv_ [protected] |
to store the second derivative of the maxima points
Definition at line 84 of file sdet_nms.h.
vbl_array_2d<double> sdet_nms::dir_ [protected] |
to store the orientation of the subpixel token (this might be redundant)
Definition at line 82 of file sdet_nms.h.
const vil_image_view<double>& sdet_nms::dir_x_ [protected] |
Definition at line 73 of file sdet_nms.h.
const vil_image_view<double>& sdet_nms::dir_y_ [protected] |
Definition at line 74 of file sdet_nms.h.
const vil_image_view<double>& sdet_nms::grad_mag_ [protected] |
Definition at line 75 of file sdet_nms.h.
vbl_array_2d<double> sdet_nms::mag_ [protected] |
to store the magnitude of the maxima points (also doubles as a marker of edge pixels)
Definition at line 83 of file sdet_nms.h.
unsigned sdet_nms::margin_ [protected] |
margin size
Definition at line 68 of file sdet_nms.h.
flag for parabola fit method
Definition at line 67 of file sdet_nms.h.
double sdet_nms::rel_thresh_ [protected] |
reliable threshold (depends on sensor noise and sigma)
Definition at line 69 of file sdet_nms.h.
double sdet_nms::thresh_ [protected] |
threshold
Definition at line 66 of file sdet_nms.h.
bool sdet_nms::use_adaptive_thresh_ [protected] |
use reliable threshold or not
Definition at line 70 of file sdet_nms.h.
vbl_array_2d<double> sdet_nms::x_ [protected] |
to store the x coordinate of the subpixel token
Definition at line 80 of file sdet_nms.h.
vbl_array_2d<double> sdet_nms::y_ [protected] |
to store the y coordinate of the subpixel token
Definition at line 81 of file sdet_nms.h.