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.in to make changes.
25  */
26 
27 #include <memory>
28 
29 #include "sitkImageFilter.h"
31 #include "sitkBasicFilters.h"
32 
33 namespace itk::simple {
34 
55  public:
57 
60 
64 
67 
68 \
69 
73  SITK_RETURN_SELF_TYPE_HEADER SetOpacity ( double Opacity ) { this->m_Opacity = Opacity; return *this; }
74 
78  double GetOpacity() const { return this->m_Opacity; }\
79 
83  SITK_RETURN_SELF_TYPE_HEADER SetDilationRadius ( std::vector<unsigned int> DilationRadius ) { this->m_DilationRadius = std::move(DilationRadius); return *this; }
84 
86  SITK_RETURN_SELF_TYPE_HEADER SetDilationRadius( unsigned int value ) { this->m_DilationRadius = std::vector<unsigned int>(3, value); return *this; }
87 
91  std::vector<unsigned int> GetDilationRadius() const { return this->m_DilationRadius; }\
92 
96  SITK_RETURN_SELF_TYPE_HEADER SetContourThickness ( std::vector<unsigned int> ContourThickness ) { this->m_ContourThickness = std::move(ContourThickness); return *this; }
97 
101  std::vector<unsigned int> GetContourThickness() const { return this->m_ContourThickness; }\
102 
106  SITK_RETURN_SELF_TYPE_HEADER SetSliceDimension ( unsigned int SliceDimension ) { this->m_SliceDimension = SliceDimension; return *this; }
107 
111  unsigned int GetSliceDimension() const { return this->m_SliceDimension; }
112 
113  typedef enum {PLAIN,CONTOUR,SLICE_CONTOUR} ContourTypeType;\
114 
119  SITK_RETURN_SELF_TYPE_HEADER SetContourType ( ContourTypeType ContourType ) { this->m_ContourType = ContourType; return *this; }
120 
125  ContourTypeType GetContourType() const { return this->m_ContourType; }
126 
127  typedef enum {HIGH_LABEL_ON_TOP,LOW_LABEL_ON_TOP} PriorityType;\
128 
132  SITK_RETURN_SELF_TYPE_HEADER SetPriority ( PriorityType Priority ) { this->m_Priority = Priority; return *this; }
133 
137  PriorityType GetPriority() const { return this->m_Priority; }\
138 
141  SITK_RETURN_SELF_TYPE_HEADER SetColormap ( std::vector<uint8_t> Colormap ) { this->m_Colormap = Colormap; return *this; }
142 
145  std::vector<uint8_t> GetColormap() const { return this->m_Colormap; }
146 
148  std::string GetName() const { return std::string ("LabelMapContourOverlayImageFilter"); }
149 
151  std::string ToString() const;
152 
153 
156  Image Execute ( const Image & labelMapImage, const Image & featureImage );
157 
158 
159  private:
161  using MemberFunctionType = Image (Self::*)( const Image * labelMapImage, const Image * featureImage );
162 
164  template <class TImageType1, class TImageType2> Image DualExecuteInternal ( const Image * labelMapImage, const Image * featureImage );
165 
166 
167  std::unique_ptr<detail::DualMemberFunctionFactory<MemberFunctionType> > m_DualMemberFactory;
168 
169 
170 
171  double m_Opacity{0.5};
172 
173  std::vector<unsigned int> m_DilationRadius{std::vector<unsigned int>(3, 1)};
174 
175  std::vector<unsigned int> m_ContourThickness{std::vector<unsigned int>(3, 1)};
176 
177  unsigned int m_SliceDimension{0u};
178 
180 
182 
183  std::vector<uint8_t> m_Colormap{std::vector<uint8_t>()};
184 
185 
186  };
187 
198  SITKBasicFilters_EXPORT 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>() );
199 
201 }
202 #endif
itk::simple::Image
The Image class for SimpleITK.
Definition: sitkImage.h:76
itk::simple::LabelMapContourOverlayImageFilter::SetDilationRadius
Self & SetDilationRadius(std::vector< unsigned int > DilationRadius)
Definition: sitkLabelMapContourOverlayImageFilter.h:83
sitkBasicFilters.h
itk::simple::LabelMapContourOverlayImageFilter::GetName
std::string GetName() const
Definition: sitkLabelMapContourOverlayImageFilter.h:148
itk::simple::LabelMapContourOverlayImageFilter::m_DualMemberFactory
std::unique_ptr< detail::DualMemberFunctionFactory< MemberFunctionType > > m_DualMemberFactory
Definition: sitkLabelMapContourOverlayImageFilter.h:167
itk::simple::LabelMapContourOverlayImageFilter::SetSliceDimension
Self & SetSliceDimension(unsigned int SliceDimension)
Definition: sitkLabelMapContourOverlayImageFilter.h:106
itk::simple::LabelMapContourOverlayImageFilter::PriorityType
PriorityType
Definition: sitkLabelMapContourOverlayImageFilter.h:127
itk::simple::LabelMapContourOverlayImageFilter::GetSliceDimension
unsigned int GetSliceDimension() const
Definition: sitkLabelMapContourOverlayImageFilter.h:111
itk::simple::LabelMapContourOverlayImageFilter::SetDilationRadius
Self & SetDilationRadius(unsigned int value)
Definition: sitkLabelMapContourOverlayImageFilter.h:86
itk::simple::LabelMapContourOverlayImageFilter::SetContourType
Self & SetContourType(ContourTypeType ContourType)
Definition: sitkLabelMapContourOverlayImageFilter.h:119
itk::simple::LabelMapContourOverlayImageFilter::ContourTypeType
ContourTypeType
Definition: sitkLabelMapContourOverlayImageFilter.h:113
itk::simple::LabelMapContourOverlayImageFilter::SetContourThickness
Self & SetContourThickness(std::vector< unsigned int > ContourThickness)
Definition: sitkLabelMapContourOverlayImageFilter.h:96
itk::simple::LabelMapContourOverlayImageFilter::GetColormap
std::vector< uint8_t > GetColormap() const
Definition: sitkLabelMapContourOverlayImageFilter.h:145
itk::simple::LabelMapContourOverlayImageFilter::SetOpacity
Self & SetOpacity(double Opacity)
Definition: sitkLabelMapContourOverlayImageFilter.h:73
itk::simple::LabelMapContourOverlayImageFilter::CONTOUR
@ CONTOUR
Definition: sitkLabelMapContourOverlayImageFilter.h:113
itk::simple::LabelMapContourOverlayImageFilter::SetColormap
Self & SetColormap(std::vector< uint8_t > Colormap)
Definition: sitkLabelMapContourOverlayImageFilter.h:141
itk::simple::LabelMapContourOverlayImageFilter::GetContourThickness
std::vector< unsigned int > GetContourThickness() const
Definition: sitkLabelMapContourOverlayImageFilter.h:101
sitkImageFilter.h
itk::simple::LabelMapContourOverlayImageFilter::GetOpacity
double GetOpacity() const
Definition: sitkLabelMapContourOverlayImageFilter.h:78
itk::simple::LabelMapContourOverlay
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...
itk::simple::LabelMapContourOverlayImageFilter::GetContourType
ContourTypeType GetContourType() const
Definition: sitkLabelMapContourOverlayImageFilter.h:125
itk::simple::LabelMapContourOverlayImageFilter::GetPriority
PriorityType GetPriority() const
Definition: sitkLabelMapContourOverlayImageFilter.h:137
sitkDualMemberFunctionFactory.h
SITKBasicFilters_EXPORT
#define SITKBasicFilters_EXPORT
Definition: sitkBasicFilters.h:52
itk::simple::LabelMapContourOverlayImageFilter::PixelIDTypeList
LabelPixelIDTypeList PixelIDTypeList
Definition: sitkLabelMapContourOverlayImageFilter.h:66
itk::simple::LabelMapContourOverlayImageFilter
Apply a colormap to the contours (outlines) of each object in a label map and superimpose it on top o...
Definition: sitkLabelMapContourOverlayImageFilter.h:54
itk::simple::LabelMapContourOverlayImageFilter::HIGH_LABEL_ON_TOP
@ HIGH_LABEL_ON_TOP
Definition: sitkLabelMapContourOverlayImageFilter.h:127
itk::simple::detail::DualExecuteInternalAddressor
Definition: sitkDetail.h:42
itk::simple::LabelPixelIDTypeList
typelist2::typelist< LabelPixelID< uint8_t >, LabelPixelID< uint16_t >, LabelPixelID< uint32_t > > LabelPixelIDTypeList
Definition: sitkPixelIDTypeLists.h:167
itk::simple::LabelMapContourOverlayImageFilter::MemberFunctionType
Image(Self::*)(const Image *labelMapImage, const Image *featureImage) MemberFunctionType
Definition: sitkLabelMapContourOverlayImageFilter.h:161
itk::simple::ImageFilter
The base interface for SimpleITK filters that take one input image.
Definition: sitkImageFilter.h:35
itk::Image
Definition: sitkPixelIDTypes.h:28
itk::simple::LabelMapContourOverlayImageFilter::GetDilationRadius
std::vector< unsigned int > GetDilationRadius() const
Definition: sitkLabelMapContourOverlayImageFilter.h:91
itk::simple::LabelMapContourOverlayImageFilter::SetPriority
Self & SetPriority(PriorityType Priority)
Definition: sitkLabelMapContourOverlayImageFilter.h:132
itk::simple
Definition: sitkAdditionalProcedures.h:28