ITK 6.0.0
Insight Toolkit
 
Loading...
Searching...
No Matches
itkObjectMorphologyImageFilter.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 itkObjectMorphologyImageFilter_h
19#define itkObjectMorphologyImageFilter_h
20
26
27namespace itk
28{
73template <typename TInputImage, typename TOutputImage, typename TKernel>
74class ITK_TEMPLATE_EXPORT ObjectMorphologyImageFilter : public ImageToImageFilter<TInputImage, TOutputImage>
75{
76public:
77 ITK_DISALLOW_COPY_AND_MOVE(ObjectMorphologyImageFilter);
78
84
86 itkOverrideGetNameOfClassMacro(ObjectMorphologyImageFilter);
87
89 using InputImageType = TInputImage;
90 using OutputImageType = TOutputImage;
91 using RegionType = typename TInputImage::RegionType;
92 using SizeType = typename TInputImage::SizeType;
93 using IndexType = typename TInputImage::IndexType;
94 using PixelType = typename TInputImage::PixelType;
95
97
101
103 static constexpr unsigned int ImageDimension = TInputImage::ImageDimension;
104 static constexpr unsigned int OutputImageDimension = TOutputImage::ImageDimension;
105 static constexpr unsigned int KernelDimension = TKernel::NeighborhoodDimension;
106
110
112 using KernelType = TKernel;
113
115 using KernelIteratorType = typename KernelType::ConstIterator;
116
118 using RadiusType = typename KernelType::SizeType;
119
121 itkSetMacro(Kernel, KernelType);
122
124 itkGetConstReferenceMacro(Kernel, KernelType);
125
127 itkGetConstMacro(ObjectValue, PixelType);
128
130 itkSetMacro(ObjectValue, PixelType);
131
137 void
139
143 void
148
150 void
155
157 itkGetConstMacro(BoundaryCondition, ImageBoundaryConditionPointerType);
158
163 itkSetMacro(UseBoundaryCondition, bool);
164
169 itkGetConstMacro(UseBoundaryCondition, bool);
170
173 itkConceptMacro(OutputInputEqualityComparableCheck,
178 itkConceptMacro(InputOStreamWritableCheck, (Concept::OStreamWritable<PixelType>));
179
180protected:
182 ~ObjectMorphologyImageFilter() override = default;
183 void
184 PrintSelf(std::ostream & os, Indent indent) const override;
185
187 void
189
192 virtual void
194
198 bool
200
204
207
210
213
216
217 void
219}; // end of class
220} // end namespace itk
221
222#ifndef ITK_MANUAL_INSTANTIATION
223# include "itkObjectMorphologyImageFilter.hxx"
224#endif
225
226#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
Control indentation during Print() invocation.
Definition itkIndent.h:51
Defines iteration of a local N-dimensional neighborhood of pixels across an itk::Image.
~ObjectMorphologyImageFilter() override=default
ImageBoundaryConditionPointerType m_BoundaryCondition
virtual void Evaluate(OutputNeighborhoodIteratorType &nit, const KernelType &kernel)=0
typename TInputImage::RegionType RegionType
ImageBoundaryCondition< InputImageType > * ImageBoundaryConditionPointerType
typename KernelType::ConstIterator KernelIteratorType
void GenerateInputRequestedRegion() override
ImageToImageFilter< TInputImage, TOutputImage > Superclass
void PrintSelf(std::ostream &os, Indent indent) const override
typename OutputImageType::RegionType OutputImageRegionType
const ImageBoundaryCondition< InputImageType > * ImageBoundaryConditionConstPointerType
static constexpr unsigned int OutputImageDimension
bool IsObjectPixelOnBoundary(const InputNeighborhoodIteratorType &iNIter)
void DynamicThreadedGenerateData(const OutputImageRegionType &) override
typename TInputImage::IndexType IndexType
void OverrideBoundaryCondition(const ImageBoundaryConditionPointerType i)
typename TInputImage::PixelType PixelType
void BeforeThreadedGenerateData() override
NeighborhoodIterator< TOutputImage > OutputNeighborhoodIteratorType
DefaultBoundaryConditionType m_DefaultBoundaryCondition
ConstNeighborhoodIterator< TInputImage > InputNeighborhoodIteratorType
ConstantBoundaryCondition< InputImageType > DefaultBoundaryConditionType
Implements transparent reference counting.
#define itkConceptMacro(name, concept)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....