ITK  6.0.0
Insight Toolkit
itkVectorConfidenceConnectedImageFilter.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 itkVectorConfidenceConnectedImageFilter_h
19#define itkVectorConfidenceConnectedImageFilter_h
20
23
24namespace itk
25{
59template <typename TInputImage, typename TOutputImage>
60class ITK_TEMPLATE_EXPORT VectorConfidenceConnectedImageFilter : public ImageToImageFilter<TInputImage, TOutputImage>
61{
62public:
63 ITK_DISALLOW_COPY_AND_MOVE(VectorConfidenceConnectedImageFilter);
64
70
72 itkNewMacro(Self);
73
75 itkOverrideGetNameOfClassMacro(VectorConfidenceConnectedImageFilter);
76
77 using InputImageType = TInputImage;
80 using InputImagePixelType = typename InputImageType::PixelType;
83
84 using OutputImageType = TOutputImage;
87 using OutputImagePixelType = typename OutputImageType::PixelType;
88
89 using SeedsContainerType = std::vector<IndexType>;
90
92
95
97
98 void
99 PrintSelf(std::ostream & os, Indent indent) const override;
100
102 void
103 SetSeed(const IndexType & seed);
104
106 void
107 AddSeed(const IndexType & seed);
108
110 void
112
115 itkSetMacro(Multiplier, double);
116 itkGetConstMacro(Multiplier, double);
120 itkSetMacro(NumberOfIterations, unsigned int);
121 itkGetConstMacro(NumberOfIterations, unsigned int);
125 itkSetMacro(ReplaceValue, OutputImagePixelType);
126 itkGetConstMacro(ReplaceValue, OutputImagePixelType);
131 itkSetMacro(InitialNeighborhoodRadius, unsigned int);
132 itkGetConstReferenceMacro(InitialNeighborhoodRadius, unsigned int);
136 const MeanVectorType &
137 GetMean() const;
138
142
144 virtual const SeedsContainerType &
145 GetSeeds() const;
146
147
148#ifdef ITK_USE_CONCEPT_CHECKING
149 // Begin concept checking
153 // End concept checking
154#endif
155
156protected:
158
159 // Override since the filter needs all the data for the algorithm
160 void
162
163 // Override since the filter produces the entire dataset
164 void
166
167 void
168 GenerateData() override;
169
170private:
172 double m_Multiplier{};
173 unsigned int m_NumberOfIterations{};
174 OutputImagePixelType m_ReplaceValue{};
175 unsigned int m_InitialNeighborhoodRadius{};
176
177 DistanceThresholdFunctionPointer m_ThresholdFunction{};
178};
179} // end namespace itk
180
181#ifndef ITK_MANUAL_INSTANTIATION
182# include "itkVectorConfidenceConnectedImageFilter.hxx"
183#endif
184
185#endif
Base class for all data objects in ITK.
Base class for all process objects that output image data.
typename OutputImageType::PixelType OutputImagePixelType
typename OutputImageType::RegionType OutputImageRegionType
TOutputImage OutputImageType
typename OutputImageType::Pointer OutputImagePointer
Base class for filters that take an image as input and produce an image as output.
typename InputImageType::Pointer InputImagePointer
typename InputImageType::PixelType InputImagePixelType
typename InputImageType::RegionType InputImageRegionType
Control indentation during Print() invocation.
Definition: itkIndent.h:50
Returns true if the pixel value of a vector image has a Mahalanobis distance below the value specifie...
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
Segment pixels with similar statistics using connectivity.
const CovarianceMatrixType & GetCovariance() const
virtual const SeedsContainerType & GetSeeds() const
void AddSeed(const IndexType &seed)
void SetSeed(const IndexType &seed)
void EnlargeOutputRequestedRegion(DataObject *output) override
void PrintSelf(std::ostream &os, Indent indent) const override
typename DistanceThresholdFunctionType::CovarianceMatrixType CovarianceMatrixType
typename DistanceThresholdFunctionType::MeanVectorType MeanVectorType
const MeanVectorType & GetMean() const
typename DistanceThresholdFunctionType::Pointer DistanceThresholdFunctionPointer
SmartPointer< Self > Pointer
#define itkConceptMacro(name, concept)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....