--- /dev/null
+// -------------------------------------------------------------------------
+// @author Jose Luis Guzman (cycopepe@gmail.com)
+// -------------------------------------------------------------------------
+
+
+#ifndef __CPEXTENSIONS__ALGORITHMS__MACHETEIMAGEFILTER__H__
+#define __CPEXTENSIONS__ALGORITHMS__MACHETEIMAGEFILTER__H__
+
+#include <cpExtensions/cpExtensions_Export.h>
+
+#include <itkImageToImageFilter.h>
+
+namespace cpExtensions
+{
+ namespace Algorithms
+ {
+ template< class I, class O>
+ class MacheteImageFilter :public itk::ImageToImageFilter < I, O >
+ {
+ public:
+ /** Standard class typedefs. */
+ typedef MacheteImageFilter Self;
+
+ typedef itk::ImageToImageFilter< I, O > Superclass;
+ typedef itk::SmartPointer< Self > Pointer;
+
+ /** Method for creation through the object factory. */
+ itkNewMacro(Self);
+
+ /** Run-time type information (and related methods). */
+ itkTypeMacro(MacheteImageFilter, ImageToImageFilter);
+
+ typedef typename I::PixelType RadiusType;
+ //typedef typename I::SizeValueType RadiusValueType;
+
+ itkGetConstReferenceMacro(Radius, RadiusType);
+
+
+ void SetRadius(const RadiusType & rad);
+ //void SetRadius(const RadiusValueType & rad);
+
+ void SetPoint(itk::Point<double, 3> & point);
+ void SetPoint(const double & x, const double & y, const double & z);
+
+ protected:
+ MacheteImageFilter(){}
+ ~MacheteImageFilter(){}
+
+ /** Does the real work. */
+ virtual void GenerateData();
+
+ RadiusType m_Radius;
+ itk::Point<double, 3> point;
+
+ private:
+ MacheteImageFilter(const Self &); //purposely not implemented
+ void operator=(const Self &); //purposely not implemented
+
+
+ };
+
+ } // ecapseman
+
+} // ecapseman
+
+
+#ifndef ITK_MANUAL_INSTANTIATION
+#include <cpExtensions/Algorithms/MacheteImageFilter.hxx>
+#endif
+
+
+#endif // __CPEXTENSIONS__ALGORITHMS__MACHETEIMAGEFILTER__H__
\ No newline at end of file