SimpleITK  
sitkLabelMapContourOverlayImageFilter.h
Go to the documentation of this file.
1/*=========================================================================
2*
3* Copyright NumFOCUS
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#ifndef sitkLabelMapContourOverlayImageFilter_h
19#define sitkLabelMapContourOverlayImageFilter_h
20
21/*
22 * WARNING: DO NOT EDIT THIS FILE!
23 * THIS FILE IS AUTOMATICALLY GENERATED BY THE SIMPLEITK BUILD PROCESS.
24 * Please look at sitkDualImageFilterTemplate.h.jinja to make changes.
25 */
26
27#include <memory>
28
29#include "sitkImageFilter.h"
31#include "sitkBasicFilters.h"
33
34namespace itk::simple {
35
60public:
62
65
69
72
73
74
75
79 void
80 SetOpacity(double Opacity )
81 { this->m_Opacity = Opacity; }
82
85 double
86 GetOpacity() const { return this->m_Opacity; }
87
88
92 void
93 SetDilationRadius(std::vector<unsigned int> DilationRadius )
94 { this->m_DilationRadius = std::move(DilationRadius); }
95
97 void
98 SetDilationRadius( unsigned int value ) { this->m_DilationRadius = std::vector<unsigned int>(3, value); }
102 std::vector<unsigned int>
103 GetDilationRadius() const { return this->m_DilationRadius; }
104
105
109 void
110 SetContourThickness(std::vector<unsigned int> ContourThickness )
111 { this->m_ContourThickness = std::move(ContourThickness); }
112
115 std::vector<unsigned int>
116 GetContourThickness() const { return this->m_ContourThickness; }
117
118
122 void
123 SetSliceDimension(unsigned int SliceDimension )
124 { this->m_SliceDimension = SliceDimension; }
125
128 unsigned int
129 GetSliceDimension() const { return this->m_SliceDimension; }
130
131 typedef enum { PLAIN, CONTOUR, SLICE_CONTOUR } ContourTypeType;
132
136 void
138 { this->m_ContourType = ContourType; }
139
142 ContourTypeType
143 GetContourType() const { return this->m_ContourType; }
144
145 typedef enum { HIGH_LABEL_ON_TOP, LOW_LABEL_ON_TOP } PriorityType;
146
150 void
152 { this->m_Priority = Priority; }
153
156 PriorityType
157 GetPriority() const { return this->m_Priority; }
158
159
162 void
163 SetColormap(std::vector<uint8_t> Colormap )
164 { this->m_Colormap = Colormap; }
165
167 std::vector<uint8_t>
168 GetColormap() const { return this->m_Colormap; }
169
170
172 std::string GetName() const { return std::string("LabelMapContourOverlayImageFilter"); }
173
175 std::string ToString() const;
176
177
179 Image Execute(const Image &labelMapImage, const Image &featureImage);
180
181private:
182
184 using MemberFunctionType = Image (Self::*)(const Image *
185 labelMapImage, const Image *
186 featureImage);
187
189 template <class TImageType1, class TImageType2> Image DualExecuteInternal(const Image *
190 labelMapImage, const Image *
191 featureImage);
192
193
195
196
197
198 double m_Opacity{ 0.5 };
199
200 std::vector<unsigned int> m_DilationRadius{ std::vector<unsigned int>(3, 1) };
201
202 std::vector<unsigned int> m_ContourThickness{ std::vector<unsigned int>(3, 1) };
203
204 unsigned int m_SliceDimension{ 0u };
205
207
209
210 std::vector<uint8_t> m_Colormap{ std::vector<uint8_t>() };
211
212
213
214
215
216
217
218};
219
220
230 const Image &labelMapImage, const Image &featureImage, double opacity = 0.5, std::vector<unsigned int> dilationRadius = std::vector<unsigned int>(3, 1), std::vector<unsigned int> contourThickness = std::vector<unsigned int>(3, 1), unsigned int sliceDimension = 0u, LabelMapContourOverlayImageFilter::ContourTypeType contourType = itk::simple::LabelMapContourOverlayImageFilter::CONTOUR, LabelMapContourOverlayImageFilter::PriorityType priority = itk::simple::LabelMapContourOverlayImageFilter::HIGH_LABEL_ON_TOP, std::vector<uint8_t> colormap = std::vector<uint8_t>()
231);
232
234
235}
236#endif
The Image class for SimpleITK.
Definition sitkImage.h:77
static const detail::DualMemberFunctionFactory< MemberFunctionType > & GetMemberFunctionFactory()
void SetDilationRadius(std::vector< unsigned int > DilationRadius)
Image(Self::*)(const Image * labelMapImage, const Image * featureImage) MemberFunctionType
Image Execute(const Image &labelMapImage, const Image &featureImage)
void SetContourThickness(std::vector< unsigned int > ContourThickness)
Image DualExecuteInternal(const Image *labelMapImage, const Image *featureImage)
A class used to instantiate and generate function objects of templated member functions with two temp...
typelist2::typelist< LabelPixelID< uint8_t >, LabelPixelID< uint16_t >, LabelPixelID< uint32_t > > LabelPixelIDTypeList
Image LabelMapContourOverlay(const Image &labelMapImage, const Image &featureImage, double opacity=0.5, std::vector< unsigned int > dilationRadius=std::vector< unsigned int >(3, 1), std::vector< unsigned int > contourThickness=std::vector< unsigned int >(3, 1), unsigned int sliceDimension=0u, LabelMapContourOverlayImageFilter::ContourTypeType contourType=itk::simple::LabelMapContourOverlayImageFilter::CONTOUR, LabelMapContourOverlayImageFilter::PriorityType priority=itk::simple::LabelMapContourOverlayImageFilter::HIGH_LABEL_ON_TOP, std::vector< uint8_t > colormap=std::vector< uint8_t >())
Apply a colormap to the contours (outlines) of each object in a label map and superimpose it on top o...
#define SITKBasicFilters_EXPORT