ITK  5.4.0
Insight Toolkit
itkVectorThresholdSegmentationLevelSetImageFilter.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 itkVectorThresholdSegmentationLevelSetImageFilter_h
19 #define itkVectorThresholdSegmentationLevelSetImageFilter_h
20 
24 
25 namespace itk
26 {
89 template <typename TInputImage, typename TFeatureImage, typename TOutputPixelType = float>
91  : public SegmentationLevelSetImageFilter<TInputImage, TFeatureImage, TOutputPixelType>
92 {
93 public:
94  ITK_DISALLOW_COPY_AND_MOVE(VectorThresholdSegmentationLevelSetImageFilter);
95 
101 
103  using typename Superclass::ValueType;
104  using typename Superclass::OutputImageType;
105  using typename Superclass::FeatureImageType;
106 
113 
115  itkOverrideGetNameOfClassMacro(VectorThresholdSegmentationLevelSetImageFilter);
116 
118  itkNewMacro(Self);
119 
122  void
123  SetMean(const MeanVectorType & mean)
124  {
125  m_ThresholdFunction->SetMean(mean);
126  this->Modified();
127  }
130  const MeanVectorType &
131  GetMean() const
132  {
133  return m_ThresholdFunction->GetMean();
134  }
135 
136  void
138  {
139  m_ThresholdFunction->SetCovariance(cov);
140  this->Modified();
141  }
142 
143  const CovarianceMatrixType &
145  {
146  return m_ThresholdFunction->GetCovariance();
147  }
148 
150  void
152  {
153  m_ThresholdFunction->SetThreshold(thr);
154  this->Modified();
155  }
158  ScalarValueType
160  {
161  return m_ThresholdFunction->GetThreshold();
162  }
163 
164 protected:
167 
168  void
169  PrintSelf(std::ostream & os, Indent indent) const override;
170 
171 private:
172  ThresholdFunctionPointer m_ThresholdFunction{};
173 };
174 } // end namespace itk
175 
176 #ifndef ITK_MANUAL_INSTANTIATION
177 # include "itkVectorThresholdSegmentationLevelSetImageFilter.hxx"
178 #endif
179 
180 #endif
itk::SegmentationLevelSetImageFilter
A base class which defines the API for implementing a special class of image segmentation filters usi...
Definition: itkSegmentationLevelSetImageFilter.h:144
Pointer
SmartPointer< Self > Pointer
Definition: itkAddImageFilter.h:93
itk::VectorThresholdSegmentationLevelSetImageFilter::SetMean
void SetMean(const MeanVectorType &mean)
Definition: itkVectorThresholdSegmentationLevelSetImageFilter.h:123
itkVectorThresholdSegmentationLevelSetFunction.h
itk::VectorThresholdSegmentationLevelSetImageFilter::ScalarValueType
typename ThresholdFunctionType::ScalarValueType ScalarValueType
Definition: itkVectorThresholdSegmentationLevelSetImageFilter.h:112
itk::VectorThresholdSegmentationLevelSetImageFilter::SetThreshold
void SetThreshold(ScalarValueType thr)
Definition: itkVectorThresholdSegmentationLevelSetImageFilter.h:151
itkNumericTraitsVectorPixel.h
itk::VectorThresholdSegmentationLevelSetImageFilter::GetMean
const MeanVectorType & GetMean() const
Definition: itkVectorThresholdSegmentationLevelSetImageFilter.h:131
itk::SmartPointer< Self >
itk::Indent
Control indentation during Print() invocation.
Definition: itkIndent.h:49
itk::VectorThresholdSegmentationLevelSetImageFilter
Segments structures in images based on intensity values.
Definition: itkVectorThresholdSegmentationLevelSetImageFilter.h:90
itkSegmentationLevelSetImageFilter.h
itk::LightObject
Light weight base class for most itk classes.
Definition: itkLightObject.h:55
itk::VectorThresholdSegmentationLevelSetImageFilter::GetThreshold
ScalarValueType GetThreshold()
Definition: itkVectorThresholdSegmentationLevelSetImageFilter.h:159
itk::VectorThresholdSegmentationLevelSetImageFilter::MeanVectorType
typename ThresholdFunctionType::MeanVectorType MeanVectorType
Definition: itkVectorThresholdSegmentationLevelSetImageFilter.h:110
itk::VectorThresholdSegmentationLevelSetImageFilter::GetCovariance
const CovarianceMatrixType & GetCovariance() const
Definition: itkVectorThresholdSegmentationLevelSetImageFilter.h:144
itk::VectorThresholdSegmentationLevelSetImageFilter::SetCovariance
void SetCovariance(const CovarianceMatrixType &cov)
Definition: itkVectorThresholdSegmentationLevelSetImageFilter.h:137
itk::VectorThresholdSegmentationLevelSetFunction::CovarianceMatrixType
typename MahalanobisFunctionType::CovarianceMatrixType CovarianceMatrixType
Definition: itkVectorThresholdSegmentationLevelSetFunction.h:93
itk::LevelSetFunction::ScalarValueType
PixelType ScalarValueType
Definition: itkLevelSetFunction.h:90
itk
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
Definition: itkAnnulusOperator.h:24
itk::VectorThresholdSegmentationLevelSetImageFilter::ThresholdFunctionPointer
typename ThresholdFunctionType::Pointer ThresholdFunctionPointer
Definition: itkVectorThresholdSegmentationLevelSetImageFilter.h:109
itk::VectorThresholdSegmentationLevelSetFunction
This function is used in VectorThresholdSegmentationLevelSetImageFilter to segment structures in imag...
Definition: itkVectorThresholdSegmentationLevelSetFunction.h:58
itk::VectorThresholdSegmentationLevelSetFunction::MeanVectorType
typename MahalanobisFunctionType::MeanVectorType MeanVectorType
Definition: itkVectorThresholdSegmentationLevelSetFunction.h:92
itk::VectorThresholdSegmentationLevelSetImageFilter::CovarianceMatrixType
typename ThresholdFunctionType::CovarianceMatrixType CovarianceMatrixType
Definition: itkVectorThresholdSegmentationLevelSetImageFilter.h:111