Computer Assisted Medical Intervention Tool Kit  version 5.2
itkImageToVTKImageFilter.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * $CAMITK_LICENCE_BEGIN$
3  *
4  * CamiTK - Computer Assisted Medical Intervention ToolKit
5  * (c) 2001-2024 Univ. Grenoble Alpes, CNRS, Grenoble INP - UGA, TIMC, 38000 Grenoble, France
6  *
7  * Visit http://camitk.imag.fr for more information
8  *
9  * This file is part of CamiTK.
10  *
11  * CamiTK is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser General Public License version 3
13  * only, as published by the Free Software Foundation.
14  *
15  * CamiTK is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  * GNU Lesser General Public License version 3 for more details.
19  *
20  * You should have received a copy of the GNU Lesser General Public License
21  * version 3 along with CamiTK. If not, see <http://www.gnu.org/licenses/>.
22  *
23  * $CAMITK_LICENCE_END$
24  ****************************************************************************/
25 #ifndef __itkImageToVTKImageFilter_h
26 #define __itkImageToVTKImageFilter_h
27 
28 // -- itk stuff
29 #include <itkVTKImageExport.h>
30 
31 // -- vtk stuff
32 #include <vtkImageImport.h>
33 #include <vtkImageData.h>
34 #include <vtkSmartPointer.h>
35 
36 // -- stl stuff
37 #include <vector>
38 
39 namespace itk {
40 
57 template <class TInputImage >
58 class ITK_EXPORT ImageToVTKImageFilter : public ProcessObject {
59 public:
62  typedef ProcessObject Superclass;
63  typedef SmartPointer<Self> Pointer;
64  typedef SmartPointer<const Self> ConstPointer;
65 
68 
71 
73  typedef TInputImage InputImageType;
74  typedef typename InputImageType::ConstPointer InputImagePointer;
75  typedef VTKImageExport< InputImageType> ExporterFilterType;
76  typedef typename ExporterFilterType::Pointer ExporterFilterPointer;
77 
80  vtkSmartPointer<vtkImageData> GetOutput() const;
81 
83  void SetInput(const InputImageType*);
84 
88  vtkSmartPointer<vtkImageImport> GetImporter() const;
89 
94 
96  void Update();
97 
98  const std::vector<double>& getvtest() const {
99  return m_vtest;
100  }
101 
102  int testsize() {
103  return m_vtest.size();
104  }
105 
106  std::vector<double> addvector(const std::vector<double>& v) {
107  for (unsigned int i = 0; i < v.size(); i++) {
108  m_vtest.push_back(v[i]);
109  }
110  return m_vtest;
111  }
112 
113  const std::vector<double>& addtest(double toto) {
114  m_vtest.push_back(toto);
115  return m_vtest;
116  }
117  std::vector<double> tralala() {
118  std::vector<double> w;
119  for (double i = 0; i < 10; i++) {
120  w.push_back(i);
121  }
122  return w;
123 
124  }
125 
126 protected:
129 
130 private:
131  ImageToVTKImageFilter(const Self&); //purposely not implemented
132  void operator=(const Self&); //purposely not implemented
133 
134  ExporterFilterPointer m_Exporter;
135  vtkSmartPointer<vtkImageImport> m_Importer;
136  std::vector<double> m_vtest;
137 };
138 
139 } // end namespace itk
140 
141 #ifndef ITK_MANUAL_INSTANTIATION
142 #include "itkImageToVTKImageFilter.txx"
143 #endif
144 
145 #endif
146 
147 
148 
Converts an ITK image into a VTK image and plugs a itk data pipeline to a VTK datapipeline.
Definition: itkImageToVTKImageFilter.h:58
VTKImageExport< InputImageType > ExporterFilterType
Definition: itkImageToVTKImageFilter.h:75
SmartPointer< const Self > ConstPointer
Definition: itkImageToVTKImageFilter.h:64
ExporterFilterType * GetExporter() const
Return the internal ITK image exporter filter.
itkTypeMacro(ImageToVTKImageFilter, ProcessObject)
Run-time type information (and related methods).
InputImageType::ConstPointer InputImagePointer
Definition: itkImageToVTKImageFilter.h:74
SmartPointer< Self > Pointer
Definition: itkImageToVTKImageFilter.h:63
int testsize()
Definition: itkImageToVTKImageFilter.h:102
TInputImage InputImageType
Some typedefs.
Definition: itkImageToVTKImageFilter.h:73
vtkSmartPointer< vtkImageImport > GetImporter() const
Return the internal VTK image importer filter.
ExporterFilterType::Pointer ExporterFilterPointer
Definition: itkImageToVTKImageFilter.h:76
void SetInput(const InputImageType *)
Set the input in the form of an itk::Image.
ProcessObject Superclass
Definition: itkImageToVTKImageFilter.h:62
std::vector< double > tralala()
Definition: itkImageToVTKImageFilter.h:117
ImageToVTKImageFilter Self
Standard class typedefs.
Definition: itkImageToVTKImageFilter.h:61
itkNewMacro(Self)
Method for creation through the object factory.
const std::vector< double > & getvtest() const
Definition: itkImageToVTKImageFilter.h:98
std::vector< double > addvector(const std::vector< double > &v)
Definition: itkImageToVTKImageFilter.h:106
const std::vector< double > & addtest(double toto)
Definition: itkImageToVTKImageFilter.h:113
void Update()
This call delegate the update to the importer.
vtkSmartPointer< vtkImageData > GetOutput() const
Get the output in the form of a vtkImage.
Definition: itkImageToVTKImageFilter.h:39