ITK
5.0.0
Insight Segmentation and Registration 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 42 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 55 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 61 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 51 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 73 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 78 of file itkKalmanLinearEstimator.h.
References itk::KalmanLinearEstimator< T, VEstimatorDimension >::m_Variance.
|
inline |
This method returns the vector of estimated parameters
Definition at line 106 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 111 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 89 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 101 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 157 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 137 of file itkKalmanLinearEstimator.h.
|
static |
Dimension of the vector of parameters to be estimated. It is equivalent to the number of parameters to estimate.
Definition at line 47 of file itkKalmanLinearEstimator.h.
|
private |
Vector of parameters to estimate.
Definition at line 123 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 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 131 of file itkKalmanLinearEstimator.h.
Referenced by itk::KalmanLinearEstimator< T, VEstimatorDimension >::ClearVariance(), itk::KalmanLinearEstimator< T, VEstimatorDimension >::GetVariance(), and itk::KalmanLinearEstimator< T, VEstimatorDimension >::SetVariance().