]> Creatis software - clitk.git/blob - itk/itkVTKImageToImageFilter.txx
removed headers
[clitk.git] / itk / itkVTKImageToImageFilter.txx
1 #ifndef _itkVTKImageToImageFilter_txx\r
2 #define _itkVTKImageToImageFilter_txx\r
3 #include "itkVTKImageToImageFilter.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 TOutputImage>\r
14 VTKImageToImageFilter<TOutputImage>\r
15 ::VTKImageToImageFilter()\r
16 {\r
17 \r
18     m_Exporter = vtkImageExport::New();\r
19 \r
20     m_Importer = ImporterFilterType::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 TOutputImage>\r
44 VTKImageToImageFilter<TOutputImage>\r
45 ::~VTKImageToImageFilter()\r
46 {\r
47     if ( m_Exporter )\r
48     {\r
49         m_Exporter->Delete();\r
50         m_Exporter = 0;\r
51     }\r
52 }\r
53 \r
54 \r
55 \r
56 /**\r
57  * Set a vtkImageData as input\r
58  */\r
59 template <class TOutputImage>\r
60 void\r
61 VTKImageToImageFilter<TOutputImage>\r
62 ::SetInput( vtkImageData * inputImage )\r
63 {\r
64     m_Exporter->SetInput( inputImage );\r
65 }\r
66 \r
67 \r
68 \r
69 /**\r
70  * Get an itk::Image as output\r
71  */\r
72 template <class TOutputImage>\r
73 const typename VTKImageToImageFilter<TOutputImage>::OutputImageType *\r
74 VTKImageToImageFilter<TOutputImage>\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 exporter filter\r
85  */\r
86 template <class TOutputImage>\r
87 vtkImageExport *\r
88 VTKImageToImageFilter<TOutputImage>\r
89 ::GetExporter() const\r
90 {\r
91     return m_Exporter;\r
92 }\r
93 \r
94 \r
95 \r
96 /**\r
97  * Get the importer filter\r
98  */\r
99 template <class TOutputImage>\r
100 typename VTKImageToImageFilter<TOutputImage>::ImporterFilterType *\r
101 VTKImageToImageFilter<TOutputImage>\r
102 ::GetImporter() const\r
103 {\r
104     return m_Importer;\r
105 }\r
106 \r
107 \r
108 \r
109 \r
110 /**\r
111  * Delegate the Update to the importer\r
112  */\r
113 template <class TOutputImage>\r
114 void\r
115 VTKImageToImageFilter<TOutputImage>\r
116 ::Update()\r
117 {\r
118     m_Importer->Update();\r
119 }\r
120 \r
121 \r
122 \r
123 \r
124 } // end namespace itk\r
125 \r
126 #endif\r
127 \r