Inheritance diagram for empty_Filter:
The empty_Filter does nothing and is meant to be a minimalistic template for creating a new filter class.
One should minimally fill in the details of the empty_Filter::cloneFilter() method, empty_Filter::set() method, the constructor and the destructor when creating a custom filter.
The empty_Filter::set() method should take a list of parameters that are needed to set up the filter algorithm with custom settings if necessary. This method isn't always required where the algorithm if a very simple non-customizable algorithm. However, for such filters that perform convolutions (like meanNxN_Filter) there may be a kernel size parameter that can be set through the empty_Filter::set() method. This method should lock the filter object before applying the settings to prevent race conditions when a pipeline thread is currently using the filter.
The empty_Filter::cloneFilter() method should allocate and return a new instance of the filter class. Use new and call the appropriate parameter setting methods, such as empty_Filter::set(), with the current filter's processing parameter values.
Make sure that empty_Filter::cloneFilter() locks the object while setting the processing parameters (m_value,etc.) and unlocks the filter object before returning.
Make sure that empty_Filter::set() locks the object before setting the processing parameter member variables (m_value,etc.).
Replace the name empty_Filter with <yourfiltername>_Filter in both the header and source files. Then change _EMPTY_FILTER_H to <YOURFILTERNAME>_FILTER_H.
Every filter should have the following documented:
Definition at line 110 of file empty_Filter.h.
Public Member Functions
|empty_Filter (unsigned int value=0)|
|int||set (unsigned int value)|
|phFilter *||cloneFilter ()|
Protected Member Functions
|Copyright (C) 2002 - 2007||
Philip D.S. Thoren ( email@example.com )
University Of Massachusetts at Lowell