#include <gevd_noise.h>
Public Member Functions | |
gevd_noise (const float *data, const int n, const int number_of_bins=200) | |
Generate the histogram curve at low responses to estimate the sensor/texture noise in data. | |
~gevd_noise () | |
Free allocated space. | |
bool | EstimateSensorTexture (float &sensor, float &texture) const |
Fit a Raleigh distribution to the histogram curve of edgels with low magnitudes, h(x), to estimate the sensor noise, as would be zero-crossing of dh(x), and texture noise as the dominant peak in h(x). | |
const float * | Histogram (int &n) const |
float | BinSize () const |
Static Public Member Functions | |
static float * | EdgelsInCenteredROI (const gevd_bufferxy &magnitude, const gevd_bufferxy &dirx, const gevd_bufferxy &diry, int &nedgel, const int roiArea=250 *250) |
Collect all edgels above zero, in an ROI at center of image. | |
Static Protected Member Functions | |
static bool | WouldBeZeroCrossing (const float *dhist, const int nbin, float &index) |
Find would be zero-crossing of the derivative of the histogram from its downward curvature. | |
static bool | RealZeroCrossing (const float *dhist, const int nbin, float &index) |
Find real zero-crossing of the derivative of the histogram. | |
Protected Attributes | |
float * | hist |
int | nbin |
float | binsize |
Private Member Functions | |
gevd_noise () | |
Friends | |
class | DetectionUI |
Definition at line 33 of file gevd_noise.h.
gevd_noise::gevd_noise | ( | const float * | data, |
const int | n, | ||
const int | number_of_bins = 200 |
||
) |
Generate the histogram curve at low responses to estimate the sensor/texture noise in data.
Definition at line 15 of file gevd_noise.cxx.
gevd_noise::~gevd_noise | ( | ) |
Free allocated space.
Definition at line 79 of file gevd_noise.cxx.
gevd_noise::gevd_noise | ( | ) | [inline, private] |
Definition at line 63 of file gevd_noise.h.
float gevd_noise::BinSize | ( | ) | const [inline] |
Definition at line 50 of file gevd_noise.h.
float * gevd_noise::EdgelsInCenteredROI | ( | const gevd_bufferxy & | magnitude, |
const gevd_bufferxy & | dirx, | ||
const gevd_bufferxy & | diry, | ||
int & | nedgel, | ||
const int | roiArea = 250*250 |
||
) | [static] |
Collect all edgels above zero, in an ROI at center of image.
This utility function is used to collect edgels from a response image, i.e. gradient/hessian/laplacian, or other edge response image.
Definition at line 90 of file gevd_noise.cxx.
bool gevd_noise::EstimateSensorTexture | ( | float & | sensor, |
float & | texture | ||
) | const |
Fit a Raleigh distribution to the histogram curve of edgels with low magnitudes, h(x), to estimate the sensor noise, as would be zero-crossing of dh(x), and texture noise as the dominant peak in h(x).
Setting the threshold at 3 times the sensor/texture noise would eliminate 99% of all noisy edges. The raw noise in the original image can be deduced from the filter used to convolve with the image. H. Voorhees & T. Poggio, Detecting Blobs as Textons in Natural Images, Proc. 1987 IU Workshop, Los Angeles, CA.
Definition at line 174 of file gevd_noise.cxx.
const float* gevd_noise::Histogram | ( | int & | n | ) | const [inline] |
Definition at line 49 of file gevd_noise.h.
bool gevd_noise::RealZeroCrossing | ( | const float * | dhist, |
const int | nbin, | ||
float & | index | ||
) | [static, protected] |
Find real zero-crossing of the derivative of the histogram.
This is texture noise in the ROI. Protected.
Definition at line 272 of file gevd_noise.cxx.
bool gevd_noise::WouldBeZeroCrossing | ( | const float * | dhist, |
const int | nbin, | ||
float & | index | ||
) | [static, protected] |
Find would be zero-crossing of the derivative of the histogram from its downward curvature.
This is sensor noise in the ROI. Protected.
Definition at line 219 of file gevd_noise.cxx.
friend class DetectionUI [friend] |
Definition at line 36 of file gevd_noise.h.
float gevd_noise::binsize [protected] |
Definition at line 55 of file gevd_noise.h.
float* gevd_noise::hist [protected] |
Definition at line 53 of file gevd_noise.h.
int gevd_noise::nbin [protected] |
Definition at line 54 of file gevd_noise.h.