ITK
4.1.0
Insight Segmentation and Registration Toolkit
|
#include <itkKalmanLinearEstimator.h>
Public Types | |
typedef vnl_matrix_fixed< T, VEstimatorDimension, VEstimatorDimension > | MatrixType |
typedef T | ValueType |
typedef vnl_vector_fixed< T, VEstimatorDimension > | VectorType |
Public Member Functions | |
void | ClearEstimation (void) |
void | ClearVariance (void) |
const VectorType & | GetEstimator (void) const |
const MatrixType & | GetVariance (void) const |
void | SetVariance (const MatrixType &m) |
void | UpdateWithNewMeasure (const ValueType &newMeasure, const VectorType &newPredictor) |
void | SetVariance (const ValueType &var=1.0) |
Static Public Attributes | |
static const unsigned int | Dimension = VEstimatorDimension |
Private Member Functions | |
void | UpdateVariance (const VectorType &) |
Private Attributes | |
VectorType | m_Estimator |
MatrixType | m_Variance |
Implement a linear recursive estimator.
KalmanLinearEstimator class implements a linear recursive estimator. The class is templated over the type of the parameters to be estimated and over the number of parameters. Recursive estimation is a fast mechanism for getting information about a system for which we only have access to measures that are linearly related with the parameters we want to estimate.
Definition at line 42 of file itkKalmanLinearEstimator.h.
typedef vnl_matrix_fixed< T, VEstimatorDimension, VEstimatorDimension > itk::KalmanLinearEstimator< T, VEstimatorDimension >::MatrixType |
Matrix type defines a generic matrix type that is used for the matricial operations performed during estimation.
Definition at line 56 of file itkKalmanLinearEstimator.h.
typedef T itk::KalmanLinearEstimator< T, VEstimatorDimension >::ValueType |
Type is the type associated with the parameters to be estimated. All the parameters are of the same type. Natural choices could be floats and doubles, because Type also is used for all the internal computations.
Definition at line 62 of file itkKalmanLinearEstimator.h.
typedef vnl_vector_fixed< T, VEstimatorDimension > itk::KalmanLinearEstimator< T, VEstimatorDimension >::VectorType |
Vector type defines a generic vector type that is used for the matricial operations performed during estimation.
Definition at line 52 of file itkKalmanLinearEstimator.h.
void itk::KalmanLinearEstimator< T, VEstimatorDimension >::ClearEstimation | ( | void | ) | [inline] |
This method resets the estimator. It set all the parameters to null. The covariance matrix is not changed.
Definition at line 74 of file itkKalmanLinearEstimator.h.
void itk::KalmanLinearEstimator< T, VEstimatorDimension >::ClearVariance | ( | void | ) | [inline] |
This method resets the covariance matrix. It is set to an identity matrix
Definition at line 79 of file itkKalmanLinearEstimator.h.
const VectorType& itk::KalmanLinearEstimator< T, VEstimatorDimension >::GetEstimator | ( | void | ) | const [inline] |
This method returns the vector of estimated parameters
Definition at line 107 of file itkKalmanLinearEstimator.h.
const MatrixType& itk::KalmanLinearEstimator< T, VEstimatorDimension >::GetVariance | ( | void | ) | const [inline] |
This method returns the covariance matrix of the estimated parameters
Definition at line 112 of file itkKalmanLinearEstimator.h.
void itk::KalmanLinearEstimator< T, VEstimatorDimension >::SetVariance | ( | const ValueType & | var = 1.0 | ) | [inline] |
This method sets the covariance matrix to a diagonal matrix with equal values. It is useful when the variance of all the parameters be estimated are the same and the parameters are considered independents.
Definition at line 90 of file itkKalmanLinearEstimator.h.
void itk::KalmanLinearEstimator< T, VEstimatorDimension >::SetVariance | ( | const MatrixType & | m | ) | [inline] |
This method sets the covariance matrix to known matrix. It is intended to initialize the estimator with a priori information about the statistical distribution of the parameters. It can also be used to resume the operation of a previously used estimator using it last known state.
Definition at line 102 of file itkKalmanLinearEstimator.h.
void itk::KalmanLinearEstimator< T, VEstimatorDimension >::UpdateVariance | ( | const VectorType & | newPredictor | ) | [private] |
This methods performs the update of the parameter's covariance matrix. It is called by updateWithNewMeasure() method. Users are not expected to call this method directly.
Definition at line 158 of file itkKalmanLinearEstimator.h.
void itk::KalmanLinearEstimator< T, VEstimatorDimension >::UpdateWithNewMeasure | ( | const ValueType & | newMeasure, |
const VectorType & | newPredictor | ||
) |
Update the estimation using the information provided by a new measure along with a new line of the linear predictor. This method is the one that should be called iteratively in order to estimate the parameter's vector. It internally updates the covariance matrix.
Definition at line 138 of file itkKalmanLinearEstimator.h.
const unsigned int itk::KalmanLinearEstimator< T, VEstimatorDimension >::Dimension = VEstimatorDimension [static] |
Dimension of the vector of parameters to be estimated. It is equivalent to the number of parameters to estimate.
Definition at line 48 of file itkKalmanLinearEstimator.h.
VectorType itk::KalmanLinearEstimator< T, VEstimatorDimension >::m_Estimator [private] |
Vector of parameters to estimate.
Definition at line 124 of file itkKalmanLinearEstimator.h.
MatrixType itk::KalmanLinearEstimator< T, VEstimatorDimension >::m_Variance [private] |
Estimation of the parameter's covariance matrix. This matrix contains the information about the estate of the estimator. It holds all the information obtained from previous measures provided to the estimator. The initialization of this matrix is critical to the behavior of the estimator, at least to ensure a short trasient period for estabilizing the estimation.
Definition at line 132 of file itkKalmanLinearEstimator.h.