]> Creatis software - clitk.git/blob - filters/clitkGuerreroVentilationGenericFilter.h
mechanism for hiding experimental stuff in vv
[clitk.git] / filters / clitkGuerreroVentilationGenericFilter.h
1 /*-------------------------------------------------------------------------
2
3   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
4   l'Image). All rights reserved. See Doc/License.txt or
5   http://www.creatis.insa-lyon.fr/Public/Gdcm/License.html for details.
6                                                                                 
7      This software is distributed WITHOUT ANY WARRANTY; without even
8      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
9      PURPOSE.  See the above copyright notices for more information.
10                                                                              
11 -------------------------------------------------------------------------*/
12
13 #ifndef clitkGuerreroVentilationGenericFilter_H
14 #define clitkGuerreroVentilationGenericFilter_H
15
16 /**
17  -------------------------------------------------------------------
18  * @file   clitkGuerreroVentilationGenericFilter.h
19  * @author David Sarrut <David.Sarrut@creatis.insa-lyon.fr>
20  * @date   23 Feb 2008
21  -------------------------------------------------------------------*/
22
23 // clitk include
24 #include "clitkImageToImageGenericFilter.h"
25
26 // itk include
27 #include "itkImage.h"
28 #include "itkImageIOBase.h"
29 #include "itkImageRegionIterator.h"
30 #include "itkImageRegionConstIterator.h"
31
32 namespace clitk {
33   
34   //--------------------------------------------------------------------
35   class GuerreroVentilationGenericFilter : 
36   public ImageToImageGenericFilter<GuerreroVentilationGenericFilter> {
37   public:
38         
39     // Constructor 
40     GuerreroVentilationGenericFilter();
41     virtual ~GuerreroVentilationGenericFilter() {}
42
43     // Types
44     typedef GuerreroVentilationGenericFilter  Self;
45     typedef ImageToImageGenericFilterBase     Superclass;
46     typedef itk::SmartPointer<Self>       Pointer;
47     typedef itk::SmartPointer<const Self> ConstPointer;
48
49     // New
50     itkNewMacro(Self);
51     
52     // Set methods
53     void SetBloodCorrectionFactor(double f) {blood_mass_factor=f;}
54     void SetUseCorrectFormula(bool u) {use_correct_formula=u;}
55
56     //--------------------------------------------------------------------
57     // Main function called each time the filter is updated
58     template<class InputImageType>  
59     void UpdateWithInputImageType();
60
61   protected:  
62     template<unsigned int Dim> void InitializeImageType();
63     //Parameters
64     double blood_mass_factor;
65     bool use_correct_formula;
66
67   }; // end class GuerreroVentilationGenericFilter
68 //--------------------------------------------------------------------
69
70 } // end namespace
71 //--------------------------------------------------------------------
72
73 #endif //#define clitkGuerreroVentilationGenericFilter_H
74