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);
79
85
87 itkOverrideGetNameOfClassMacro(ObjectMorphologyImageFilter);
88
90 using InputImageType = TInputImage;
91 using OutputImageType = TOutputImage;
92 using RegionType = typename TInputImage::RegionType;
93 using SizeType = typename TInputImage::SizeType;
94 using IndexType = typename TInputImage::IndexType;
95 using PixelType = typename TInputImage::PixelType;
96
98
102
104 static constexpr unsigned int ImageDimension = TInputImage::ImageDimension;
105 static constexpr unsigned int OutputImageDimension = TOutputImage::ImageDimension;
106 static constexpr unsigned int KernelDimension = TKernel::NeighborhoodDimension;
107
111
113 using KernelType = TKernel;
114
116 using KernelIteratorType = typename KernelType::ConstIterator;
117
119 using RadiusType = typename KernelType::SizeType;
120
122 itkSetMacro(Kernel, KernelType);
123
125 itkGetConstReferenceMacro(Kernel, KernelType);
126
128 itkGetConstMacro(ObjectValue, PixelType);
129
131 itkSetMacro(ObjectValue, PixelType);
132
138 void
140
147 void
152
154 void
159
161 itkGetConstMacro(BoundaryCondition, ImageBoundaryConditionPointerType);
162
167 itkSetMacro(UseBoundaryCondition, bool);
168
173 itkGetConstMacro(UseBoundaryCondition, bool);
174
177 itkConceptMacro(OutputInputEqualityComparableCheck,
182 itkConceptMacro(InputOStreamWritableCheck, (Concept::OStreamWritable<PixelType>));
183
184protected:
186 ~ObjectMorphologyImageFilter() override = default;
187 void
188 PrintSelf(std::ostream & os, Indent indent) const override;
189
191 void
193
196 virtual void
198
202 bool
204
208
211
214
217
220
221 void
223}; // end of class
224} // end namespace itk
225
226#ifndef ITK_MANUAL_INSTANTIATION
227# include "itkObjectMorphologyImageFilter.hxx"
228#endif
229
230#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:50
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....