Public Member Functions | Static Public Member Functions | Static Protected Member Functions | Protected Attributes | Private Member Functions | Friends
gevd_noise Class Reference

#include <gevd_noise.h>

List of all members.

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

Detailed Description

Definition at line 33 of file gevd_noise.h.


Constructor & Destructor Documentation

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.


Member Function Documentation

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.


Friends And Related Function Documentation

friend class DetectionUI [friend]

Definition at line 36 of file gevd_noise.h.


Member Data Documentation

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.


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