TuttleOFX
1
|
00001 #ifndef _TUTTLE_PLUGIN_IMAGESTATISTICS_PROCESS_HPP_ 00002 #define _TUTTLE_PLUGIN_IMAGESTATISTICS_PROCESS_HPP_ 00003 00004 #include <terry/globals.hpp> 00005 #include <tuttle/plugin/ImageGilFilterProcessor.hpp> 00006 #include <tuttle/plugin/exceptions.hpp> 00007 00008 #include <boost/scoped_ptr.hpp> 00009 00010 namespace tuttle { 00011 namespace plugin { 00012 namespace imageStatistics { 00013 00014 /** 00015 * @brief Compute the image average 00016 */ 00017 template<class View> 00018 class ImageStatisticsProcess : public ImageGilFilterProcessor<View> 00019 { 00020 public: 00021 typedef boost::gil::point2<double> Point2; 00022 typedef typename View::value_type Pixel; 00023 typedef typename terry::image_from_view<View>::type Image; 00024 00025 private: 00026 ImageStatisticsPlugin& _plugin; ///< Rendering plugin 00027 Pixel _outputPixel; 00028 ImageStatisticsProcessParams _processParams; 00029 00030 public: 00031 ImageStatisticsProcess( ImageStatisticsPlugin& instance ); 00032 00033 void setup( const OFX::RenderArguments& args ); 00034 00035 // Do some processing 00036 void multiThreadProcessImages( const OfxRectI& procWindowRoW ); 00037 }; 00038 00039 } 00040 } 00041 } 00042 00043 #include "ImageStatisticsProcess.tcc" 00044 00045 #endif