ITK
6.0.0
Insight Toolkit
|
#include <itkKalmanLinearEstimator.h>
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 43 of file itkKalmanLinearEstimator.h.
Public Types | |
using | MatrixType = vnl_matrix_fixed< T, VEstimatorDimension, VEstimatorDimension > |
using | ValueType = T |
using | VectorType = vnl_vector_fixed< T, VEstimatorDimension > |
Public Member Functions | |
void | ClearEstimation () |
void | ClearVariance () |
const VectorType & | GetEstimator () const |
const MatrixType & | GetVariance () 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 constexpr unsigned int | Dimension = VEstimatorDimension |
Private Member Functions | |
void | UpdateVariance (const VectorType &) |
Private Attributes | |
VectorType | m_Estimator |
MatrixType | m_Variance |
using itk::KalmanLinearEstimator< T, VEstimatorDimension >::MatrixType = vnl_matrix_fixed<T, VEstimatorDimension, VEstimatorDimension> |
Matrix type defines a generic matrix type that is used for the matricial operations performed during estimation.
Definition at line 57 of file itkKalmanLinearEstimator.h.
using itk::KalmanLinearEstimator< T, VEstimatorDimension >::ValueType = T |
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 63 of file itkKalmanLinearEstimator.h.
using itk::KalmanLinearEstimator< T, VEstimatorDimension >::VectorType = vnl_vector_fixed<T, VEstimatorDimension> |
Vector type defines a generic vector type that is used for the matricial operations performed during estimation.
Definition at line 53 of file itkKalmanLinearEstimator.h.
|
inline |
This method resets the estimator. It set all the parameters to null. The covariance matrix is not changed.
Definition at line 76 of file itkKalmanLinearEstimator.h.
References itk::KalmanLinearEstimator< T, VEstimatorDimension >::m_Estimator.
|
inline |
This method resets the covariance matrix. It is set to an identity matrix
Definition at line 84 of file itkKalmanLinearEstimator.h.
References itk::KalmanLinearEstimator< T, VEstimatorDimension >::m_Variance.
|
inline |
This method returns the vector of estimated parameters
Definition at line 117 of file itkKalmanLinearEstimator.h.
References itk::KalmanLinearEstimator< T, VEstimatorDimension >::m_Estimator.
|
inline |
This method returns the covariance matrix of the estimated parameters
Definition at line 125 of file itkKalmanLinearEstimator.h.
References itk::KalmanLinearEstimator< T, VEstimatorDimension >::m_Variance.
|
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 109 of file itkKalmanLinearEstimator.h.
References itk::KalmanLinearEstimator< T, VEstimatorDimension >::m_Variance.
|
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 96 of file itkKalmanLinearEstimator.h.
References itk::KalmanLinearEstimator< T, VEstimatorDimension >::m_Variance.
|
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 172 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 153 of file itkKalmanLinearEstimator.h.
|
staticconstexpr |
Dimension of the vector of parameters to be estimated. It is equivalent to the number of parameters to estimate.
Definition at line 49 of file itkKalmanLinearEstimator.h.
|
private |
Vector of parameters to estimate.
Definition at line 140 of file itkKalmanLinearEstimator.h.
Referenced by itk::KalmanLinearEstimator< T, VEstimatorDimension >::ClearEstimation(), and itk::KalmanLinearEstimator< T, VEstimatorDimension >::GetEstimator().
|
private |
Estimation of the parameter's covariance matrix. This matrix contains the information about the state 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 transient period for stabilizing the estimation.
Definition at line 148 of file itkKalmanLinearEstimator.h.
Referenced by itk::KalmanLinearEstimator< T, VEstimatorDimension >::ClearVariance(), itk::KalmanLinearEstimator< T, VEstimatorDimension >::GetVariance(), and itk::KalmanLinearEstimator< T, VEstimatorDimension >::SetVariance().