ITK  6.0.0
Insight Toolkit
itkVanHerkGilWermanErodeDilateImageFilter.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 * https://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 itkVanHerkGilWermanErodeDilateImageFilter_h
19#define itkVanHerkGilWermanErodeDilateImageFilter_h
20
22#include "itkProgressReporter.h"
23#include "itkBresenhamLine.h"
24
25namespace itk
26{
27
28template <typename TInputImage, typename TOutputImage, typename TKernel>
29class KernelImageFilter;
30
41template <typename TImage, typename TKernel, typename TFunction1>
42class ITK_TEMPLATE_EXPORT VanHerkGilWermanErodeDilateImageFilter : public KernelImageFilter<TImage, TImage, TKernel>
43{
44public:
45 ITK_DISALLOW_COPY_AND_MOVE(VanHerkGilWermanErodeDilateImageFilter);
46
52
56 using KernelType = TKernel;
57
58 using InputImageType = TImage;
62 using InputImagePixelType = typename InputImageType::PixelType;
63 using IndexType = typename TImage::IndexType;
64 using SizeType = typename TImage::SizeType;
65
67 static constexpr unsigned int InputImageDimension = TImage::ImageDimension;
68 static constexpr unsigned int OutputImageDimension = TImage::ImageDimension;
69
71 itkNewMacro(Self);
72
74 itkOverrideGetNameOfClassMacro(VanHerkGilWermanErodeDilateImageFilter);
75
77 itkSetMacro(Boundary, InputImagePixelType);
78 itkGetConstMacro(Boundary, InputImagePixelType);
81protected:
84 void
85 PrintSelf(std::ostream & os, Indent indent) const override;
86
88 void
89 DynamicThreadedGenerateData(const InputImageRegionType & outputRegionForThread) override;
90
91
92 // should be set by the meta filter
93 InputImagePixelType m_Boundary{};
94
95private:
97
98}; // end of class
99} // end namespace itk
100
101#ifndef ITK_MANUAL_INSTANTIATION
102# include "itkVanHerkGilWermanErodeDilateImageFilter.hxx"
103#endif
104
105#endif
Compute indices along a line in n dimensions.
Control indentation during Print() invocation.
Definition: itkIndent.h:50
A base class for all the filters working on an arbitrary shaped neighborhood.
Light weight base class for most itk classes.
class to implement erosions and dilations using anchor methods. This is the base class that must be i...
~VanHerkGilWermanErodeDilateImageFilter() override=default
void DynamicThreadedGenerateData(const InputImageRegionType &outputRegionForThread) override
void PrintSelf(std::ostream &os, Indent indent) const override
SmartPointer< const Self > ConstPointer
SmartPointer< Self > Pointer
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....