TuttleOFX
1
|
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