UsTK : Ultrasound ToolKit  version 2.0.1 under development (2023-12-07)
usUnscentedKalmanFilter Class Referenceabstract

#include <visp3/ustk_needle_modeling/usUnscentedKalmanFilter.h>

+ Inheritance diagram for usUnscentedKalmanFilter:

Public Types

enum  NoiseType : int { ADDITIVE_NOISE , GENERIC_NOISE }
 
enum  SigmaPointGenerationType : int { STANDARD_COVARIANCE , FIXED_SCALING_FACTOR , LIMITED_SPREAD }
 

Public Member Functions

 usUnscentedKalmanFilter ()
 
virtual ~usUnscentedKalmanFilter ()
 
int getStateDimension () const
 
void setStateDimension (int dim)
 
int getMeasureDimension () const
 
void setMeasureDimension (int dim)
 
NoiseType getProcessNoiseType () const
 
void setProcessNoiseType (NoiseType type)
 
int getProcessNoiseDimension () const
 
void setProcessNoiseDimension (int dim)
 
NoiseType getMeasureNoiseType () const
 
void setMeasureNoiseType (NoiseType type)
 
int getMeasureNoiseDimension () const
 
void setMeasureNoiseDimension (int dim)
 
SigmaPointGenerationType getSigmaPointGenerationType () const
 
void setSigmaPointGenerationType (SigmaPointGenerationType type)
 
double getSigmaPointScalingFactor () const
 
void setSigmaPointScalingFactor (double factor)
 
double getSigmaPointSpreadThreshold () const
 
void setSigmaPointSpreadThreshold (double threshold)
 
vpColVector getState () const
 
void setState (const vpColVector &state)
 
vpMatrix getStateCovarianceMatrix () const
 
void setStateCovarianceMatrix (const vpMatrix &mat)
 
vpMatrix getProcessNoiseCovarianceMatrix () const
 
void setProcessNoiseCovarianceMatrix (const vpMatrix &cov)
 
bool computeProcessNoiseCovarianceMatrixAutomatically () const
 
void computeProcessNoiseCovarianceMatrixAutomatically (bool flag)
 
vpMatrix getMeasureNoiseCovarianceMatrix () const
 
void setMeasureNoiseCovarianceMatrix (const vpMatrix &cov)
 
bool computeMeasureNoiseCovarianceMatrixAutomatically () const
 
void computeMeasureNoiseCovarianceMatrixAutomatically (bool flag)
 
virtual bool checkConsistency (const vpColVector &measure)
 
virtual void computeProcessNoiseCovarianceMatrix ()
 
virtual void computeMeasureNoiseCovarianceMatrix ()
 
bool generateSigmaPoints ()
 
bool computePropagatedSigmaPoints ()
 
bool computeSigmaMeasures ()
 
void computeMeansAndCovarianceMatricesFromSigmaPoints ()
 
bool updateState ()
 
bool filter (const vpColVector &measure)
 
virtual vpColVector propagateSigmaPoint (const vpColVector &sigmaPoint)=0
 
virtual vpColVector computeMeasureFromSigmaPoint (const vpColVector &sigmaPoint)=0
 
virtual double stateNorm (const vpColVector &state) const
 
virtual vpColVector measureLog (const vpColVector &measure, const vpColVector &measureCenter) const
 
virtual vpColVector stateLog (const vpColVector &state, const vpColVector &stateCenter) const
 
virtual vpColVector stateExp (const vpColVector &state, const vpColVector &stateCenter) const
 

Protected Attributes

unsigned int m_stateDimension
 
unsigned int m_measureDimension
 
unsigned int m_processNoiseDimension
 
unsigned int m_measureNoiseDimension
 
vpColVector m_state
 
vpMatrix m_stateCovarianceMatrix
 
NoiseType m_processNoiseType
 
vpMatrix m_processNoiseCovarianceMatrix
 
bool m_computeProcessNoiseCovarianceMatrixAutomatically
 
NoiseType m_measureNoiseType
 
vpMatrix m_measureNoiseCovarianceMatrix
 
bool m_computeMeasureNoiseCovarianceMatrixAutomatically
 
vpColVector m_measure
 
SigmaPointGenerationType m_sigmaPointsGenerationType
 
vpMatrix m_sigmaPointsInit
 
vpMatrix m_sigmaPointsPropagated
 
vpMatrix m_sigmaPointsMeasure
 
vpColVector m_sigmaPointsMeanWeights
 
vpColVector m_sigmaPointsCovarianceWeights
 
double m_sigmaPointsScalingFactor
 
double m_sigmaPointsSpreadThreshold
 
