SimpleITK  1.1.0
sitkShapeDetectionLevelSetImageFilter.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 sitkShapeDetectionLevelSetImageFilter_h
19 #define sitkShapeDetectionLevelSetImageFilter_h
20 
21 /*
22  * WARNING: DO NOT EDIT THIS FILE!
23  * THIS FILE IS AUTOMATICALLY GENERATED BY THE SIMPLEITK BUILD PROCESS.
24  * Please look at sitkImageFilterTemplate.h.in to make changes.
25  */
26 
27 #include <memory>
28 
29 #include "sitkBasicFilters.h"
30 #include "sitkImageFilter.h"
31 
32 namespace itk {
33  namespace simple {
34 
85  public:
87 
90 
94 
97 
98 
99 
102  SITK_RETURN_SELF_TYPE_HEADER SetMaximumRMSError ( double MaximumRMSError ) { this->m_MaximumRMSError = MaximumRMSError; return *this; }
103 
106  double GetMaximumRMSError() const { return this->m_MaximumRMSError; }
107 
110  SITK_RETURN_SELF_TYPE_HEADER SetPropagationScaling ( double PropagationScaling ) { this->m_PropagationScaling = PropagationScaling; return *this; }
111 
114  double GetPropagationScaling() const { return this->m_PropagationScaling; }
115 
118  SITK_RETURN_SELF_TYPE_HEADER SetCurvatureScaling ( double CurvatureScaling ) { this->m_CurvatureScaling = CurvatureScaling; return *this; }
119 
122  double GetCurvatureScaling() const { return this->m_CurvatureScaling; }
123 
126  SITK_RETURN_SELF_TYPE_HEADER SetNumberOfIterations ( uint32_t NumberOfIterations ) { this->m_NumberOfIterations = NumberOfIterations; return *this; }
127 
130  uint32_t GetNumberOfIterations() const { return this->m_NumberOfIterations; }
131 
134  SITK_RETURN_SELF_TYPE_HEADER SetReverseExpansionDirection ( bool ReverseExpansionDirection ) { this->m_ReverseExpansionDirection = ReverseExpansionDirection; return *this; }
135 
137  SITK_RETURN_SELF_TYPE_HEADER ReverseExpansionDirectionOn() { return this->SetReverseExpansionDirection(true); }
138  SITK_RETURN_SELF_TYPE_HEADER ReverseExpansionDirectionOff() { return this->SetReverseExpansionDirection(false); }
139 
142  bool GetReverseExpansionDirection() const { return this->m_ReverseExpansionDirection; }
149  uint32_t GetElapsedIterations() const { return this->m_ElapsedIterations; };
150 
157  double GetRMSChange() const { return this->m_RMSChange; };
158 
160  std::string GetName() const { return std::string ("ShapeDetectionLevelSetImageFilter"); }
161 
163  std::string ToString() const;
164 
165 
167  Image Execute ( const Image& image1, const Image& image2 );
168 
169 
171  Image Execute ( const Image& image1, const Image& image2, double maximumRMSError, double propagationScaling, double curvatureScaling, uint32_t numberOfIterations, bool reverseExpansionDirection );
172 
173  private:
174 
177  typedef Image (Self::*MemberFunctionType)( const Image& image1, const Image& image2 );
178  template <class TImageType> Image ExecuteInternal ( const Image& image1, const Image& image2 );
179 
180 
181  friend struct detail::MemberFunctionAddressor<MemberFunctionType>;
182 
183  nsstd::auto_ptr<detail::MemberFunctionFactory<MemberFunctionType> > m_MemberFactory;
184 
185 
186  /* Value of RMS change below which the filter should stop. This is a convergence criterion. */
188  /* Weight of direct propagation contribution to the speed term */
190  /* Weight of the curvature contribution to the speed term */
192  /* Number of iterations to run */
194  /* Turn On/Off the flag which determines whether Positive or Negative speed terms will cause surface expansion. If set to TRUE then negative speed terms will cause the surface to expand and positive speed terms will cause the surface to contract. If set to FALSE (default) then positive speed terms will cause the surface to expand and negative speed terms will cause the surface to contract. This method can be safely used to reverse the expansion/contraction as appropriate to a particular application or data set. */
196  /* Level Set filter that uses propagation and curvature terms. */
198  /* Level Set filter that uses propagation and curvature terms. */
199  double m_RMSChange;
200 
201  };
202 
203 
212  SITKBasicFilters_EXPORT Image ShapeDetectionLevelSet ( const Image& image1, const Image& image2, double maximumRMSError = 0.02, double propagationScaling = 1.0, double curvatureScaling = 1.0, uint32_t numberOfIterations = 1000u, bool reverseExpansionDirection = false );
213 
214  }
215 }
216 #endif
itk::simple::Image
The main Image class for SimpleITK.
Definition: sitkImage.h:54
sitkBasicFilters.h
itk::simple::ShapeDetectionLevelSetImageFilter::m_MemberFactory
nsstd::auto_ptr< detail::MemberFunctionFactory< MemberFunctionType > > m_MemberFactory
Definition: sitkShapeDetectionLevelSetImageFilter.h:183
itk::simple::ShapeDetectionLevelSetImageFilter::GetRMSChange
double GetRMSChange() const
The Root Mean Square of the levelset upon termination.
Definition: sitkShapeDetectionLevelSetImageFilter.h:157
itk::simple::detail::MemberFunctionAddressor
Definition: sitkDetail.h:32
itk::simple::ShapeDetectionLevelSetImageFilter::GetElapsedIterations
uint32_t GetElapsedIterations() const
Number of iterations run.
Definition: sitkShapeDetectionLevelSetImageFilter.h:149
itk::simple::RealPixelIDTypeList
typelist::MakeTypeList< BasicPixelID< float >, BasicPixelID< double > >::Type RealPixelIDTypeList
Definition: sitkPixelIDTypeLists.h:96
itk::simple::ShapeDetectionLevelSetImageFilter
Segments structures in images based on a user supplied edge potential map.
Definition: sitkShapeDetectionLevelSetImageFilter.h:84
itk::simple::ShapeDetectionLevelSetImageFilter::m_MaximumRMSError
double m_MaximumRMSError
Definition: sitkShapeDetectionLevelSetImageFilter.h:187
itk::simple::ShapeDetectionLevelSetImageFilter::SetNumberOfIterations
Self & SetNumberOfIterations(uint32_t NumberOfIterations)
Definition: sitkShapeDetectionLevelSetImageFilter.h:126
itk::simple::ShapeDetectionLevelSetImageFilter::GetMaximumRMSError
double GetMaximumRMSError() const
Definition: sitkShapeDetectionLevelSetImageFilter.h:106
itk::simple::ShapeDetectionLevelSetImageFilter::m_ElapsedIterations
uint32_t m_ElapsedIterations
Definition: sitkShapeDetectionLevelSetImageFilter.h:197
sitkImageFilter.h
itk::simple::ShapeDetectionLevelSetImageFilter::m_ReverseExpansionDirection
bool m_ReverseExpansionDirection
Definition: sitkShapeDetectionLevelSetImageFilter.h:195
itk::simple::ShapeDetectionLevelSetImageFilter::PixelIDTypeList
RealPixelIDTypeList PixelIDTypeList
Definition: sitkShapeDetectionLevelSetImageFilter.h:96
itk::simple::ShapeDetectionLevelSetImageFilter::ReverseExpansionDirectionOn
Self & ReverseExpansionDirectionOn()
Definition: sitkShapeDetectionLevelSetImageFilter.h:137
itk::simple::ShapeDetectionLevelSetImageFilter::ReverseExpansionDirectionOff
Self & ReverseExpansionDirectionOff()
Definition: sitkShapeDetectionLevelSetImageFilter.h:138
itk::simple::ShapeDetectionLevelSetImageFilter::GetReverseExpansionDirection
bool GetReverseExpansionDirection() const
Definition: sitkShapeDetectionLevelSetImageFilter.h:142
itk::simple::ShapeDetectionLevelSetImageFilter::GetNumberOfIterations
uint32_t GetNumberOfIterations() const
Definition: sitkShapeDetectionLevelSetImageFilter.h:130
itk::simple::ShapeDetectionLevelSetImageFilter::SetMaximumRMSError
Self & SetMaximumRMSError(double MaximumRMSError)
Definition: sitkShapeDetectionLevelSetImageFilter.h:102
itk::simple::ShapeDetectionLevelSetImageFilter::GetPropagationScaling
double GetPropagationScaling() const
Definition: sitkShapeDetectionLevelSetImageFilter.h:114
itk::simple::ShapeDetectionLevelSetImageFilter::Self
ShapeDetectionLevelSetImageFilter Self
Definition: sitkShapeDetectionLevelSetImageFilter.h:86
SITKBasicFilters_EXPORT
#define SITKBasicFilters_EXPORT
Definition: sitkBasicFilters.h:50
itk::simple::ShapeDetectionLevelSetImageFilter::m_NumberOfIterations
uint32_t m_NumberOfIterations
Definition: sitkShapeDetectionLevelSetImageFilter.h:193
itk::simple::ShapeDetectionLevelSetImageFilter::m_RMSChange
double m_RMSChange
Definition: sitkShapeDetectionLevelSetImageFilter.h:199
itk::simple::ShapeDetectionLevelSet
Image ShapeDetectionLevelSet(const Image &image1, const Image &image2, double maximumRMSError=0.02, double propagationScaling=1.0, double curvatureScaling=1.0, uint32_t numberOfIterations=1000u, bool reverseExpansionDirection=false)
Segments structures in images based on a user supplied edge potential map.
itk::simple::ShapeDetectionLevelSetImageFilter::m_PropagationScaling
double m_PropagationScaling
Definition: sitkShapeDetectionLevelSetImageFilter.h:189
itk
itk::simple::ShapeDetectionLevelSetImageFilter::GetCurvatureScaling
double GetCurvatureScaling() const
Definition: sitkShapeDetectionLevelSetImageFilter.h:122
itk::simple::ShapeDetectionLevelSetImageFilter::GetName
std::string GetName() const
Definition: sitkShapeDetectionLevelSetImageFilter.h:160
itk::simple::ImageFilter
The base interface for SimpleITK filters that take one input image.
Definition: sitkImageFilter.h:37
itk::simple::ProcessObject
Base class for SimpleITK classes based on ProcessObject.
Definition: sitkProcessObject.h:50
itk::simple::ShapeDetectionLevelSetImageFilter::SetPropagationScaling
Self & SetPropagationScaling(double PropagationScaling)
Definition: sitkShapeDetectionLevelSetImageFilter.h:110
itk::uint32_t
::uint32_t uint32_t
itk::simple::ShapeDetectionLevelSetImageFilter::m_CurvatureScaling
double m_CurvatureScaling
Definition: sitkShapeDetectionLevelSetImageFilter.h:191
itk::simple::ShapeDetectionLevelSetImageFilter::SetReverseExpansionDirection
Self & SetReverseExpansionDirection(bool ReverseExpansionDirection)
Definition: sitkShapeDetectionLevelSetImageFilter.h:134
itk::simple::ShapeDetectionLevelSetImageFilter::SetCurvatureScaling
Self & SetCurvatureScaling(double CurvatureScaling)
Definition: sitkShapeDetectionLevelSetImageFilter.h:118