1 // -------------------------------------------------------------------------
2 // @author Leonardo Florez-Valencia (florez-l@javeriana.edu.co)
3 // -------------------------------------------------------------------------
5 #ifndef __CPEXTENSIONS__ALGORITHMS__KALMANVELOCITYFILTER__H__
6 #define __CPEXTENSIONS__ALGORITHMS__KALMANVELOCITYFILTER__H__
8 #include <cpExtensions/Algorithms/KalmanFilter.h>
10 namespace cpExtensions
16 template< typename T >
17 class cpExtensions_EXPORT KalmanVelocityFilter
18 : public KalmanFilter< T >
21 typedef KalmanVelocityFilter Self;
22 typedef KalmanFilter< T > Superclass;
23 typedef itk::SmartPointer< Self > Pointer;
24 typedef itk::SmartPointer< const Self > ConstPointer;
26 typedef typename Superclass::TScalar TScalar;
27 typedef typename Superclass::TMatrix TMatrix;
28 typedef typename Superclass::TVector TVector;
32 itkTypeMacro( KalmanVelocityFilter, KalmanFilter );
34 kalmanGetSetMacro( TMatrix, Sigma );
35 kalmanGetSetMatrixMacro( Sigma, AccelerationNoise );
38 void Configure( unsigned int m );
40 TScalar GetTimeOffset( ) const;
41 void SetTimeOffset( TScalar t );
44 virtual void Initialize( );
47 KalmanVelocityFilter( );
48 virtual ~KalmanVelocityFilter( );
51 // Purposely not implemented.
52 KalmanVelocityFilter( const Self& );
53 void operator=( const Self& );
64 #endif // __CPEXTENSIONS__ALGORITHMS__KALMANVELOCITYFILTER__H__