]> Creatis software - cpPlugins.git/blob - lib/cpExtensions/Algorithms/MacheteImageFilter.h
4dde2dc49cc5ee85e92b36548615d306e89067e7
[cpPlugins.git] / lib / cpExtensions / Algorithms / MacheteImageFilter.h
1 // -------------------------------------------------------------------------
2 // @author Jose Luis Guzman (cycopepe@gmail.com)
3 // -------------------------------------------------------------------------
4
5
6 #ifndef __CPEXTENSIONS__ALGORITHMS__MACHETEIMAGEFILTER__H__
7 #define __CPEXTENSIONS__ALGORITHMS__MACHETEIMAGEFILTER__H__
8
9 #include <cpExtensions/cpExtensions_Export.h>
10
11 #include <itkImageToImageFilter.h>
12
13 namespace cpExtensions
14 {
15   namespace Algorithms
16   {
17     template< class I, class O>
18     class MacheteImageFilter :public itk::ImageToImageFilter < I, O >
19     {
20     public:
21       /** Standard class typedefs. */
22       typedef MacheteImageFilter             Self;
23
24       typedef itk::ImageToImageFilter< I, O > Superclass;
25       typedef itk::SmartPointer< Self >        Pointer;
26
27       /** Method for creation through the object factory. */
28       itkNewMacro(Self);
29
30       /** Run-time type information (and related methods). */
31       itkTypeMacro(MacheteImageFilter, ImageToImageFilter);
32
33       void SetRadius(double radius);
34       void SetPoint(itk::Point<double, 3> point);
35
36     protected:
37       MacheteImageFilter(){}
38       ~MacheteImageFilter(){}
39
40       /** Does the real work. */
41       virtual void GenerateData();
42
43
44     private:
45       MacheteImageFilter(const Self &); //purposely not implemented
46       void operator=(const Self &);  //purposely not implemented
47
48       double radius;
49       itk::Point<double, 3> point;
50     };
51
52   } // ecapseman
53
54 } // ecapseman
55
56
57 #ifndef ITK_MANUAL_INSTANTIATION
58 #include <cpExtensions/Algorithms/MacheteImageFilter.hxx>
59 #endif
60
61
62 #endif // __CPEXTENSIONS__ALGORITHMS__MACHETEIMAGEFILTER__H__