]> Creatis software - clitk.git/blob - itk/itkImageToVTKImageFilter.txx
removed headers
[clitk.git] / itk / itkImageToVTKImageFilter.txx
1 #ifndef _itkImageToVTKImageFilter_txx\r
2 #define _itkImageToVTKImageFilter_txx\r
3 #include "itkImageToVTKImageFilter.h"\r
4 \r
5 namespace itk\r
6 {\r
7 \r
8 \r
9 \r
10 /**\r
11  * Constructor\r
12  */\r
13 template <class TInputImage>\r
14 ImageToVTKImageFilter<TInputImage>\r
15 ::ImageToVTKImageFilter()\r
16 {\r
17 \r
18     m_Importer = vtkImageImport::New();\r
19 \r
20     m_Exporter = ExporterFilterType::New();\r
21 \r
22     m_Importer->SetUpdateInformationCallback(m_Exporter->GetUpdateInformationCallback());\r
23     m_Importer->SetPipelineModifiedCallback(m_Exporter->GetPipelineModifiedCallback());\r
24     m_Importer->SetWholeExtentCallback(m_Exporter->GetWholeExtentCallback());\r
25     m_Importer->SetSpacingCallback(m_Exporter->GetSpacingCallback());\r
26     m_Importer->SetOriginCallback(m_Exporter->GetOriginCallback());\r
27     m_Importer->SetScalarTypeCallback(m_Exporter->GetScalarTypeCallback());\r
28     m_Importer->SetNumberOfComponentsCallback(m_Exporter->GetNumberOfComponentsCallback());\r
29     m_Importer->SetPropagateUpdateExtentCallback(m_Exporter->GetPropagateUpdateExtentCallback());\r
30     m_Importer->SetUpdateDataCallback(m_Exporter->GetUpdateDataCallback());\r
31     m_Importer->SetDataExtentCallback(m_Exporter->GetDataExtentCallback());\r
32     m_Importer->SetBufferPointerCallback(m_Exporter->GetBufferPointerCallback());\r
33     m_Importer->SetCallbackUserData(m_Exporter->GetCallbackUserData());\r
34 \r
35 }\r
36 \r
37 \r
38 \r
39 \r
40 /**\r
41  * Destructor\r
42  */\r
43 template <class TInputImage>\r
44 ImageToVTKImageFilter<TInputImage>\r
45 ::~ImageToVTKImageFilter()\r
46 {\r
47     if ( m_Importer )\r
48     {\r
49         m_Importer->Delete();\r
50         m_Importer = 0;\r
51     }\r
52 }\r
53 \r
54 \r
55 \r
56 /**\r
57  * Set an itk::Image as input\r
58  */\r
59 template <class TInputImage>\r
60 void\r
61 ImageToVTKImageFilter<TInputImage>\r
62 ::SetInput( const InputImageType * inputImage )\r
63 {\r
64     m_Exporter->SetInput( inputImage );\r
65 }\r
66 \r
67 \r
68 \r
69 /**\r
70  * Get a vtkImage as output\r
71  */\r
72 template <class TInputImage>\r
73 vtkImageData *\r
74 ImageToVTKImageFilter<TInputImage>\r
75 ::GetOutput() const\r
76 {\r
77     return m_Importer->GetOutput();\r
78 }\r
79 \r
80 \r
81 \r
82 \r
83 /**\r
84  * Get the importer filter\r
85  */\r
86 template <class TInputImage>\r
87 vtkImageImport *\r
88 ImageToVTKImageFilter<TInputImage>\r
89 ::GetImporter() const\r
90 {\r
91     return m_Importer;\r
92 }\r
93 \r
94 \r
95 \r
96 /**\r
97  * Get the exporter filter\r
98  */\r
99 template <class TInputImage>\r
100 typename ImageToVTKImageFilter<TInputImage>::ExporterFilterType *\r
101 ImageToVTKImageFilter<TInputImage>\r
102 ::GetExporter() const\r
103 {\r
104     return m_Exporter.GetPointer();\r
105 }\r
106 \r
107 \r
108 \r
109 /**\r
110  * Delegate the Update to the importer\r
111  */\r
112 template <class TInputImage>\r
113 void\r
114 ImageToVTKImageFilter<TInputImage>\r
115 ::Update()\r
116 {\r
117     m_Importer->Update();\r
118 }\r
119 \r
120 \r
121 \r
122 \r
123 \r
124 } // end namespace itk\r
125 \r
126 #endif\r
127 \r