TuttleOFX  1
NLMDenoiserPlugin.hpp
Go to the documentation of this file.
00001 #ifndef _TUTTLE_PLUGIN_NLMDENOISER_PLUGIN_HPP_
00002 #define _TUTTLE_PLUGIN_NLMDENOISER_PLUGIN_HPP_
00003 
00004 #include <ofxsImageEffect.h>
00005 
00006 namespace tuttle {
00007 namespace plugin {
00008 namespace nlmDenoiser {
00009 
00010 /** 
00011  * \class NLMDenoiserPlugin
00012  * \brief Class used to denoise with partial derivated equations
00013  *
00014  */
00015 class NLMDenoiserPlugin : public OFX::ImageEffect
00016 {
00017 public:
00018     // do not need to delete these, the ImageEffect is managing them for us
00019     OFX::Clip* _clipDst; ///< Destination image clip
00020     OFX::Clip* _clipSrc; ///< Source image clip
00021         
00022         OFX::IntParam* _paramDepth;
00023         OFX::IntParam* _paramRegionRadius;
00024         OFX::IntParam* _paramPatchRadius;
00025         
00026 public:
00027         NLMDenoiserPlugin( OfxImageEffectHandle handle );
00028 
00029         void getFramesNeeded( const OFX::FramesNeededArguments &args, OFX::FramesNeededSetter &frames );
00030         void getRegionsOfInterest( const OFX::RegionsOfInterestArguments& args, OFX::RegionOfInterestSetter& rois );
00031         
00032         void render( const OFX::RenderArguments &args );
00033 };
00034 
00035 }
00036 }
00037 }
00038 
00039 #endif