ITK  5.0.0
Insight Segmentation and Registration Toolkit
itkCurvesLevelSetImageFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2  *
3  * Copyright Insight Software Consortium
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  * http://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 itkCurvesLevelSetImageFilter_h
19 #define itkCurvesLevelSetImageFilter_h
20 
23 
24 namespace itk
25 {
101 template< typename TInputImage,
102  typename TFeatureImage,
103  typename TOutputPixelType = float >
104 class ITK_TEMPLATE_EXPORT CurvesLevelSetImageFilter:
105  public SegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >
106 {
107 public:
108  ITK_DISALLOW_COPY_AND_ASSIGN(CurvesLevelSetImageFilter);
109 
115 
117  using ValueType = typename Superclass::ValueType;
118  using OutputImageType = typename Superclass::OutputImageType;
119  using FeatureImageType = typename Superclass::FeatureImageType;
120 
124 
127 
129  itkNewMacro(Self);
130 
132  void SetDerivativeSigma(float value)
133  {
134  m_CurvesFunction->SetDerivativeSigma(value);
135  this->Modified();
136  }
138 
139  float GetDerivativeSigma() const
140  { return m_CurvesFunction->GetDerivativeSigma(); }
141 
142 #ifdef ITK_USE_CONCEPT_CHECKING
143  // Begin concept checking
144  itkConceptMacro( OutputHasNumericTraitsCheck,
146  // End concept checking
147 #endif
148 
149 protected:
150  ~CurvesLevelSetImageFilter() override = default;
152 
153  void PrintSelf(std::ostream & os, Indent indent) const override;
154 
157  void GenerateData() override;
158 
159 private:
161 };
162 } // end namespace itk
163 
164 #ifndef ITK_MANUAL_INSTANTIATION
165 #include "itkCurvesLevelSetImageFilter.hxx"
166 #endif
167 
168 #endif
typename Superclass::OutputImageType OutputImageType
Light weight base class for most itk classes.
typename Superclass::FeatureImageType FeatureImageType
typename CurvesFunctionType::Pointer CurvesFunctionPointer
Segments structures in images based on user supplied edge potential map.
This function is used in CurvesLevelSetImageFilter to segment structures in images based on user supp...
Control indentation during Print() invocation.
Definition: itkIndent.h:49
typename Superclass::ValueType ValueType
#define itkConceptMacro(name, concept)
A base class which defines the API for implementing a special class of image segmentation filters usi...