#ifndef	__PLUGIN_NAME__IMAGEFILTERPLUGIN_H__
#define __PLUGIN_NAME__IMAGEFILTERPLUGIN_H__

#include "ritkFilterPlugin.h"

#include "__PLUGIN_NAME__FilterWidget.h"
#include "__PLUGIN_NAME__RImageFilter.h"

/**	@class	__PLUGIN_NAME__ImageFilterPlugin
 *	@author	RITKPluginCreator
 *	@brief	<brief description of your plugin>
 *
 *	@details
 *	This class is automatically generated by the RITKPluginCreator. Provide a detailed
 *	description of your plugin here. Comment on the workflow and try to provide use cases
 *	whenever it is possible.
 */
class __PLUGIN_NAME__ImageFilterPlugin : public ritk::FilterPlugin
{
	Q_OBJECT

public:
	/// Constructor
	__PLUGIN_NAME__ImageFilterPlugin();
	/// Destructor
	~__PLUGIN_NAME__ImageFilterPlugin();

	/// Return the GUI for this plugin @sa PluginBase::GetPluginGUI()
	QWidget *GetPluginGUI();

protected:
	/// Provide the actual filter.
	FilterPointer GetFilter();

protected:
	/**	@name	The actual filter */
	//@{
	typedef __PLUGIN_NAME__RImageFilter<ritk::RImageF2> __PLUGIN_NAME__FilterType;
	typedef __PLUGIN_NAME__FilterType::Pointer __PLUGIN_NAME__FilterPointer;
	/// The filter
	__PLUGIN_NAME__FilterPointer m_Filter;
	//@}

	/// The widget
	__PLUGIN_NAME__FilterWidget *m_Widget;
};




#endif // __PLUGIN_NAME__IMAGEFILTERPLUGIN_H__