vpColVector m_stateSigmaMean
 
vpColVector m_measureSigmaMean
 
vpMatrix m_stateSigmaCovarianceMatrix
 
vpMatrix m_stateMeasureSigmaCovarianceMatrix
 
vpMatrix m_measureSigmaCovarianceMatrix
 

Detailed Description

Definition at line 50 of file usUnscentedKalmanFilter.h.

Member Enumeration Documentation

◆ NoiseType

Enumerator
ADDITIVE_NOISE 
GENERIC_NOISE 

Definition at line 53 of file usUnscentedKalmanFilter.h.

◆ SigmaPointGenerationType

Enumerator
STANDARD_COVARIANCE 
FIXED_SCALING_FACTOR 
LIMITED_SPREAD 

Definition at line 54 of file usUnscentedKalmanFilter.h.

Constructor & Destructor Documentation

◆ usUnscentedKalmanFilter()

usUnscentedKalmanFilter::usUnscentedKalmanFilter ( )

Definition at line 91 of file usUnscentedKalmanFilter.cpp.

◆ ~usUnscentedKalmanFilter()

usUnscentedKalmanFilter::~usUnscentedKalmanFilter ( )
virtual

Definition at line 128 of file usUnscentedKalmanFilter.cpp.

Member Function Documentation

◆ checkConsistency()

◆ computeMeansAndCovarianceMatricesFromSigmaPoints()

◆ computeMeasureFromSigmaPoint()

virtual vpColVector usUnscentedKalmanFilter::computeMeasureFromSigmaPoint ( const vpColVector &  sigmaPoint)
pure virtual

◆ computeMeasureNoiseCovarianceMatrix()

void usUnscentedKalmanFilter::computeMeasureNoiseCovarianceMatrix ( )
virtual

Reimplemented in usTissueTranslationEstimatorUKF.

Definition at line 324 of file usUnscentedKalmanFilter.cpp.

Referenced by filter().

◆ computeMeasureNoiseCovarianceMatrixAutomatically() [1/2]

bool usUnscentedKalmanFilter::computeMeasureNoiseCovarianceMatrixAutomatically ( ) const

◆ computeMeasureNoiseCovarianceMatrixAutomatically() [2/2]

void usUnscentedKalmanFilter::computeMeasureNoiseCovarianceMatrixAutomatically ( bool  flag)

◆ computeProcessNoiseCovarianceMatrix()

void usUnscentedKalmanFilter::computeProcessNoiseCovarianceMatrix ( )
virtual

Reimplemented in usTissueTranslationEstimatorUKF.

Definition at line 319 of file usUnscentedKalmanFilter.cpp.

Referenced by filter().

◆ computeProcessNoiseCovarianceMatrixAutomatically() [1/2]

bool usUnscentedKalmanFilter::computeProcessNoiseCovarianceMatrixAutomatically ( ) const

◆ computeProcessNoiseCovarianceMatrixAutomatically() [2/2]

void usUnscentedKalmanFilter::computeProcessNoiseCovarianceMatrixAutomatically ( bool  flag)

◆ computePropagatedSigmaPoints()

bool usUnscentedKalmanFilter::computePropagatedSigmaPoints ( )

Definition at line 457 of file usUnscentedKalmanFilter.cpp.

References m_sigmaPointsInit, m_sigmaPointsPropagated, and propagateSigmaPoint().

Referenced by filter().

◆ computeSigmaMeasures()

bool usUnscentedKalmanFilter::computeSigmaMeasures ( )

◆ filter()

◆ generateSigmaPoints()

◆ getMeasureDimension()

int usUnscentedKalmanFilter::getMeasureDimension ( ) const

Definition at line 150 of file usUnscentedKalmanFilter.cpp.

References m_measureDimension.

◆ getMeasureNoiseCovarianceMatrix()

vpMatrix usUnscentedKalmanFilter::getMeasureNoiseCovarianceMatrix ( ) const

Definition at line 288 of file usUnscentedKalmanFilter.cpp.

References m_measureNoiseCovarianceMatrix.

◆ getMeasureNoiseDimension()

int usUnscentedKalmanFilter::getMeasureNoiseDimension ( ) const

Definition at line 198 of file usUnscentedKalmanFilter.cpp.

References m_measureNoiseDimension.

◆ getMeasureNoiseType()

usUnscentedKalmanFilter::NoiseType usUnscentedKalmanFilter::getMeasureNoiseType ( ) const

Definition at line 188 of file usUnscentedKalmanFilter.cpp.

References m_measureNoiseType.

◆ getProcessNoiseCovarianceMatrix()

