35 #ifndef AIMS_SIGNALFILTER_FILTERINGFUNCTION_NONLINEAR_D_H 36 #define AIMS_SIGNALFILTER_FILTERINGFUNCTION_NONLINEAR_D_H 66 static bool initialized =
false;
70 registerFunction(
"min", MinFilterFunc<T>() );
71 registerFunction(
"max", MaxFilterFunc<T>() );
72 registerFunction(
"med", MedianFilterFunc<T>() );
73 registerFunction(
"median", MedianFilterFunc<T>() );
74 registerFunction(
"notnullmedian", NotNullMedianFilterFunc<T>() );
75 registerFunction(
"mea", MeanFilterFunc<T>() );
76 registerFunction(
"mean", MeanFilterFunc<T>() );
77 registerFunction(
"notnullmean", NotNullMeanFilterFunc<T>() );
78 registerFunction(
"maj", MajorityFilterFunc<T>() );
79 registerFunction(
"majority", MajorityFilterFunc<T>() );
80 registerFunction(
"dif", ExtremaDifferenceFilterFunc<T>() );
81 registerFunction(
"difference", ExtremaDifferenceFilterFunc<T>() );
82 registerFunction(
"sum", SumFilterFunc<T>() );
83 registerFunction(
"var", VarFilterFunc<T>() );
84 registerFunction(
"variance", VarFilterFunc<T>() );
85 registerFunction(
"sd", StDevFilterFunc<T>() );
90 std::map<std::string,carto::rc_ptr<ElementFilteringFunction<T> > > &
93 static std::map<std::string,carto::rc_ptr<ElementFilteringFunction<T> > > m;
99 const std::string & name,
107 template <
typename T>
111 std::set<std::string> s;
112 typename std::map<std::string,carto::rc_ptr<ElementFilteringFunction<T> > >
::const_iterator i, e = _map().end();
113 for( i=_map().begin(); i!=e; ++i )
114 s.insert( i->first );
118 template <
typename T>
120 const std::string & name,
125 typename std::map<std::string,carto::rc_ptr<ElementFilteringFunction<T> > >
::const_iterator i;
126 i = _map().find( name );
127 if( i == _map().end() )
140 template <
class T>
inline 146 template <
class T>
inline 147 T MaxFilterFunc<T>::execute(
159 template <
class T>
inline 165 template <
class T>
inline 166 T MinFilterFunc<T>::execute(
178 template <
class T>
inline 184 template <
class T>
inline 185 T MedianFilterFunc<T>::execute(
197 template <
class T>
inline 203 template <
class T>
inline 204 T NotNullMedianFilterFunc<T>::execute(
216 template <
class T>
inline 222 template <
class T>
inline 223 T MeanFilterFunc<T>::execute(
235 template <
class T>
inline 241 template <
class T>
inline 242 T NotNullMeanFilterFunc<T>::execute(
254 template <
class T>
inline 260 template <
class T>
inline 261 T MajorityFilterFunc<T>::execute(
273 template <
class T>
inline 279 template <
class T>
inline 280 T ExtremaDifferenceFilterFunc<T>::execute(
292 template <
class T>
inline 298 template <
class T>
inline 299 T SumFilterFunc<T>::execute(
311 template <
class T>
inline 317 template <
class T>
inline 318 T VarFilterFunc<T>::execute(
330 template <
class T>
inline 336 template <
class T>
inline 337 T StDevFilterFunc<T>::execute(
float min(float x, float y)
float max(float x, float y)
static T majority(Iterator b, Iterator e, T default_value=(T) 0)
static T notnull_median(Iterator b, Iterator e, T default_value=(T) 0)
static T min(Iterator b, Iterator e, T default_value=std::numeric_limits< T >::max())
static std::map< std::string, carto::rc_ptr< ElementFilteringFunction< T > > > & _map()
static T extrema_difference(Iterator b, Iterator e)
Base class for filtering functions applied in a structuring element.
static T mean(Iterator b, Iterator e)
static std::set< std::string > names()
List all function ids registered in the factory.
virtual void setOptions(const carto::Object &)
Set the parameters of the filters If a parameter value is not set in the options object, a default value must be assigned.
StructuredConstVolume< T >::iterator end()
static T sum(Iterator b, Iterator e)
StructuredConstVolume< T >::iterator begin()
static T stdev(Iterator b, Iterator e)
static T notnull_mean(Iterator b, Iterator e)
static T max(Iterator b, Iterator e, T default_value=carto::min_limit< T >())
static T variance(Iterator b, Iterator e)
static ElementFilteringFunction< T > * create(const std::string &name, carto::Object options=carto::none())
Build and return the ElementFilteringFunction associated with the id name.
static T median(Iterator b, Iterator e, T default_value=(T) 0)
static void registerFunction(const std::string &name, const ElementFilteringFunction< T > &func)
Register a ElementFilterigFunction into the factory.
virtual ElementFilteringFunction< T > * clone() const =0
clone