ITK 6.0.0
Insight Toolkit
 
Loading...
Searching...
No Matches
itkBinaryPruningImageFilter.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 itkBinaryPruningImageFilter_h
19#define itkBinaryPruningImageFilter_h
20
23
24namespace itk
25{
52
53template <typename TInputImage, typename TOutputImage>
54class ITK_TEMPLATE_EXPORT BinaryPruningImageFilter : public ImageToImageFilter<TInputImage, TOutputImage>
55{
56public:
57 ITK_DISALLOW_COPY_AND_MOVE(BinaryPruningImageFilter);
58
64
66 itkNewMacro(Self);
67
69 itkOverrideGetNameOfClassMacro(BinaryPruningImageFilter);
70
72 using InputImageType = TInputImage;
73
75 using OutputImageType = TOutputImage;
76
78 using RegionType = typename InputImageType::RegionType;
79
81 using IndexType = typename RegionType::IndexType;
82
84 using PixelType = typename InputImageType::PixelType;
85
87 using SizeType = typename RegionType::SizeType;
88
90 using InputImagePointer = typename InputImageType::ConstPointer;
91
93 using OutputImagePointer = typename OutputImageType::Pointer;
94
97
101
104 itkSetMacro(Iteration, unsigned int);
105 itkGetConstMacro(Iteration, unsigned int);
108 static constexpr unsigned int InputImageDimension = TInputImage::ImageDimension;
109 static constexpr unsigned int OutputImageDimension = TOutputImage::ImageDimension;
110
114 itkConceptMacro(IntConvertibleToPixelTypeCheck, (Concept::Convertible<int, PixelType>));
116
117protected:
119 ~BinaryPruningImageFilter() override = default;
120 void
121 PrintSelf(std::ostream & os, Indent indent) const override;
122
124 void
125 GenerateData() override;
126
128 void
130
132 void
134
135private:
136 unsigned int m_Iteration{};
137}; // end of BinaryThinningImageFilter class
138} // end namespace itk
139
140#ifndef ITK_MANUAL_INSTANTIATION
141# include "itkBinaryPruningImageFilter.hxx"
142#endif
143
144#endif
OutputImageType * GetPruning()
SmartPointer< const Self > ConstPointer
void PrintSelf(std::ostream &os, Indent indent) const override
static constexpr unsigned int OutputImageDimension
typename InputImageType::ConstPointer InputImagePointer
typename RegionType::IndexType IndexType
static constexpr unsigned int InputImageDimension
typename OutputImageType::Pointer OutputImagePointer
~BinaryPruningImageFilter() override=default
typename InputImageType::PixelType PixelType
typename InputImageType::RegionType RegionType
ImageToImageFilter< TInputImage, TOutputImage > Superclass
NeighborhoodIterator< TInputImage > NeighborhoodIteratorType
typename RegionType::SizeType SizeType
Control indentation during Print() invocation.
Definition itkIndent.h:50
Defines iteration of a local N-dimensional neighborhood of pixels across an itk::Image.
Implements transparent reference counting.
#define itkConceptMacro(name, concept)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....