vpMatrix usUnscentedKalmanFilter::getProcessNoiseCovarianceMatrix ( ) const

Definition at line 266 of file usUnscentedKalmanFilter.cpp.

References m_processNoiseCovarianceMatrix.

◆ getProcessNoiseDimension()

int usUnscentedKalmanFilter::getProcessNoiseDimension ( ) const

Definition at line 175 of file usUnscentedKalmanFilter.cpp.

References m_processNoiseDimension.

◆ getProcessNoiseType()

usUnscentedKalmanFilter::NoiseType usUnscentedKalmanFilter::getProcessNoiseType ( ) const

Definition at line 165 of file usUnscentedKalmanFilter.cpp.

References m_processNoiseType.

◆ getSigmaPointGenerationType()

usUnscentedKalmanFilter::SigmaPointGenerationType usUnscentedKalmanFilter::getSigmaPointGenerationType ( ) const

Definition at line 211 of file usUnscentedKalmanFilter.cpp.

References m_sigmaPointsGenerationType.

◆ getSigmaPointScalingFactor()

double usUnscentedKalmanFilter::getSigmaPointScalingFactor ( ) const

Definition at line 221 of file usUnscentedKalmanFilter.cpp.

References m_sigmaPointsScalingFactor.

◆ getSigmaPointSpreadThreshold()

double usUnscentedKalmanFilter::getSigmaPointSpreadThreshold ( ) const

Definition at line 231 of file usUnscentedKalmanFilter.cpp.

References m_sigmaPointsSpreadThreshold.

◆ getState()

vpColVector usUnscentedKalmanFilter::getState ( ) const

Definition at line 242 of file usUnscentedKalmanFilter.cpp.

References m_state.

◆ getStateCovarianceMatrix()

vpMatrix usUnscentedKalmanFilter::getStateCovarianceMatrix ( ) const

Definition at line 254 of file usUnscentedKalmanFilter.cpp.

References m_stateCovarianceMatrix.

◆ getStateDimension()

int usUnscentedKalmanFilter::getStateDimension ( ) const

Definition at line 133 of file usUnscentedKalmanFilter.cpp.

References m_stateDimension.

◆ measureLog()

vpColVector usUnscentedKalmanFilter::measureLog ( const vpColVector &  measure,
const vpColVector &  measureCenter 
) const
virtual

Reimplemented in usTissueTranslationEstimatorUKF.

Definition at line 597 of file usUnscentedKalmanFilter.cpp.

Referenced by computeSigmaMeasures(), and updateState().

◆ propagateSigmaPoint()

virtual vpColVector usUnscentedKalmanFilter::propagateSigmaPoint ( const vpColVector &  sigmaPoint)
pure virtual

◆ setMeasureDimension()

◆ setMeasureNoiseCovarianceMatrix()

void usUnscentedKalmanFilter::setMeasureNoiseCovarianceMatrix ( const vpMatrix &  cov)

◆ setMeasureNoiseDimension()

void usUnscentedKalmanFilter::setMeasureNoiseDimension ( int  dim)

◆ setMeasureNoiseType()

void usUnscentedKalmanFilter::setMeasureNoiseType ( NoiseType  type)

Definition at line 193 of file usUnscentedKalmanFilter.cpp.

References m_measureNoiseType.

◆ setProcessNoiseCovarianceMatrix()

void usUnscentedKalmanFilter::setProcessNoiseCovarianceMatrix ( const vpMatrix &  cov)

◆ setProcessNoiseDimension()

void usUnscentedKalmanFilter::setProcessNoiseDimension ( int  dim)

◆ setProcessNoiseType()

void usUnscentedKalmanFilter::setProcessNoiseType ( NoiseType  type)

Definition at line 170 of file usUnscentedKalmanFilter.cpp.

References m_processNoiseType.

◆ setSigmaPointGenerationType()

void usUnscentedKalmanFilter::setSigmaPointGenerationType ( usUnscentedKalmanFilter::SigmaPointGenerationType  type)

Definition at line 216 of file usUnscentedKalmanFilter.cpp.

References m_sigmaPointsGenerationType.

◆ setSigmaPointScalingFactor()

void usUnscentedKalmanFilter::setSigmaPointScalingFactor ( double  factor)

Definition at line 226 of file usUnscentedKalmanFilter.cpp.

References m_sigmaPointsScalingFactor.

◆ setSigmaPointSpreadThreshold()

void usUnscentedKalmanFilter::setSigmaPointSpreadThreshold ( double  threshold)

Definition at line 236 of file usUnscentedKalmanFilter.cpp.

