1 // -------------------------------------------------------------------------
2 // @author Leonardo Florez-Valencia (florez-l@javeriana.edu.co)
3 // -------------------------------------------------------------------------
5 #ifndef __CPPLUGINS__EXTENSIONS__ALGORITHMS__KALMANVELOCITYFILTER__H__
6 #define __CPPLUGINS__EXTENSIONS__ALGORITHMS__KALMANVELOCITYFILTER__H__
8 #include <cpPlugins/Extensions/Algorithms/KalmanFilter.h>
18 template< typename T >
19 class KalmanVelocityFilter
20 : public KalmanFilter< T >
23 typedef KalmanVelocityFilter Self;
24 typedef KalmanFilter< T > Superclass;
25 typedef itk::SmartPointer< Self > Pointer;
26 typedef itk::SmartPointer< const Self > ConstPointer;
28 typedef typename Superclass::TScalar TScalar;
29 typedef typename Superclass::TMatrix TMatrix;
30 typedef typename Superclass::TVector TVector;
34 itkTypeMacro( KalmanVelocityFilter, KalmanFilter );
36 kalmanGetSetMacro( TMatrix, Sigma );
37 kalmanGetSetMatrixMacro( Sigma, AccelerationNoise );
40 void Configure( unsigned int m );
42 TScalar GetTimeOffset( ) const;
43 void SetTimeOffset( TScalar t );
46 virtual void Initialize( );
49 KalmanVelocityFilter( );
50 virtual ~KalmanVelocityFilter( );
53 // Purposely not implemented.
54 KalmanVelocityFilter( const Self& );
55 void operator=( const Self& );
68 #endif // __CPPLUGINS__EXTENSIONS__ALGORITHMS__KALMANVELOCITYFILTER__H__