SimpleITK  1.3.0.dev466
sitkSmoothingRecursiveGaussianImageFilter.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 sitkSmoothingRecursiveGaussianImageFilter_h
19 #define sitkSmoothingRecursiveGaussianImageFilter_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 
45  public:
47 
50 
54 
56  typedef typelist::Append<BasicPixelIDTypeList, VectorPixelIDTypeList>::Type PixelIDTypeList;
57 
58 
59 
63  SITK_RETURN_SELF_TYPE_HEADER SetSigma ( const std::vector<double> & Sigma ) { this->m_Sigma = Sigma; return *this; }
64 
66  SITK_RETURN_SELF_TYPE_HEADER SetSigma( double value ) { this->m_Sigma = std::vector<double>(3, value); return *this; }
67 
68 
72  std::vector<double> GetSigma() const { return this->m_Sigma; }
73 
79  SITK_RETURN_SELF_TYPE_HEADER SetNormalizeAcrossScale ( bool NormalizeAcrossScale ) { this->m_NormalizeAcrossScale = NormalizeAcrossScale; return *this; }
80 
82  SITK_RETURN_SELF_TYPE_HEADER NormalizeAcrossScaleOn() { return this->SetNormalizeAcrossScale(true); }
83  SITK_RETURN_SELF_TYPE_HEADER NormalizeAcrossScaleOff() { return this->SetNormalizeAcrossScale(false); }
84 
90  bool GetNormalizeAcrossScale() const { return this->m_NormalizeAcrossScale; }
92  std::string GetName() const { return std::string ("SmoothingRecursiveGaussianImageFilter"); }
93 
95  std::string ToString() const;
96 
97 
99  Image Execute ( const Image& image1 );
100 
101 
103  Image Execute ( const Image& image1, const std::vector<double> & sigma, bool normalizeAcrossScale );
104 
105  private:
106 
109  typedef Image (Self::*MemberFunctionType)( const Image& image1 );
110  template <class TImageType> Image ExecuteInternal ( const Image& image1 );
111 
112 
113  friend struct detail::MemberFunctionAddressor<MemberFunctionType>;
114 
115  nsstd::auto_ptr<detail::MemberFunctionFactory<MemberFunctionType> > m_MemberFactory;
116 
117 
118  /* */
119  std::vector<double> m_Sigma;
120  /* */
122  };
123 
124 
133  SITKBasicFilters_EXPORT Image SmoothingRecursiveGaussian ( const Image& image1, const std::vector<double> & sigma = std::vector<double>(3,1.0), bool normalizeAcrossScale = false );
134 
135  }
136 }
137 #endif
Computes the smoothing of an image by convolution with the Gaussian kernels implemented as IIR filter...
#define SITKBasicFilters_EXPORT
typelist::Append< BasicPixelIDTypeList, VectorPixelIDTypeList >::Type PixelIDTypeList
nsstd::auto_ptr< detail::MemberFunctionFactory< MemberFunctionType > > m_MemberFactory
Image SmoothingRecursiveGaussian(const Image &image1, double sigma, bool normalizeAcrossScale=false)
Computes the smoothing of an image by convolution with the Gaussian kernels implemented as IIR filter...
The Image class for SimpleITK.
Definition: sitkImage.h:78
The base interface for SimpleITK filters that take one input image.