Public Member Functions | Protected Member Functions | Protected Attributes
sdet_nms Class Reference

#include <sdet_nms.h>

List of all members.

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

Detailed Description

Definition at line 63 of file sdet_nms.h.


Constructor & Destructor Documentation

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.


Member Function Documentation

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.


Member Data Documentation

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.

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.


The documentation for this class was generated from the following files: