TuttleOFX  1
LocalMaximaProcess.hpp
Go to the documentation of this file.
00001 #ifndef _TUTTLE_PLUGIN_LOCALMAXIMA_PROCESS_HPP_
00002 #define _TUTTLE_PLUGIN_LOCALMAXIMA_PROCESS_HPP_
00003 
00004 #include <tuttle/plugin/ImageGilFilterProcessor.hpp>
00005 #include <boost/scoped_ptr.hpp>
00006 
00007 namespace tuttle {
00008 namespace plugin {
00009 namespace localmaxima {
00010 
00011 /**
00012  * @brief LocalMaxima process
00013  *
00014  */
00015 template<class SView, class DView>
00016 class LocalMaximaProcess : public ImageGilFilterProcessor<SView, DView>
00017 {
00018 public:
00019         typedef typename SView::value_type SPixel;
00020         typedef typename boost::gil::channel_type<SView>::type SChannel;
00021 
00022         typedef typename DView::value_type DPixel;
00023         typedef typename boost::gil::channel_type<DView>::type DChannel;
00024 
00025         typedef float Scalar;
00026         
00027 protected :
00028     LocalMaximaPlugin&    _plugin;            ///< Rendering plugin
00029         LocalMaximaProcessParams<Scalar> _params; ///< parameters
00030 
00031 public:
00032     LocalMaximaProcess( LocalMaximaPlugin& effect );
00033 
00034         void setup( const OFX::RenderArguments& args );
00035         
00036     void multiThreadProcessImages( const OfxRectI& procWindowRoW );
00037 };
00038 
00039 }
00040 }
00041 }
00042 
00043 #include "LocalMaximaProcess.tcc"
00044 
00045 #endif