1 #ifndef __fpa__Base__Functors__GaussianModel__h__
2 #define __fpa__Base__Functors__GaussianModel__h__
4 #include <fpa/Config.h>
5 #include <itkFunctionBase.h>
6 #include <cpExtensions/Algorithms/IterativeGaussianModelEstimator.h>
16 template< class _TInput, class _TOutput >
18 : public itk::FunctionBase< _TInput, _TOutput >
21 typedef GaussianModel Self;
22 typedef itk::FunctionBase< _TInput, _TOutput > Superclass;
23 typedef itk::SmartPointer< Self > Pointer;
24 typedef itk::SmartPointer< const Self > ConstPointer;
26 typedef _TInput TInput;
27 typedef _TOutput TOutput;
31 cpExtensions::Algorithms::IterativeGaussianModelEstimator< TOutput, 1 >
36 itkTypeMacro( GaussianModel, itk::FunctionBase );
38 itkGetConstMacro( SupportSize, unsigned int );
39 itkGetConstMacro( MinimumCost, TOutput );
40 itkGetObjectMacro( Model, TModel );
41 itkGetConstObjectMacro( Model, TModel );
42 itkSetMacro( SupportSize, unsigned int );
43 itkSetMacro( MinimumCost, TOutput );
46 virtual TOutput Evaluate( const TInput& x ) const fpa_OVERRIDE;
50 virtual ~GaussianModel( );
53 // Purposely not implemented
54 GaussianModel( const Self& other );
55 Self& operator=( const Self& other );
58 unsigned int m_SupportSize;
59 TOutput m_MinimumCost;
60 typename TModel::Pointer m_Model;
69 #ifndef ITK_MANUAL_INSTANTIATION
70 # include <fpa/Base/Functors/GaussianModel.hxx>
71 #endif // ITK_MANUAL_INSTANTIATION
73 #endif // __fpa__Base__Functors__GaussianModel__h__