SimpleITK  1.0.1
sitkGaussianImageSource.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 sitkGaussianImageSource_h
19 #define sitkGaussianImageSource_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 sitkImageSourceTemplate.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 
51 
54 
57 
58 
59 
60 
61 
64  SITK_RETURN_SELF_TYPE_HEADER SetOutputPixelType ( PixelIDValueEnum OutputPixelType ) { this->m_OutputPixelType = OutputPixelType; return *this; }
65 
68  PixelIDValueEnum GetOutputPixelType() const { return this->m_OutputPixelType; }
69 
72  SITK_RETURN_SELF_TYPE_HEADER SetSize ( const std::vector<unsigned int> & Size ) { this->m_Size = Size; return *this; }
73 
76  std::vector<unsigned int> GetSize() const { return this->m_Size; }
77 
81  SITK_RETURN_SELF_TYPE_HEADER SetSigma ( const std::vector<double> & Sigma ) { this->m_Sigma = Sigma; return *this; }
82 
84  SITK_RETURN_SELF_TYPE_HEADER SetSigma( double value ) { this->m_Sigma = std::vector<double>(3, value); return *this; }
85 
86 
90  std::vector<double> GetSigma() const { return this->m_Sigma; }
91 
95  SITK_RETURN_SELF_TYPE_HEADER SetMean ( const std::vector<double> & Mean ) { this->m_Mean = Mean; return *this; }
96 
98  SITK_RETURN_SELF_TYPE_HEADER SetMean( double value ) { this->m_Mean = std::vector<double>(3, value); return *this; }
99 
100 
104  std::vector<double> GetMean() const { return this->m_Mean; }
105 
109  SITK_RETURN_SELF_TYPE_HEADER SetScale ( double Scale ) { this->m_Scale = Scale; return *this; }
110 
114  double GetScale() const { return this->m_Scale; }
115 
118  SITK_RETURN_SELF_TYPE_HEADER SetOrigin ( const std::vector<double> & Origin ) { this->m_Origin = Origin; return *this; }
119 
122  std::vector<double> GetOrigin() const { return this->m_Origin; }
123 
126  SITK_RETURN_SELF_TYPE_HEADER SetSpacing ( const std::vector<double> & Spacing ) { this->m_Spacing = Spacing; return *this; }
127 
130  std::vector<double> GetSpacing() const { return this->m_Spacing; }
131 
134  SITK_RETURN_SELF_TYPE_HEADER SetDirection ( std::vector<double> Direction ) { this->m_Direction = Direction; return *this; }
135 
138  std::vector<double> GetDirection() const { return this->m_Direction; }
140  std::string GetName() const { return std::string ("GaussianImageSource"); }
141 
143  std::string ToString() const;
144 
145 
147  Image Execute ( );
148 
149 
151  Image Execute ( PixelIDValueEnum outputPixelType, const std::vector<unsigned int> & size, const std::vector<double> & sigma, const std::vector<double> & mean, double scale, const std::vector<double> & origin, const std::vector<double> & spacing, std::vector<double> direction );
152 
153 
154  private:
155 
158  typedef Image (Self::*MemberFunctionType)( );
159  template <class TImageType> Image ExecuteInternal ( );
160 
161 
162 
163  friend struct detail::MemberFunctionAddressor<MemberFunctionType>;
164 
165  nsstd::auto_ptr<detail::MemberFunctionFactory<MemberFunctionType> > m_MemberFactory;
166 
167 
169  std::vector<unsigned int> m_Size;
170  std::vector<double> m_Sigma;
171  std::vector<double> m_Mean;
172  double m_Scale;
173  std::vector<double> m_Origin;
174  std::vector<double> m_Spacing;
175  /* Passing a zero sized array, defaults to identiy matrix. The size of the array must exactly match the direction matrix for the dimension of the image. */
176  std::vector<double> m_Direction;
177 
178 
179 
180  };
181 
182 
183 
192 SITKBasicFilters_EXPORT Image GaussianSource ( PixelIDValueEnum outputPixelType = itk::simple::sitkFloat32, const std::vector<unsigned int> & size = std::vector<unsigned int>(3, 64), const std::vector<double> & sigma = std::vector<double>(3, 16.0), const std::vector<double> & mean = std::vector<double>(3, 32.0), double scale = 255, const std::vector<double> & origin = std::vector<double>(3, 0.0), const std::vector<double> & spacing = std::vector<double>(3, 1.0), std::vector<double> direction = std::vector<double>() );
193  }
194 }
195 #endif
Self & SetMean(const std::vector< double > &Mean)
std::vector< double > GetSpacing() const
std::vector< double > GetOrigin() const
Generate an n-dimensional image of a Gaussian.
#define SITKBasicFilters_EXPORT
Self & SetOrigin(const std::vector< double > &Origin)
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
Self & SetSpacing(const std::vector< double > &Spacing)
PixelIDValueEnum
Enumerated values of pixelIDs.
std::vector< double > GetMean() const
Self & SetOutputPixelType(PixelIDValueEnum OutputPixelType)
Image Mean(const Image &image1, const std::vector< unsigned int > &radius=std::vector< unsigned int >(3, 1))
Applies an averaging filter to an image.
The main Image class for SimpleITK.
Definition: sitkImage.h:54
std::vector< unsigned int > m_Size
PixelIDValueEnum GetOutputPixelType() const
nsstd::auto_ptr< detail::MemberFunctionFactory< MemberFunctionType > > m_MemberFactory
std::vector< double > GetSigma() const
Image GaussianSource(PixelIDValueEnum outputPixelType=itk::simple::sitkFloat32, const std::vector< unsigned int > &size=std::vector< unsigned int >(3, 64), const std::vector< double > &sigma=std::vector< double >(3, 16.0), const std::vector< double > &mean=std::vector< double >(3, 32.0), double scale=255, const std::vector< double > &origin=std::vector< double >(3, 0.0), const std::vector< double > &spacing=std::vector< double >(3, 1.0), std::vector< double > direction=std::vector< double >())
Generate an n-dimensional image of a Gaussian.
Self & SetDirection(std::vector< double > Direction)
std::vector< double > GetDirection() const
Self & SetSize(const std::vector< unsigned int > &Size)
std::vector< unsigned int > GetSize() const
The base interface for SimpleITK filters that take one input image.
Self & SetSigma(const std::vector< double > &Sigma)