SimpleITK  1.1.0
sitkGeodesicActiveContourLevelSetImageFilter.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 sitkGeodesicActiveContourLevelSetImageFilter_h
19 #define sitkGeodesicActiveContourLevelSetImageFilter_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 
83  public:
85 
88 
92 
95 
96 
97 
100  SITK_RETURN_SELF_TYPE_HEADER SetMaximumRMSError ( double MaximumRMSError ) { this->m_MaximumRMSError = MaximumRMSError; return *this; }
101 
104  double GetMaximumRMSError() const { return this->m_MaximumRMSError; }
105 
108  SITK_RETURN_SELF_TYPE_HEADER SetPropagationScaling ( double PropagationScaling ) { this->m_PropagationScaling = PropagationScaling; return *this; }
109 
112  double GetPropagationScaling() const { return this->m_PropagationScaling; }
113 
116  SITK_RETURN_SELF_TYPE_HEADER SetCurvatureScaling ( double CurvatureScaling ) { this->m_CurvatureScaling = CurvatureScaling; return *this; }
117 
120  double GetCurvatureScaling() const { return this->m_CurvatureScaling; }
121 
124  SITK_RETURN_SELF_TYPE_HEADER SetAdvectionScaling ( double AdvectionScaling ) { this->m_AdvectionScaling = AdvectionScaling; return *this; }
125 
128  double GetAdvectionScaling() const { return this->m_AdvectionScaling; }
129 
132  SITK_RETURN_SELF_TYPE_HEADER SetNumberOfIterations ( uint32_t NumberOfIterations ) { this->m_NumberOfIterations = NumberOfIterations; return *this; }
133 
136  uint32_t GetNumberOfIterations() const { return this->m_NumberOfIterations; }
137 
140  SITK_RETURN_SELF_TYPE_HEADER SetReverseExpansionDirection ( bool ReverseExpansionDirection ) { this->m_ReverseExpansionDirection = ReverseExpansionDirection; return *this; }
141 
143  SITK_RETURN_SELF_TYPE_HEADER ReverseExpansionDirectionOn() { return this->SetReverseExpansionDirection(true); }
144  SITK_RETURN_SELF_TYPE_HEADER ReverseExpansionDirectionOff() { return this->SetReverseExpansionDirection(false); }
145 
148  bool GetReverseExpansionDirection() const { return this->m_ReverseExpansionDirection; }
155  uint32_t GetElapsedIterations() const { return this->m_ElapsedIterations; };
156 
163  double GetRMSChange() const { return this->m_RMSChange; };
164 
166  std::string GetName() const { return std::string ("GeodesicActiveContourLevelSetImageFilter"); }
167 
169  std::string ToString() const;
170 
171 
173  Image Execute ( const Image& image1, const Image& image2 );
174 
175 
177  Image Execute ( const Image& image1, const Image& image2, double maximumRMSError, double propagationScaling, double curvatureScaling, double advectionScaling, uint32_t numberOfIterations, bool reverseExpansionDirection );
178 
179  private:
180 
183  typedef Image (Self::*MemberFunctionType)( const Image& image1, const Image& image2 );
184  template <class TImageType> Image ExecuteInternal ( const Image& image1, const Image& image2 );
185 
186 
187  friend struct detail::MemberFunctionAddressor<MemberFunctionType>;
188 
189  nsstd::auto_ptr<detail::MemberFunctionFactory<MemberFunctionType> > m_MemberFactory;
190 
191 
192  /* Value of RMS change below which the filter should stop. This is a convergence criterion. */
194  /* Weight of direct propagation contribution to the speed term */
196  /* Weight of the curvature contribution to the speed term */
198  /* Weight of the advection contribution to the speed term */
200  /* Number of iterations to run */
202  /* 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. */
204  /* Level Set filter that uses propagation, curvature and advection terms. */
206  /* Level Set filter that uses propagation, curvature and advection terms. */
207  double m_RMSChange;
208 
209  };
210 
211 
220  SITKBasicFilters_EXPORT Image GeodesicActiveContourLevelSet ( const Image& image1, const Image& image2, double maximumRMSError = 0.01, double propagationScaling = 1.0, double curvatureScaling = 1.0, double advectionScaling = 1.0, uint32_t numberOfIterations = 1000u, bool reverseExpansionDirection = false );
221 
222  }
223 }
224 #endif
itk::simple::Image
The main Image class for SimpleITK.
Definition: sitkImage.h:54
itk::simple::GeodesicActiveContourLevelSetImageFilter::m_ReverseExpansionDirection
bool m_ReverseExpansionDirection
Definition: sitkGeodesicActiveContourLevelSetImageFilter.h:203
sitkBasicFilters.h
itk::simple::GeodesicActiveContourLevelSetImageFilter::SetCurvatureScaling
Self & SetCurvatureScaling(double CurvatureScaling)
Definition: sitkGeodesicActiveContourLevelSetImageFilter.h:116
itk::simple::GeodesicActiveContourLevelSetImageFilter::GetPropagationScaling
double GetPropagationScaling() const
Definition: sitkGeodesicActiveContourLevelSetImageFilter.h:112
itk::simple::detail::MemberFunctionAddressor
Definition: sitkDetail.h:32
itk::simple::RealPixelIDTypeList
typelist::MakeTypeList< BasicPixelID< float >, BasicPixelID< double > >::Type RealPixelIDTypeList
Definition: sitkPixelIDTypeLists.h:96
itk::simple::GeodesicActiveContourLevelSetImageFilter::m_MemberFactory
nsstd::auto_ptr< detail::MemberFunctionFactory< MemberFunctionType > > m_MemberFactory
Definition: sitkGeodesicActiveContourLevelSetImageFilter.h:189
itk::simple::GeodesicActiveContourLevelSetImageFilter::PixelIDTypeList
RealPixelIDTypeList PixelIDTypeList
Definition: sitkGeodesicActiveContourLevelSetImageFilter.h:94
itk::simple::GeodesicActiveContourLevelSetImageFilter::GetRMSChange
double GetRMSChange() const
The Root Mean Square of the levelset upon termination.
Definition: sitkGeodesicActiveContourLevelSetImageFilter.h:163
itk::simple::GeodesicActiveContourLevelSet
Image GeodesicActiveContourLevelSet(const Image &image1, const Image &image2, double maximumRMSError=0.01, double propagationScaling=1.0, double curvatureScaling=1.0, double advectionScaling=1.0, uint32_t numberOfIterations=1000u, bool reverseExpansionDirection=false)
Segments structures in images based on a user supplied edge potential map.
sitkImageFilter.h
itk::simple::GeodesicActiveContourLevelSetImageFilter::SetReverseExpansionDirection
Self & SetReverseExpansionDirection(bool ReverseExpansionDirection)
Definition: sitkGeodesicActiveContourLevelSetImageFilter.h:140
itk::simple::GeodesicActiveContourLevelSetImageFilter::Self
GeodesicActiveContourLevelSetImageFilter Self
Definition: sitkGeodesicActiveContourLevelSetImageFilter.h:84
itk::simple::GeodesicActiveContourLevelSetImageFilter::m_ElapsedIterations
uint32_t m_ElapsedIterations
Definition: sitkGeodesicActiveContourLevelSetImageFilter.h:205
itk::simple::GeodesicActiveContourLevelSetImageFilter::m_NumberOfIterations
uint32_t m_NumberOfIterations
Definition: sitkGeodesicActiveContourLevelSetImageFilter.h:201
itk::simple::GeodesicActiveContourLevelSetImageFilter::SetNumberOfIterations
Self & SetNumberOfIterations(uint32_t NumberOfIterations)
Definition: sitkGeodesicActiveContourLevelSetImageFilter.h:132
itk::simple::GeodesicActiveContourLevelSetImageFilter::SetPropagationScaling
Self & SetPropagationScaling(double PropagationScaling)
Definition: sitkGeodesicActiveContourLevelSetImageFilter.h:108
itk::simple::GeodesicActiveContourLevelSetImageFilter::m_MaximumRMSError
double m_MaximumRMSError
Definition: sitkGeodesicActiveContourLevelSetImageFilter.h:193
itk::simple::GeodesicActiveContourLevelSetImageFilter::m_CurvatureScaling
double m_CurvatureScaling
Definition: sitkGeodesicActiveContourLevelSetImageFilter.h:197
itk::simple::GeodesicActiveContourLevelSetImageFilter
Segments structures in images based on a user supplied edge potential map.
Definition: sitkGeodesicActiveContourLevelSetImageFilter.h:82
itk::simple::GeodesicActiveContourLevelSetImageFilter::m_AdvectionScaling
double m_AdvectionScaling
Definition: sitkGeodesicActiveContourLevelSetImageFilter.h:199
itk::simple::GeodesicActiveContourLevelSetImageFilter::m_PropagationScaling
double m_PropagationScaling
Definition: sitkGeodesicActiveContourLevelSetImageFilter.h:195
itk::simple::GeodesicActiveContourLevelSetImageFilter::GetCurvatureScaling
double GetCurvatureScaling() const
Definition: sitkGeodesicActiveContourLevelSetImageFilter.h:120
itk::simple::GeodesicActiveContourLevelSetImageFilter::GetName
std::string GetName() const
Definition: sitkGeodesicActiveContourLevelSetImageFilter.h:166
itk::simple::GeodesicActiveContourLevelSetImageFilter::ReverseExpansionDirectionOn
Self & ReverseExpansionDirectionOn()
Definition: sitkGeodesicActiveContourLevelSetImageFilter.h:143
SITKBasicFilters_EXPORT
#define SITKBasicFilters_EXPORT
Definition: sitkBasicFilters.h:50
itk::simple::GeodesicActiveContourLevelSetImageFilter::GetMaximumRMSError
double GetMaximumRMSError() const
Definition: sitkGeodesicActiveContourLevelSetImageFilter.h:104
itk::simple::GeodesicActiveContourLevelSetImageFilter::GetNumberOfIterations
uint32_t GetNumberOfIterations() const
Definition: sitkGeodesicActiveContourLevelSetImageFilter.h:136
itk::simple::GeodesicActiveContourLevelSetImageFilter::GetReverseExpansionDirection
bool GetReverseExpansionDirection() const
Definition: sitkGeodesicActiveContourLevelSetImageFilter.h:148
itk::simple::GeodesicActiveContourLevelSetImageFilter::GetElapsedIterations
uint32_t GetElapsedIterations() const
Number of iterations run.
Definition: sitkGeodesicActiveContourLevelSetImageFilter.h:155
itk
itk::simple::GeodesicActiveContourLevelSetImageFilter::GetAdvectionScaling
double GetAdvectionScaling() const
Definition: sitkGeodesicActiveContourLevelSetImageFilter.h:128
itk::simple::GeodesicActiveContourLevelSetImageFilter::m_RMSChange
double m_RMSChange
Definition: sitkGeodesicActiveContourLevelSetImageFilter.h:207
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::GeodesicActiveContourLevelSetImageFilter::SetMaximumRMSError
Self & SetMaximumRMSError(double MaximumRMSError)
Definition: sitkGeodesicActiveContourLevelSetImageFilter.h:100
itk::uint32_t
::uint32_t uint32_t
itk::simple::GeodesicActiveContourLevelSetImageFilter::ReverseExpansionDirectionOff
Self & ReverseExpansionDirectionOff()
Definition: sitkGeodesicActiveContourLevelSetImageFilter.h:144
itk::simple::GeodesicActiveContourLevelSetImageFilter::SetAdvectionScaling
Self & SetAdvectionScaling(double AdvectionScaling)
Definition: sitkGeodesicActiveContourLevelSetImageFilter.h:124