ITK 6.0.0
Insight Toolkit
 
Loading...
Searching...
No Matches
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;
78 using InputImagePointer = typename InputImageType::Pointer;
79 using InputImageRegionType = typename InputImageType::RegionType;
80 using InputImagePixelType = typename InputImageType::PixelType;
81 using IndexType = typename InputImageType::IndexType;
82 using SizeType = typename InputImageType::SizeType;
83
84 using OutputImageType = TOutputImage;
85 using OutputImagePointer = typename OutputImageType::Pointer;
86 using OutputImageRegionType = typename OutputImageType::RegionType;
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);
118
120 itkSetMacro(NumberOfIterations, unsigned int);
121 itkGetConstMacro(NumberOfIterations, unsigned int);
123
125 itkSetMacro(ReplaceValue, OutputImagePixelType);
126 itkGetConstMacro(ReplaceValue, OutputImagePixelType);
128
131 itkSetMacro(InitialNeighborhoodRadius, unsigned int);
132 itkGetConstReferenceMacro(InitialNeighborhoodRadius, unsigned int);
134
136 const MeanVectorType &
137 GetMean() const;
138
142
144 virtual const SeedsContainerType &
145 GetSeeds() const;
146
150
151protected:
153
154 // Override since the filter needs all the data for the algorithm
155 void
157
158 // Override since the filter produces the entire dataset
159 void
161
162 void
163 GenerateData() override;
164
165private:
167 double m_Multiplier{};
168 unsigned int m_NumberOfIterations{};
171
173};
174} // end namespace itk
175
176#ifndef ITK_MANUAL_INSTANTIATION
177# include "itkVectorConfidenceConnectedImageFilter.hxx"
178#endif
179
180#endif
Base class for all data objects in ITK.
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...
Implements transparent reference counting.
const CovarianceMatrixType & GetCovariance() const
virtual const SeedsContainerType & GetSeeds() const
void AddSeed(const IndexType &seed)
ImageToImageFilter< TInputImage, TOutputImage > Superclass
void SetSeed(const IndexType &seed)
MahalanobisDistanceThresholdImageFunction< InputImageType > DistanceThresholdFunctionType
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
#define itkConceptMacro(name, concept)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....