ITK 6.0.0
Insight Toolkit
 
Loading...
Searching...
No Matches
itkVotingBinaryIterativeHoleFillingImageFilter.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 itkVotingBinaryIterativeHoleFillingImageFilter_h
19#define itkVotingBinaryIterativeHoleFillingImageFilter_h
20
22
23namespace itk
24{
55template <typename TImage>
56class ITK_TEMPLATE_EXPORT VotingBinaryIterativeHoleFillingImageFilter : public ImageToImageFilter<TImage, TImage>
57{
58public:
59 ITK_DISALLOW_COPY_AND_MOVE(VotingBinaryIterativeHoleFillingImageFilter);
60
62 using InputImageType = TImage;
63 using OutputImageType = TImage;
64
70
72 itkNewMacro(Self);
73
75 itkOverrideGetNameOfClassMacro(VotingBinaryIterativeHoleFillingImageFilter);
76
80
82 using InputPixelType = typename InputImageType::PixelType;
83 using OutputPixelType = typename OutputImageType::PixelType;
84
85 using InputImageRegionType = typename InputImageType::RegionType;
86 using OutputImageRegionType = typename OutputImageType::RegionType;
87
88 using InputSizeType = typename InputImageType::SizeType;
89
93 itkGetConstReferenceMacro(MaximumNumberOfIterations, unsigned int);
94 itkSetMacro(MaximumNumberOfIterations, unsigned int);
96
100 itkGetConstReferenceMacro(CurrentNumberOfIterations, unsigned int);
101 itkSetMacro(CurrentNumberOfIterations, unsigned int);
103
105 itkSetMacro(Radius, InputSizeType);
106
108 itkGetConstReferenceMacro(Radius, InputSizeType);
109
112 itkSetMacro(BackgroundValue, InputPixelType);
113 itkSetMacro(ForegroundValue, InputPixelType);
115
118 itkGetConstReferenceMacro(BackgroundValue, InputPixelType);
119 itkGetConstReferenceMacro(ForegroundValue, InputPixelType);
121
128 itkGetConstReferenceMacro(MajorityThreshold, unsigned int);
129 itkSetMacro(MajorityThreshold, unsigned int);
131
133 itkGetConstReferenceMacro(NumberOfPixelsChanged, unsigned int);
134
135 itkConceptMacro(InputEqualityComparableCheck, (Concept::EqualityComparable<InputPixelType>));
136 itkConceptMacro(InputOStreamWritableeCheck, (Concept::OStreamWritable<InputPixelType>));
137
138protected:
141 void
142 PrintSelf(std::ostream & os, Indent indent) const override;
143
147 void
148 GenerateData() override;
149
150private:
152
155
158 unsigned int m_MajorityThreshold{};
160};
161} // end namespace itk
162
163#ifndef ITK_MANUAL_INSTANTIATION
164# include "itkVotingBinaryIterativeHoleFillingImageFilter.hxx"
165#endif
166
167#endif
Control indentation during Print() invocation.
Definition itkIndent.h:50
Implements transparent reference counting.
Fills in holes and cavities by applying a voting operation on each pixel.
ImageToImageFilter< InputImageType, OutputImageType > Superclass
void PrintSelf(std::ostream &os, Indent indent) const override
~VotingBinaryIterativeHoleFillingImageFilter() override=default
VotingBinaryHoleFillingImageFilter< InputImageType, OutputImageType > VotingFilterType
#define itkConceptMacro(name, concept)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....