34 #ifndef AIMS_SIGNALFILTER_LINEARFILTERFACTORY_D_H
35 #define AIMS_SIGNALFILTER_LINEARFILTERFACTORY_D_H
46 void LinearFilterFactory<T>::init()
48 static bool initialized =
false;
52 registerFilter(
"gab", GaborFilter<T>() );
53 registerFilter(
"gabor", GaborFilter<T>() );
58 std::map<std::string,carto::rc_ptr<LinearFilteringImageAlgorithm<T> > > & LinearFilterFactory<T>::_map()
60 static std::map<std::string,carto::rc_ptr<LinearFilteringImageAlgorithm<T> > > m;
65 void LinearFilterFactory<T>::registerFilter(
66 const std::string & name,
67 const LinearFilteringImageAlgorithm<T> & func
75 std::set<std::string> LinearFilterFactory<T>::names()
78 std::set<std::string> s;
79 typename std::map<std::string,carto::rc_ptr<LinearFilteringImageAlgorithm<T> > >
::const_iterator i, e = _map().end();
80 for( i=_map().begin(); i!=e; ++i )
86 LinearFilteringImageAlgorithm<T>* LinearFilterFactory<T>::create(
87 const std::string & name,
92 typename std::map<std::string,carto::rc_ptr<LinearFilteringImageAlgorithm<T> > >
::const_iterator i;
93 i = _map().find( name );
94 if( i == _map().end() )
96 LinearFilteringImageAlgorithm<T> * new_func = i->second->clone();
97 new_func->setOptions( options );