#include <gevd_detector.h>
Public Member Functions | |
gevd_detector (gevd_detector_params ¶ms) | |
Constructors. | |
gevd_detector (vil1_image, float smoothSigma=1.0f, float noiseSigma=2.0f, float contourFactor=1.0f, float junctionFactor=1.5f, int minLength=6, float maxGap=2.23606f, float minJump=1.0f) | |
~gevd_detector () | |
Destructor. | |
bool | DoContour () |
Detect the contour, a list of edges and vertices are generated. | |
void | DoFoldContourDetector (vil1_image image, vcl_vector< vtol_edge_2d_sptr > &edgels) |
void | DoBreakCorners (vcl_vector< vtol_edge_2d_sptr > &in_edgels, vcl_vector< vtol_edge_2d_sptr > &out_edgels) |
bool | DoFoldContour () |
Detect the fold contour, a list of edges and vertices are generated. | |
bool | DoCorner (float angle=10, float separation=1, int length=5, int cycle=2, int ndimension=2) |
number of dimension | |
bool | DoStep () |
Detect step profiles in the image, using dG+NMS+extension. | |
bool | DoFold () |
gevd_bufferxy * | GetBufferFromImage () |
Transform data in the image as float buffer. | |
vcl_vector< vtol_vertex_2d_sptr > * | GetVertices () |
vcl_vector< vtol_edge_2d_sptr > * | GetEdges () |
void | SetImage (vil1_image img) |
void | print (vcl_ostream &strm=vcl_cout) const |
bool | SanityCheck () |
Checks that parameters are within acceptable bounds. | |
void | set_noise_weight (float noise_weight) |
void | set_noise_multiplier (float noise_multiplier) |
void | set_automatic_threshold (bool automatic_threshold) |
void | set_aggressive_junction_closure (int aggressive_junction_closure) |
void | set_close_borders (bool close_borders) |
bool | Valid () const |
const char * | GetErrorMsg () const |
void | SetErrorMsg (const char *msg) |
Set the error message for this parameter block. | |
Public Attributes | |
float | smooth |
float | noise_weight |
The weight between sensor noise and texture noise. | |
float | noise_multiplier |
bool | automatic_threshold |
int | aggressive_junction_closure |
Close junctions aggressively. | |
int | minLength |
float | contourFactor |
Threshold along contours. | |
float | junctionFactor |
Threshold at junctions. | |
bool | junctionp |
float | minJump |
float | maxGap |
bool | spacingp |
bool | borderp |
bool | peaks_only |
Only return peaks, d^2I/dn^2 < 0, n is normal dir to ridge. | |
bool | valleys_only |
Only return valeys, d^2I/dn^2 > 0. | |
float | corner_angle |
float | separation |
int | min_corner_length |
int | cycle |
int | ndimension |
Protected Member Functions | |
void | UnProtectLists () |
UnProtect lists that are protected by Contour::. | |
void | ClearData () |
clear buffer | |
void | InitParams (float smooth_sigma, float noise_w, float noise_m, bool automatic_t, int aggressive_jc, int minl, float maxgp, float minjmp, float contour_f, float junction_f, bool recover_j, bool equal_spacing, bool follow_b, bool peaks_only, bool valleys_only, float ang, float sep, int min_corner_len, int cyc, int ndim) |
Protected Attributes | |
vil1_image | image |
gevd_bufferxy * | image_float_buf_ |
float | noise |
noise estimation/threshold | |
gevd_bufferxy * | edgel |
output from DoStep | |
gevd_bufferxy * | direction |
gevd_bufferxy * | locationx |
gevd_bufferxy * | locationy |
gevd_bufferxy * | grad_mag |
gevd_bufferxy * | angle |
detect step/fold | |
int * | junctionx |
int * | junctiony |
int | njunction |
junctions found | |
vcl_vector< vtol_vertex_2d_sptr > * | vertices |
network of linked edges/vertices | |
vcl_vector< vtol_edge_2d_sptr > * | edges |
float | filterFactor |
factor in convolution filter | |
float | hysteresisFactor |
hysteresis factor | |
float | noiseThreshold |
Definition at line 83 of file gevd_detector.h.
gevd_detector::gevd_detector | ( | gevd_detector_params & | params | ) |
Constructors.
Definition at line 21 of file gevd_detector.cxx.
gevd_detector::gevd_detector | ( | vil1_image | img, |
float | smoothSigma = 1.0f , |
||
float | noiseSigma = 2.0f , |
||
float | contourFactor = 1.0f , |
||
float | junctionFactor = 1.5f , |
||
int | minLength = 6 , |
||
float | maxGap = 2.23606f , |
||
float | minJump = 1.0f |
||
) |
Definition at line 37 of file gevd_detector.cxx.
gevd_detector::~gevd_detector | ( | ) |
Destructor.
Caller has an obligation to clear all the created edges and vertices.
Definition at line 74 of file gevd_detector.cxx.
void gevd_detector::ClearData | ( | ) | [protected] |
void gevd_detector::DoBreakCorners | ( | vcl_vector< vtol_edge_2d_sptr > & | in_edgels, |
vcl_vector< vtol_edge_2d_sptr > & | out_edgels | ||
) |
bool gevd_detector::DoContour | ( | ) |
Detect the contour, a list of edges and vertices are generated.
Definition at line 95 of file gevd_detector.cxx.
bool gevd_detector::DoCorner | ( | float | angle = 10 , |
float | separation = 1 , |
||
int | length = 5 , |
||
int | cycle = 2 , |
||
int | ndimension = 2 |
||
) |
number of dimension
angle | smallest angle at corner |
separation | |mean1-mean2|/sigma |
length | min length to find cornersxo |
cycle | number of corners in a cycle |
bool gevd_detector::DoFold | ( | ) |
bool gevd_detector::DoFoldContour | ( | ) |
Detect the fold contour, a list of edges and vertices are generated.
Definition at line 144 of file gevd_detector.cxx.
void gevd_detector::DoFoldContourDetector | ( | vil1_image | image, |
vcl_vector< vtol_edge_2d_sptr > & | edgels | ||
) |
bool gevd_detector::DoStep | ( | ) |
Detect step profiles in the image, using dG+NMS+extension.
Definition at line 185 of file gevd_detector.cxx.
gevd_bufferxy * gevd_detector::GetBufferFromImage | ( | ) |
Transform data in the image as float buffer.
Definition at line 258 of file gevd_detector.cxx.
vcl_vector<vtol_edge_2d_sptr>* gevd_detector::GetEdges | ( | ) | [inline] |
Definition at line 121 of file gevd_detector.h.
const char* gevd_param_mixin::GetErrorMsg | ( | ) | const [inline, inherited] |
Definition at line 50 of file gevd_param_mixin.h.
vcl_vector<vtol_vertex_2d_sptr>* gevd_detector::GetVertices | ( | ) | [inline] |
Definition at line 120 of file gevd_detector.h.
void gevd_detector_params::InitParams | ( | float | smooth_sigma, |
float | noise_w, | ||
float | noise_m, | ||
bool | automatic_t, | ||
int | aggressive_jc, | ||
int | minl, | ||
float | maxgp, | ||
float | minjmp, | ||
float | contour_f, | ||
float | junction_f, | ||
bool | recover_j, | ||
bool | equal_spacing, | ||
bool | follow_b, | ||
bool | peaks_only, | ||
bool | valleys_only, | ||
float | ang, | ||
float | sep, | ||
int | min_corner_len, | ||
int | cyc, | ||
int | ndim | ||
) | [protected, inherited] |
Definition at line 43 of file gevd_detector_params.cxx.
void gevd_detector::print | ( | vcl_ostream & | strm = vcl_cout | ) | const |
Definition at line 324 of file gevd_detector.cxx.
bool gevd_detector_params::SanityCheck | ( | ) | [virtual, inherited] |
Checks that parameters are within acceptable bounds.
This method is always called after a parameter modifier has changed the prms.
Reimplemented from gevd_param_mixin.
Definition at line 123 of file gevd_detector_params.cxx.
void gevd_detector_params::set_aggressive_junction_closure | ( | int | aggressive_junction_closure | ) | [inherited] |
Definition at line 107 of file gevd_detector_params.cxx.
void gevd_detector_params::set_automatic_threshold | ( | bool | automatic_threshold | ) | [inherited] |
Definition at line 102 of file gevd_detector_params.cxx.
void gevd_detector_params::set_close_borders | ( | bool | close_borders | ) | [inherited] |
Definition at line 112 of file gevd_detector_params.cxx.
void gevd_detector_params::set_noise_multiplier | ( | float | noise_multiplier | ) | [inherited] |
Definition at line 97 of file gevd_detector_params.cxx.
void gevd_detector_params::set_noise_weight | ( | float | noise_weight | ) | [inherited] |
Definition at line 92 of file gevd_detector_params.cxx.
void gevd_param_mixin::SetErrorMsg | ( | const char * | msg | ) | [inherited] |
Set the error message for this parameter block.
If the message is not empty, this sets the valid flag to be false. An empty message resets the valid flag to be true.
Definition at line 47 of file gevd_param_mixin.cxx.
void gevd_detector::SetImage | ( | vil1_image | img | ) |
Definition at line 306 of file gevd_detector.cxx.
void gevd_detector::UnProtectLists | ( | ) | [protected] |
UnProtect lists that are protected by Contour::.
Definition at line 57 of file gevd_detector.cxx.
bool gevd_param_mixin::Valid | ( | ) | const [inline, inherited] |
Definition at line 49 of file gevd_param_mixin.h.
int gevd_detector_params::aggressive_junction_closure [inherited] |
Close junctions aggressively.
Definition at line 115 of file gevd_detector_params.h.
gevd_bufferxy * gevd_detector::angle [protected] |
detect step/fold
Definition at line 136 of file gevd_detector.h.
bool gevd_detector_params::automatic_threshold [inherited] |
Definition at line 114 of file gevd_detector_params.h.
bool gevd_detector_params::borderp [inherited] |
Definition at line 124 of file gevd_detector_params.h.
float gevd_detector_params::contourFactor [inherited] |
Threshold along contours.
Definition at line 117 of file gevd_detector_params.h.
float gevd_detector_params::corner_angle [inherited] |
Definition at line 133 of file gevd_detector_params.h.
int gevd_detector_params::cycle [inherited] |
Definition at line 136 of file gevd_detector_params.h.
gevd_bufferxy * gevd_detector::direction [protected] |
Definition at line 136 of file gevd_detector.h.
gevd_bufferxy* gevd_detector::edgel [protected] |
output from DoStep
Definition at line 136 of file gevd_detector.h.
vcl_vector<vtol_edge_2d_sptr >* gevd_detector::edges [protected] |
Definition at line 140 of file gevd_detector.h.
float gevd_detector::filterFactor [protected] |
factor in convolution filter
Reimplemented from gevd_detector_params.
Definition at line 142 of file gevd_detector.h.
gevd_bufferxy * gevd_detector::grad_mag [protected] |
Definition at line 136 of file gevd_detector.h.
float gevd_detector::hysteresisFactor [protected] |
hysteresis factor
Definition at line 143 of file gevd_detector.h.
vil1_image gevd_detector::image [protected] |
Definition at line 131 of file gevd_detector.h.
gevd_bufferxy* gevd_detector::image_float_buf_ [protected] |
Definition at line 132 of file gevd_detector.h.
float gevd_detector_params::junctionFactor [inherited] |
Threshold at junctions.
Definition at line 118 of file gevd_detector_params.h.
bool gevd_detector_params::junctionp [inherited] |
Definition at line 120 of file gevd_detector_params.h.
int* gevd_detector::junctionx [protected] |
Definition at line 138 of file gevd_detector.h.
int * gevd_detector::junctiony [protected] |
Definition at line 138 of file gevd_detector.h.
gevd_bufferxy * gevd_detector::locationx [protected] |
Definition at line 136 of file gevd_detector.h.
gevd_bufferxy * gevd_detector::locationy [protected] |
Definition at line 136 of file gevd_detector.h.
float gevd_detector_params::maxGap [inherited] |
Definition at line 122 of file gevd_detector_params.h.
int gevd_detector_params::min_corner_length [inherited] |
Definition at line 135 of file gevd_detector_params.h.
float gevd_detector_params::minJump [inherited] |
Definition at line 121 of file gevd_detector_params.h.
int gevd_detector_params::minLength [inherited] |
Definition at line 116 of file gevd_detector_params.h.
int gevd_detector_params::ndimension [inherited] |
Definition at line 137 of file gevd_detector_params.h.
int gevd_detector::njunction [protected] |
junctions found
Definition at line 138 of file gevd_detector.h.
float gevd_detector::noise [protected] |
noise estimation/threshold
Definition at line 134 of file gevd_detector.h.
float gevd_detector_params::noise_multiplier [inherited] |
Definition at line 113 of file gevd_detector_params.h.
float gevd_detector_params::noise_weight [inherited] |
The weight between sensor noise and texture noise.
Definition at line 112 of file gevd_detector_params.h.
float gevd_detector::noiseThreshold [protected] |
Definition at line 144 of file gevd_detector.h.
bool gevd_detector_params::peaks_only [inherited] |
Only return peaks, d^2I/dn^2 < 0, n is normal dir to ridge.
Definition at line 128 of file gevd_detector_params.h.
float gevd_detector_params::separation [inherited] |
Definition at line 134 of file gevd_detector_params.h.
float gevd_detector_params::smooth [inherited] |
Definition at line 111 of file gevd_detector_params.h.
bool gevd_detector_params::spacingp [inherited] |
Definition at line 123 of file gevd_detector_params.h.
bool gevd_detector_params::valleys_only [inherited] |
Only return valeys, d^2I/dn^2 > 0.
Definition at line 129 of file gevd_detector_params.h.
vcl_vector<vtol_vertex_2d_sptr >* gevd_detector::vertices [protected] |
network of linked edges/vertices
Definition at line 139 of file gevd_detector.h.