References m_sigmaPointsSpreadThreshold.

◆ setState()

void usUnscentedKalmanFilter::setState ( const vpColVector &  state)

Definition at line 247 of file usUnscentedKalmanFilter.cpp.

References m_state, and m_stateDimension.

◆ setStateCovarianceMatrix()

void usUnscentedKalmanFilter::setStateCovarianceMatrix ( const vpMatrix &  mat)

Definition at line 259 of file usUnscentedKalmanFilter.cpp.

References m_stateCovarianceMatrix, and m_stateDimension.

◆ setStateDimension()

◆ stateExp()

vpColVector usUnscentedKalmanFilter::stateExp ( const vpColVector &  state,
const vpColVector &  stateCenter 
) const
virtual

Definition at line 609 of file usUnscentedKalmanFilter.cpp.

Referenced by updateState().

◆ stateLog()

vpColVector usUnscentedKalmanFilter::stateLog ( const vpColVector &  state,
const vpColVector &  stateCenter 
) const
virtual

◆ stateNorm()

double usUnscentedKalmanFilter::stateNorm ( const vpColVector &  state) const
virtual

Reimplemented in usTissueTranslationEstimatorUKF.

Definition at line 592 of file usUnscentedKalmanFilter.cpp.

Referenced by generateSigmaPoints().

◆ updateState()

Member Data Documentation

◆ m_computeMeasureNoiseCovarianceMatrixAutomatically

bool usUnscentedKalmanFilter::m_computeMeasureNoiseCovarianceMatrixAutomatically
protected

◆ m_computeProcessNoiseCovarianceMatrixAutomatically

bool usUnscentedKalmanFilter::m_computeProcessNoiseCovarianceMatrixAutomatically
protected

◆ m_measure

vpColVector usUnscentedKalmanFilter::m_measure
protected

◆ m_measureDimension

◆ m_measureNoiseCovarianceMatrix

◆ m_measureNoiseDimension

unsigned int usUnscentedKalmanFilter::m_measureNoiseDimension
protected

◆ m_measureNoiseType

NoiseType usUnscentedKalmanFilter::m_measureNoiseType
protected

◆ m_measureSigmaCovarianceMatrix

vpMatrix usUnscentedKalmanFilter::m_measureSigmaCovarianceMatrix
protected

◆ m_measureSigmaMean

vpColVector usUnscentedKalmanFilter::m_measureSigmaMean
protected

◆ m_processNoiseCovarianceMatrix

◆ m_processNoiseDimension

unsigned int usUnscentedKalmanFilter::m_processNoiseDimension
protected

◆ m_processNoiseType

NoiseType usUnscentedKalmanFilter::m_processNoiseType
protected

◆ m_sigmaPointsCovarianceWeights

vpColVector usUnscentedKalmanFilter::m_sigmaPointsCovarianceWeights
protected

◆ m_sigmaPointsGenerationType

SigmaPointGenerationType usUnscentedKalmanFilter::m_sigmaPointsGenerationType
protected

◆ m_sigmaPointsInit

vpMatrix usUnscentedKalmanFilter::m_sigmaPointsInit
protected

Definition at line 77 of file usUnscentedKalmanFilter.h.

Referenced by computePropagatedSigmaPoints(), and generateSigmaPoints().

◆ m_sigmaPointsMeanWeights

vpColVector usUnscentedKalmanFilter::m_sigmaPointsMeanWeights
protected

◆ m_sigmaPointsMeasure

vpMatrix usUnscentedKalmanFilter::m_sigmaPointsMeasure
protected

◆ m_sigmaPointsPropagated

vpMatrix usUnscentedKalmanFilter::m_sigmaPointsPropagated
protected

◆ m_sigmaPointsScalingFactor

double usUnscentedKalmanFilter::m_sigmaPointsScalingFactor
protected

◆ m_sigmaPointsSpreadThreshold

double usUnscentedKalmanFilter::m_sigmaPointsSpreadThreshold
protected

◆ m_state

◆ m_stateCovarianceMatrix

vpMatrix usUnscentedKalmanFilter::m_stateCovarianceMatrix
protected

◆ m_stateDimension

◆ m_stateMeasureSigmaCovarianceMatrix

vpMatrix usUnscentedKalmanFilter::m_stateMeasureSigmaCovarianceMatrix
protected

◆ m_stateSigmaCovarianceMatrix

vpMatrix usUnscentedKalmanFilter::m_stateSigmaCovarianceMatrix
protected

◆ m_stateSigmaMean

vpColVector usUnscentedKalmanFilter::m_stateSigmaMean
protected