ITK  6.0.0
Insight Toolkit
itkAnchorErodeDilateImageFilter.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 itkAnchorErodeDilateImageFilter_h
19#define itkAnchorErodeDilateImageFilter_h
20
22#include "itkProgressReporter.h"
24#include "itkBresenhamLine.h"
25
26namespace itk
27{
38template <typename TImage, typename TKernel, typename TFunction1>
39class ITK_TEMPLATE_EXPORT AnchorErodeDilateImageFilter : public KernelImageFilter<TImage, TImage, TKernel>
40{
41public:
42 ITK_DISALLOW_COPY_AND_MOVE(AnchorErodeDilateImageFilter);
43
49
53 using KernelType = TKernel;
54
55 using InputImageType = TImage;
59 using InputImagePixelType = typename InputImageType::PixelType;
60 using IndexType = typename TImage::IndexType;
61 using SizeType = typename TImage::SizeType;
62
64 static constexpr unsigned int InputImageDimension = TImage::ImageDimension;
65 static constexpr unsigned int OutputImageDimension = TImage::ImageDimension;
66
68 itkNewMacro(Self);
69
71 itkOverrideGetNameOfClassMacro(AnchorErodeDilateImageFilter);
72
74 itkSetMacro(Boundary, InputImagePixelType);
75 itkGetConstMacro(Boundary, InputImagePixelType);
78protected:
80 ~AnchorErodeDilateImageFilter() override = default;
81 void
82 PrintSelf(std::ostream & os, Indent indent) const override;
83
85 void
86 DynamicThreadedGenerateData(const InputImageRegionType & outputRegionForThread) override;
87
88
89 // should be set by the meta filter
90 InputImagePixelType m_Boundary{};
91
92private:
94
95 // the class that operates on lines
97}; // end of class
98} // end namespace itk
99
100#ifndef ITK_MANUAL_INSTANTIATION
101# include "itkAnchorErodeDilateImageFilter.hxx"
102#endif
103
104#endif
class to implement erosions and dilations using anchor methods. This is the base class that must be i...
typename InputImageType::PixelType InputImagePixelType
~AnchorErodeDilateImageFilter() override=default
typename InputImageType::ConstPointer InputImageConstPointer
typename InputImageType::Pointer InputImagePointer
typename InputImageType::RegionType InputImageRegionType
void DynamicThreadedGenerateData(const InputImageRegionType &outputRegionForThread) override
void PrintSelf(std::ostream &os, Indent indent) const override
class to implement erosions and dilations using anchor methods. This is the base class that must be i...
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.
SmartPointer< const Self > ConstPointer
SmartPointer< Self > Pointer
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....