ITK  5.0.0
Insight Segmentation and Registration Toolkit
itkLevelSetTovtkImageData.h
Go to the documentation of this file.
1 /*=========================================================================
2  *
3  * Copyright Insight Software Consortium
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0.txt
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  *=========================================================================*/
18 
19 #ifndef itkLevelSetTovtkImageData_h
20 #define itkLevelSetTovtkImageData_h
21 
23 
24 #include "itkLevelSetDenseImage.h"
28 
29 #include "itkImage.h"
32 
34 
35 namespace itk
36 {
37 template< typename TLevelSet >
38 class ITK_TEMPLATE_EXPORT LevelSetTovtkImageData
39  {};
40 
44 template< typename TImage >
45 class ITK_TEMPLATE_EXPORT LevelSetTovtkImageData< LevelSetDenseImage< TImage > > :
46  public LevelSetTovtkImageDataBase< LevelSetDenseImage< TImage > >
47 {
48 public:
49  ITK_DISALLOW_COPY_AND_ASSIGN(LevelSetTovtkImageData);
50 
51  using ImageType = TImage;
53 
58 
60  itkNewMacro(Self);
61 
64 
66 
67  vtkImageData* GetOutput() const override;
68 
69 protected:
71  ~LevelSetTovtkImageData() override;
72 
73  void GenerateData() override;
74 
75 private:
78 
80 };
81 
82 // -----------------------------------------------------------------------------
83 template< typename TOutput, unsigned int VDimension >
84 class ITK_TEMPLATE_EXPORT LevelSetTovtkImageData< WhitakerSparseLevelSetImage< TOutput, VDimension > > :
85  public LevelSetTovtkImageDataBase< WhitakerSparseLevelSetImage< TOutput, VDimension > >
86 {
87 public:
88  ITK_DISALLOW_COPY_AND_ASSIGN(LevelSetTovtkImageData);
89 
91 
96 
98  itkNewMacro(Self);
99 
102 
104 
105  vtkImageData* GetOutput() const override;
106 
107 protected:
109  ~LevelSetTovtkImageData() override;
110 
111  void GenerateData() override;
112 
113 private:
116 
119 
122 };
123 
124 
125 // -----------------------------------------------------------------------------
126 template< unsigned int VDimension >
127 class ITK_TEMPLATE_EXPORT LevelSetTovtkImageData< ShiSparseLevelSetImage< VDimension > > :
128  public LevelSetTovtkImageDataBase< ShiSparseLevelSetImage< VDimension > >
129 {
130 public:
131  ITK_DISALLOW_COPY_AND_ASSIGN(LevelSetTovtkImageData);
132 
134 
139 
141  itkNewMacro(Self);
142 
145 
147 
148  vtkImageData* GetOutput() const override;
149 
150 protected:
152  ~LevelSetTovtkImageData() override;
153 
154  void GenerateData() override;
155 
156 private:
160 
163 
166 
168 
171 
173 };
174 
175 // -----------------------------------------------------------------------------
176 template< unsigned int VDimension >
177 class ITK_TEMPLATE_EXPORT LevelSetTovtkImageData< MalcolmSparseLevelSetImage< VDimension > > :
178  public LevelSetTovtkImageDataBase< MalcolmSparseLevelSetImage< VDimension > >
179 {
180 public:
181  ITK_DISALLOW_COPY_AND_ASSIGN(LevelSetTovtkImageData);
182 
184 
189 
191  itkNewMacro(Self);
192 
195 
197 
198  vtkImageData* GetOutput() const override;
199 
200 protected:
202  ~LevelSetTovtkImageData() override;
203 
204  void GenerateData() override;
205 
206 private:
209 
212 
215 
217 
220 
222 };
223 }
224 
225 #ifndef ITK_MANUAL_INSTANTIATION
226 #include "itkLevelSetTovtkImageData.hxx"
227 #endif
228 #endif // itkLevelSetTovtkImageData_h
Light weight base class for most itk classes.
Derived class for the shi representation of level-set function.
typename LabelMapToLabelImageFilterType::Pointer LabelMapToLabelImageFilterPointer
Derived class for the Malcolm representation of level-set function.
Derived class for the sparse-field representation of level-set function.
Converts an ITK image into a VTK image and plugs a itk data pipeline to a VTK datapipeline.
Base class for the &quot;dense&quot; representation of a level-set function on one image.
typename Superclass::LabelMapPointer LabelMapPointer
typename Superclass::LabelMapPointer LabelMapPointer
typename Superclass::LabelMapType LabelMapType
typename LabelMapType::ConstPointer LabelMapConstPointer
typename LabelMapToLabelImageFilterType::Pointer LabelMapToLabelImageFilterPointer
Templated n-dimensional image class.
Definition: itkImage.h:75
typename Superclass::LabelMapType LabelMapType
Converts a LabelMap to a labeled image.