]> Creatis software - clitk.git/blob - tools/clitkGammaIndex3DGenericFilter.h
Merge branch 'master' into GammaIndex3D
[clitk.git] / tools / clitkGammaIndex3DGenericFilter.h
1 /*=========================================================================
2   Program:   vv                     http://www.creatis.insa-lyon.fr/rio/vv
3
4   Authors belong to: 
5   - University of LYON              http://www.universite-lyon.fr/
6   - Léon Bérard cancer center       http://www.centreleonberard.fr
7   - CREATIS CNRS laboratory         http://www.creatis.insa-lyon.fr
8
9   This software is distributed WITHOUT ANY WARRANTY; without even
10   the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11   PURPOSE.  See the copyright notices for more information.
12
13   It is distributed under dual licence
14
15   - BSD        See included LICENSE.txt file
16   - CeCILL-B   http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
17 ===========================================================================**/
18 #ifndef CLITKGAMMAINDEX3DGENERICFILTER_H
19 #define CLITKGAMMAINDEX3DGENERICFILTER_H
20 /**
21  -------------------------------------------------------------------
22  * @file   clitkGammaIndex3DGenericFilter.h
23  * @author David Sarrut <David.Sarrut@creatis.insa-lyon.fr>
24  * @date   23 Feb 2008 08:37:53
25
26  * @brief  
27  -------------------------------------------------------------------*/
28
29 // clitk include
30 #include "clitkCommon.h"
31 #include "clitkImageToImageGenericFilter.h"
32 #include "clitkGammaIndex3D_ggo.h"
33
34 // itk include
35 #include "itkImage.h"
36 #include "itkImageIOBase.h"
37 #include "itkImageRegionIterator.h"
38 #include "itkImageRegionConstIterator.h"
39
40 //--------------------------------------------------------------------
41 namespace clitk {
42   
43   template<class args_info_type>
44   class ITK_EXPORT GammaIndex3DGenericFilter:
45     public clitk::ImageToImageGenericFilter<GammaIndex3DGenericFilter<args_info_type> > {
46     
47   public:
48         
49     // Constructor 
50     GammaIndex3DGenericFilter ();
51
52     // Types
53     typedef GammaIndex3DGenericFilter        Self;
54     typedef ImageToImageGenericFilterBase   Superclass;
55     typedef itk::SmartPointer<Self>         Pointer;
56     typedef itk::SmartPointer<const Self>   ConstPointer;
57
58     // New
59     itkNewMacro(Self);
60     
61     //--------------------------------------------------------------------
62     void SetArgsInfo(const args_info_type & a);
63
64     // Set methods
65     void SetDistance (double distance) {  mDistance = distance ;}
66     void SetDose (double dose) {  mDose = dose ;}
67
68     // Get methods
69     double GetDistance () { return  mDistance ;}
70     double GetDose () { return  mDose ;}
71
72     //--------------------------------------------------------------------
73     // Main function called each time the filter is updated
74     template<class InputImageType>  
75     void UpdateWithInputImageType();
76
77   protected:  
78     template<unsigned int Dim> void InitializeImageType();
79     double mDistance;
80     double mDose;
81     args_info_type mArgsInfo;
82
83     //--------------------------------------------------------------------
84
85   }; // end class GammaIndex3DGenericFilter
86
87 } // end namespace
88 //--------------------------------------------------------------------
89
90   
91 #ifndef ITK_MANUAL_INSTANTIATION
92 #include "clitkGammaIndex3DGenericFilter.txx"
93 #endif
94
95 #endif //#define CLITKGAMMAINDEX3DMGENERICFILTER_H
96