TuttleOFX  1
AnisotropicDiffusionPlugin.hpp
Go to the documentation of this file.
00001 #ifndef _TUTTLE_PLUGIN_PDE_DENOISER_PLUGIN_HPP_
00002 #define _TUTTLE_PLUGIN_PDE_DENOISER_PLUGIN_HPP_
00003 
00004 #include <tuttle/plugin/ImageEffectGilPlugin.hpp>
00005 
00006 namespace tuttle {
00007 namespace plugin {
00008 namespace anisotropicFilter {
00009 namespace diffusion {
00010 
00011 
00012 /**
00013  * @brief Class used to denoise with partial derivated equations
00014  *
00015  */
00016 class AnisotropicDiffusionPlugin : public ImageEffectGilPlugin
00017 {
00018 public:
00019     AnisotropicDiffusionPlugin( OfxImageEffectHandle handle );
00020 
00021 public:
00022     int getMargin();
00023 
00024         void getRegionsOfInterest( const OFX::RegionsOfInterestArguments& args,
00025                                OFX::RegionOfInterestSetter& rois );
00026 
00027     void render( const OFX::RenderArguments &args );
00028 
00029 public:
00030     // do not need to delete these, the ImageEffect is managing them for us
00031     OfxRectD            _overSizedRect;
00032         OFX::RGBParam*      _paramAmplitude; ///< Amplitude control parameter
00033 
00034     OFX::Clip* _clipSrcTensors; ///< Tensors source image clip
00035 };
00036 
00037 }
00038 }
00039 }
00040 }
00041 
00042 #endif