]> Creatis software - cpPlugins.git/blob - lib/cpExtensions/Algorithms/KalmanVelocityFilter.h
Cast image filter added. ROI filter modified.
[cpPlugins.git] / lib / cpExtensions / Algorithms / KalmanVelocityFilter.h
1 // -------------------------------------------------------------------------
2 // @author Leonardo Florez-Valencia (florez-l@javeriana.edu.co)
3 // -------------------------------------------------------------------------
4
5 #ifndef __CPEXTENSIONS__ALGORITHMS__KALMANVELOCITYFILTER__H__
6 #define __CPEXTENSIONS__ALGORITHMS__KALMANVELOCITYFILTER__H__
7
8 #include <cpExtensions/Algorithms/KalmanFilter.h>
9
10 namespace cpExtensions
11 {
12   namespace Algorithms
13   {
14     /**
15      */
16     template< typename T >
17     class cpExtensions_EXPORT KalmanVelocityFilter
18       : public KalmanFilter< T >
19     {
20     public:
21       typedef KalmanVelocityFilter            Self;
22       typedef KalmanFilter< T >               Superclass;
23       typedef itk::SmartPointer< Self >       Pointer;
24       typedef itk::SmartPointer< const Self > ConstPointer;
25
26       typedef typename Superclass::TScalar TScalar;
27       typedef typename Superclass::TMatrix TMatrix;
28       typedef typename Superclass::TVector TVector;
29
30     public:
31       itkNewMacro( Self );
32       itkTypeMacro( KalmanVelocityFilter, KalmanFilter );
33
34       kalmanGetSetMacro( TMatrix, Sigma );
35       kalmanGetSetMatrixMacro( Sigma, AccelerationNoise );
36
37     public:
38       void Configure( unsigned int m );
39
40       TScalar GetTimeOffset( ) const;
41       void SetTimeOffset( TScalar t );
42
43       /// Iteration methods
44       virtual void Initialize( ) cpExtensions_OVERRIDE;
45
46     protected:
47         KalmanVelocityFilter( );
48         virtual ~KalmanVelocityFilter( );
49
50     private:
51         // Purposely not implemented.
52         KalmanVelocityFilter( const Self& );
53         void operator=( const Self& );
54
55     protected:
56         TMatrix m_TimeOffset;
57         TMatrix m_Sigma;
58     };
59
60   } // ecapseman
61
62 } // ecapseman
63
64 #endif // __CPEXTENSIONS__ALGORITHMS__KALMANVELOCITYFILTER__H__
65
66 // eof - $RCSfile$