ITK  6.0.0
Insight Toolkit
itkBinaryGrindPeakImageFilter.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 itkBinaryGrindPeakImageFilter_h
19#define itkBinaryGrindPeakImageFilter_h
20
22
23namespace itk
24{
25
45template <typename TInputImage>
46class ITK_TEMPLATE_EXPORT BinaryGrindPeakImageFilter : public ImageToImageFilter<TInputImage, TInputImage>
47{
48public:
49 ITK_DISALLOW_COPY_AND_MOVE(BinaryGrindPeakImageFilter);
50
56
58 using InputImageType = TInputImage;
59 using OutputImageType = TInputImage;
63 using InputImagePixelType = typename InputImageType::PixelType;
67 using OutputImagePixelType = typename OutputImageType::PixelType;
68
70 static constexpr unsigned int InputImageDimension = TInputImage::ImageDimension;
71 static constexpr unsigned int OutputImageDimension = OutputImageType::ImageDimension;
72
74 itkNewMacro(Self);
75
77 itkOverrideGetNameOfClassMacro(BinaryGrindPeakImageFilter);
78
85 itkSetMacro(FullyConnected, bool);
86 itkGetConstReferenceMacro(FullyConnected, bool);
87 itkBooleanMacro(FullyConnected);
90#ifdef ITK_USE_CONCEPT_CHECKING
91 // Begin concept checking
93 // End concept checking
94#endif
95
98 itkSetMacro(ForegroundValue, InputImagePixelType);
99
102 itkGetMacro(ForegroundValue, InputImagePixelType);
103
105 itkSetMacro(BackgroundValue, InputImagePixelType);
106
108 itkGetMacro(BackgroundValue, InputImagePixelType);
109
110protected:
112 ~BinaryGrindPeakImageFilter() override = default;
113 void
114 PrintSelf(std::ostream & os, Indent indent) const override;
115
119 void
121
123 void
124 EnlargeOutputRequestedRegion(DataObject * itkNotUsed(output)) override;
125
128 void
129 GenerateData() override;
130
131private:
132 InputImagePixelType m_ForegroundValue{};
133
134 InputImagePixelType m_BackgroundValue{};
135
136 bool m_FullyConnected{ false };
137
138}; // end of class
139
140} // end namespace itk
141
142#ifndef ITK_MANUAL_INSTANTIATION
143# include "itkBinaryGrindPeakImageFilter.hxx"
144#endif
145
146#endif
Remove the objects not connected to the boundary of the image.
typename OutputImageType::Pointer OutputImagePointer
typename InputImageType::RegionType InputImageRegionType
typename OutputImageType::RegionType OutputImageRegionType
~BinaryGrindPeakImageFilter() override=default
void PrintSelf(std::ostream &os, Indent indent) const override
void GenerateInputRequestedRegion() override
typename InputImageType::Pointer InputImagePointer
typename OutputImageType::PixelType OutputImagePixelType
typename InputImageType::ConstPointer InputImageConstPointer
typename OutputImageType::ConstPointer OutputImageConstPointer
void EnlargeOutputRequestedRegion(DataObject *) override
typename InputImageType::PixelType InputImagePixelType
Base class for all data objects in ITK.
Base class for filters that take an image as input and produce an image as output.
Control indentation during Print() invocation.
Definition: itkIndent.h:50
Light weight base class for most itk classes.
SmartPointer< const Self > ConstPointer
SmartPointer< Self > Pointer
#define itkConceptMacro(name, concept)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....