ITK 6.0.0
Insight Toolkit
 
Loading...
Searching...
No Matches
itkMorphologyImageFilter.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 itkMorphologyImageFilter_h
19#define itkMorphologyImageFilter_h
20
23#include "itkNeighborhood.h"
27
28namespace itk
29{
71template <typename TInputImage, typename TOutputImage, typename TKernel>
72class ITK_TEMPLATE_EXPORT MorphologyImageFilter : public KernelImageFilter<TInputImage, TOutputImage, TKernel>
74public:
75 ITK_DISALLOW_COPY_AND_MOVE(MorphologyImageFilter);
82
84 itkOverrideGetNameOfClassMacro(MorphologyImageFilter);
85
87 using InputImageType = TInputImage;
88 using OutputImageType = TOutputImage;
89 using RegionType = typename TInputImage::RegionType;
90 using SizeType = typename TInputImage::SizeType;
91 using IndexType = typename TInputImage::IndexType;
92 using PixelType = typename TInputImage::PixelType;
94
96 static constexpr unsigned int ImageDimension = TInputImage::ImageDimension;
97
102
105
107 using KernelType = TKernel;
108
110 using KernelIteratorType = typename KernelType::ConstIterator;
111
113 using RadiusType = typename KernelType::SizeType;
114
117 void
122
124 void
129
131 itkGetConstMacro(BoundaryCondition, ImageBoundaryConditionPointerType);
132
133protected:
135 ~MorphologyImageFilter() override = default;
136 void
137 PrintSelf(std::ostream & os, Indent indent) const override;
138
140 void
141 DynamicThreadedGenerateData(const OutputImageRegionType & outputRegionForThread) override;
142
143
146 virtual PixelType
148 const KernelIteratorType kernelBegin,
149 const KernelIteratorType kernelEnd) = 0;
150
151private:
155
158}; // end of class
159} // end namespace itk
160
161#ifndef ITK_MANUAL_INSTANTIATION
162# include "itkMorphologyImageFilter.hxx"
163#endif
164
165#endif
Const version of NeighborhoodIterator, defining iteration of a local N-dimensional neighborhood of pi...
This boundary condition returns a constant value for out-of-bounds image pixels.
A virtual base object that defines an interface to a class of boundary condition objects for use by n...
typename OutputImageType::RegionType OutputImageRegionType
typename OutputImageType::RegionType OutputImageRegionType
Control indentation during Print() invocation.
Definition itkIndent.h:51
ConstantBoundaryCondition< InputImageType > DefaultBoundaryConditionType
typename KernelType::ConstIterator KernelIteratorType
typename TInputImage::SizeType SizeType
KernelImageFilter< TInputImage, TOutputImage, TKernel > Superclass
ImageBoundaryConditionPointerType m_BoundaryCondition
SmartPointer< const Self > ConstPointer
ConstNeighborhoodIterator< TInputImage > NeighborhoodIteratorType
~MorphologyImageFilter() override=default
const ImageBoundaryCondition< InputImageType > * ImageBoundaryConditionConstPointerType
typename KernelType::SizeType RadiusType
void OverrideBoundaryCondition(const ImageBoundaryConditionPointerType i)
static constexpr unsigned int ImageDimension
typename TInputImage::RegionType RegionType
typename TInputImage::IndexType IndexType
void DynamicThreadedGenerateData(const OutputImageRegionType &outputRegionForThread) override
virtual PixelType Evaluate(const NeighborhoodIteratorType &nit, const KernelIteratorType kernelBegin, const KernelIteratorType kernelEnd)=0
typename TInputImage::PixelType PixelType
DefaultBoundaryConditionType m_DefaultBoundaryCondition
void PrintSelf(std::ostream &os, Indent indent) const override
ImageBoundaryCondition< InputImageType > * ImageBoundaryConditionPointerType
Implements transparent reference counting.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....