TuttleOFX  1
ImageStatisticsProcess.hpp
Go to the documentation of this file.
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