SimpleITK  1.3.0.dev466
sitkFastMarchingBaseImageFilter.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 sitkFastMarchingBaseImageFilter_h
19 #define sitkFastMarchingBaseImageFilter_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 sitkFastMarchingImageFilterTemplate.h.in to make changes.
25  */
26 
27 #include <memory>
28 
29 #include "sitkImageFilter.h"
30 #include "sitkBasicFilters.h"
31 
32 namespace itk {
33  namespace simple {
34 
84  public:
86 
88  virtual ~FastMarchingBaseImageFilter();
89 
93 
96 
97 
98 
102  SITK_RETURN_SELF_TYPE_HEADER SetNormalizationFactor ( double NormalizationFactor ) { this->m_NormalizationFactor = NormalizationFactor; return *this; }
103 
107  double GetNormalizationFactor() const { return this->m_NormalizationFactor; }
108 
112  SITK_RETURN_SELF_TYPE_HEADER SetStoppingValue ( double StoppingValue ) { this->m_StoppingValue = StoppingValue; return *this; }
113 
117  double GetStoppingValue() const { return this->m_StoppingValue; }
118 
119  typedef enum {Nothing,NoHandles,Strict} TopologyCheckType;
120 
123  SITK_RETURN_SELF_TYPE_HEADER SetTopologyCheck ( TopologyCheckType TopologyCheck ) { this->m_TopologyCheck = TopologyCheck; return *this; }
124 
127  TopologyCheckType GetTopologyCheck() const { return this->m_TopologyCheck; }
129  SITK_RETURN_SELF_TYPE_HEADER SetTrialPoints ( std::vector< std::vector<unsigned int> > t )
130  {
131  this->m_TrialPoints = t; return *this;
132  }
133 
135  SITK_RETURN_SELF_TYPE_HEADER AddTrialPoint( std::vector<unsigned int> t )
136  {
137  this->m_TrialPoints.push_back( t ); return *this;
138  }
139 
141  SITK_RETURN_SELF_TYPE_HEADER ClearTrialPoints( )
142  {
143  this->m_TrialPoints.clear(); return *this;
144  }
145 
147  std::vector< std::vector<unsigned int> > GetTrialPoints() const
148  {
149  return this->m_TrialPoints;
150  }
151 
153  std::string GetName() const { return std::string ("FastMarchingBaseImageFilter"); }
154 
156  std::string ToString() const;
157 
158 
160  Image Execute ( const Image& image1 );
162  Image Execute ( const Image&,
163  std::vector< std::vector<unsigned int> > trialPoints, double normalizationFactor, double stoppingValue, FastMarchingBaseImageFilter::TopologyCheckType topologyCheck );
164 
165 
166 
167  private:
168 
171  typedef Image (Self::*MemberFunctionType)( const Image& image1 );
172  template <class TImageType> Image ExecuteInternal ( const Image& image1 );
173 
174 
175  friend struct detail::MemberFunctionAddressor<MemberFunctionType>;
176 
177  nsstd::auto_ptr<detail::MemberFunctionFactory<MemberFunctionType> > m_MemberFactory;
178 
179 
182  /* */
184 
186  std::vector< std::vector<unsigned int> > m_TrialPoints;
187 
188  };
189 
197  std::vector< std::vector<unsigned int> > trialPoints, double normalizationFactor = 1.0, double stoppingValue = std::numeric_limits<float>::max()/2.0, FastMarchingBaseImageFilter::TopologyCheckType topologyCheck = itk::simple::FastMarchingBaseImageFilter::Nothing );
198 
199  } // end namespace simple
200 } // end namespace itk
201 #endif
Self & SetTopologyCheck(TopologyCheckType TopologyCheck)
#define SITKBasicFilters_EXPORT
Self & SetNormalizationFactor(double NormalizationFactor)
Self & AddTrialPoint(std::vector< unsigned int > t)
Self & SetTrialPoints(std::vector< std::vector< unsigned int > > t)
typelist::MakeTypeList< BasicPixelID< int8_t >, BasicPixelID< uint8_t >, BasicPixelID< int16_t >, BasicPixelID< uint16_t >, BasicPixelID< int32_t >, BasicPixelID< uint32_t >, BasicPixelID< float >, BasicPixelID< double > >::Type BasicPixelIDTypeList
std::vector< std::vector< unsigned int > > GetTrialPoints() const
nsstd::auto_ptr< detail::MemberFunctionFactory< MemberFunctionType > > m_MemberFactory
std::vector< std::vector< unsigned int > > m_TrialPoints
Image FastMarchingBase(const Image &imageA, std::vector< std::vector< unsigned int > > trialPoints, double normalizationFactor=1.0, double stoppingValue=std::numeric_limits< float >::max()/2.0, FastMarchingBaseImageFilter::TopologyCheckType topologyCheck=itk::simple::FastMarchingBaseImageFilter::Nothing)
The Image class for SimpleITK.
Definition: sitkImage.h:78
Apply the Fast Marching method to solve an Eikonal equation on an image.
The base interface for SimpleITK filters that take one input image.