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