Fawkes API  Fawkes Development Version
firevision::FilterLaplace Class Reference

Laplacian filter. More...

#include <>>

Inheritance diagram for firevision::FilterLaplace:

Public Member Functions

 FilterLaplace ()
 Constructor. More...
 
 FilterLaplace (float sigma, unsigned int size, float scale)
 Constructor. More...
 
 ~FilterLaplace ()
 Destructor. More...
 
virtual void apply ()
 Apply the filter. More...
 
- Public Member Functions inherited from firevision::Filter
 Filter (const char *name, unsigned int max_num_buffers=1)
 Constructor. More...
 
virtual ~Filter ()
 Destructor. More...
 
virtual void set_src_buffer (unsigned char *buf, ROI *roi, orientation_t ori=ORI_HORIZONTAL, unsigned int buffer_num=0)
 Set source buffer with orientation. More...
 
virtual void set_src_buffer (unsigned char *buf, ROI *roi, unsigned int buffer_num)
 Set source buffer. More...
 
virtual void set_dst_buffer (unsigned char *buf, ROI *roi)
 Set the destination buffer. More...
 
virtual void set_orientation (orientation_t ori, unsigned int buffer_num)
 Set the orientation to apply the filter in. More...
 
virtual const char * name ()
 Get filter name. More...
 
void shrink_region (ROI *r, unsigned int n)
 This shrinks the regions as needed for a N x N matrix. More...
 

Static Public Member Functions

static void calculate_kernel (int *kernel_buffer, float sigma, unsigned int size, float scale)
 Calculate a Laplacian of Gaussian kernel. More...
 

Additional Inherited Members

- Protected Attributes inherited from firevision::Filter
unsigned int _max_num_buffers
 Maximum number of buffers. More...
 
char * _name
 Filter name. More...
 
unsigned char ** src
 Source buffers, dynamically allocated by Filter ctor. More...
 
unsigned char * dst
 Destination buffer. More...
 
ROI ** src_roi
 Source ROIs, dynamically allocated by Filter ctor. More...
 
ROIdst_roi
 Destination ROI. More...
 
orientation_t * ori
 Orientations, one for each source image. More...
 

Detailed Description

Laplacian filter.

Laplacian of Gaussian filter.

Author
Tim Niemueller

Definition at line 37 of file laplace.h.

Constructor & Destructor Documentation

◆ FilterLaplace() [1/2]

firevision::FilterLaplace::FilterLaplace ( )

Constructor.

Definition at line 53 of file laplace.cpp.

◆ FilterLaplace() [2/2]

firevision::FilterLaplace::FilterLaplace ( float  sigma,
unsigned int  size,
float  scale 
)

Constructor.

Parameters
sigmasigma for Laplacian
sizesize of kernel
scalescale factor

Definition at line 66 of file laplace.cpp.

References calculate_kernel().

◆ ~FilterLaplace()

firevision::FilterLaplace::~FilterLaplace ( )

Destructor.

Definition at line 82 of file laplace.cpp.

Member Function Documentation

◆ apply()

void firevision::FilterLaplace::apply ( )
virtual

Apply the filter.

Apply the filter to the given source and destination buffers with given width and height and orientation (ori may be ignored for some filters).

Implements firevision::Filter.

Definition at line 94 of file laplace.cpp.

References firevision::Filter::dst, firevision::Filter::dst_roi, firevision::ROI::height, firevision::ROI::line_step, firevision::ROI::pixel_step, firevision::Filter::src, firevision::Filter::src_roi, firevision::ROI::start, firevision::ROI::width, fawkes::upoint_t::x, and fawkes::upoint_t::y.

◆ calculate_kernel()

void firevision::FilterLaplace::calculate_kernel ( int *  kernel,
float  sigma,
unsigned int  size,
float  scale 
)
static

Calculate a Laplacian of Gaussian kernel.

The kernel is calculated with the formula

\[ roundf( \frac{-1}{\pi * \sigma^4} * ( 1 - \frac{w^2 + h^2}{2 * \sigma^2} ) * e^{-\frac{w^2 + h^2}{2 * \sigma^2}} * \mathtt{scale} ) \]

Parameters
kernelbuffer contains kernel upon return
sigmasigma for formula
sizekernel is of quadratic size $\mathtt{size} \times \mathtt{size}$
scalescale parameter in formula

Definition at line 193 of file laplace.cpp.

Referenced by FilterLaplace().


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