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 );
39 itkGetConstMacro( SupportSize, unsigned int );
40 itkGetConstMacro( MinimumCost, TOutput );
41 itkGetObjectMacro( Model, TModel );
42 itkGetConstObjectMacro( Model, TModel );
43 itkSetMacro( SupportSize, unsigned int );
44 itkSetMacro( MinimumCost, TOutput );
48 virtual TOutput Evaluate( const TInput& x ) const override;
52 virtual ~GaussianModel( );
55 // Purposely not implemented
56 GaussianModel( const Self& other );
57 Self& operator=( const Self& other );
61 unsigned int m_SupportSize;
62 TOutput m_MinimumCost;
63 typename TModel::Pointer m_Model;
67 mutable unsigned long m_N;
76 #ifndef ITK_MANUAL_INSTANTIATION
77 # include <fpa/Base/Functors/GaussianModel.hxx>
78 #endif // ITK_MANUAL_INSTANTIATION
80 #endif // __fpa__Base__Functors__GaussianModel__h__