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