UsTK : Ultrasound ToolKit  version 2.0.1 under development (2023-12-07)
usNeedleJacobians Namespace Reference

Functions

template<class NeedleInsertionModel >
bool getJacobian (NeedleInsertionModel model, std::function< bool(NeedleInsertionModel &, const vpColVector &)> InputVectorMethod, std::function< vpColVector(const NeedleInsertionModel &)> OutputVectorMethod, std::function< vpColVector(const vpColVector &, const vpColVector &, const double step)> DifferenceMethod, vpMatrix &J, const vpColVector &discretizationStep, bool centeredDifference=true)
 
template<class NeedleInsertionModel >
bool getJacobianScalarToScalar (NeedleInsertionModel model, std::function< bool(NeedleInsertionModel &, double)> InputScalarMethod, std::function< double(const NeedleInsertionModel &)> OutputScalarMethod, vpMatrix &J, double discretizationStep=1e-5, bool centeredDifference=true)
 
template<class NeedleInsertionModel >
bool getJacobianScalarToVector (NeedleInsertionModel model, std::function< bool(NeedleInsertionModel &, double)> InputScalarMethod, std::function< vpColVector(const NeedleInsertionModel &)> OutputVectorMethod, vpMatrix &J, double discretizationStep=1e-5, bool centeredDifference=true)
 
template<class NeedleInsertionModel >
bool getJacobianVectorToScalar (NeedleInsertionModel model, std::function< bool(NeedleInsertionModel &, const vpColVector &)> InputVectorMethod, std::function< double(const NeedleInsertionModel &)> OutputScalarMethod, vpMatrix &J, const vpColVector &discretizationStep, bool centeredDifference=true)
 
template<class NeedleInsertionModel >
bool getJacobianVectorToVector (NeedleInsertionModel model, std::function< bool(NeedleInsertionModel &, const vpColVector &)> InputVectorMethod, std::function< vpColVector(const NeedleInsertionModel &)> OutputVectorMethod, vpMatrix &J, const vpColVector &discretizationStep, bool centeredDifference=true)
 
template<class NeedleInsertionModel >
bool getJacobianVectorToPose (NeedleInsertionModel model, std::function< bool(NeedleInsertionModel &, const vpColVector &)> InputVectorMethod, std::function< vpHomogeneousMatrix(const NeedleInsertionModel &)> OutputVectorMethod, vpMatrix &J, const vpColVector &discretizationStep, bool centeredDifference=true)
 
template<class NeedleInsertionModel >
bool getJacobianWorldBaseVelocityToWorldTipVelocity (const NeedleInsertionModel &model, vpMatrix &J)
 
template<class NeedleInsertionModel >
bool getJacobianBaseVelocityToWorldTipVelocity (const NeedleInsertionModel &model, vpMatrix &J)
 
template<class NeedleInsertionModel >
bool getJacobianWorldBaseVelocityToTipVelocity (const NeedleInsertionModel &model, vpMatrix &J)
 
template<class NeedleInsertionModel >
bool getJacobianBaseVelocityToTipVelocity (const NeedleInsertionModel &model, vpMatrix &J)
 
template<class NeedleInsertionModel >
bool getJacobianBaseVelocityToBendingEnergy (const NeedleInsertionModel &model, vpMatrix &J)
 
template<class NeedleInsertionModel >
bool getJacobianWorldBaseVelocityToBendingEnergy (const NeedleInsertionModel &model, vpMatrix &J)
 
template<class NeedleInsertionModel >
bool getJacobianBaseVelocityToTissueEnergy (const NeedleInsertionModel &model, vpMatrix &J)
 
template<class NeedleInsertionModel >
bool getJacobianWorldBaseVelocityToTissueEnergy (const NeedleInsertionModel &model, vpMatrix &J)
 
template<class NeedleInsertionModel >
bool getJacobianBaseVelocityToNeedleInsertionPointVelocity (const NeedleInsertionModel &model, vpMatrix &J)
 
template<class NeedleInsertionModel >
bool getJacobianBaseVelocityToSurfaceTissueStretch (const NeedleInsertionModel &model, vpMatrix &J)
 
template<class NeedleInsertionModel >
bool getJacobianBaseVelocityToMaxTissueStretch (const NeedleInsertionModel &model, vpMatrix &J)
 
template<class NeedleInsertionModel >
bool getJacobianBaseVelocityToMeanTissueStretch (const NeedleInsertionModel &model, vpMatrix &J)
 
template<class NeedleInsertionModel >
bool getJacobianBaseVelocityToPointVelocity (const NeedleInsertionModel &model, vpMatrix &J, double l)
 
template<class NeedleInsertionModel >
bool getJacobianWorldBaseVelocityToPointVelocity (const NeedleInsertionModel &model, vpMatrix &J, double l)
 
template<class NeedleInsertionModel >
bool getJacobianBaseVelocityToTransversalTargetDistance (const NeedleInsertionModel &model, vpMatrix &J, const vpColVector &target)
 
template<class NeedleInsertionModel >
bool getJacobianBaseVelocityToTargetAngle (const NeedleInsertionModel &model, vpMatrix &J, const vpColVector &target)
 
template<class NeedleInsertionModel >
bool getJacobianSpringVelocityToPointVelocity (const NeedleInsertionModel &model, vpMatrix &J, int spring, double l)
 
template<class NeedleInsertionModel >
bool getJacobianSpringVelocityToPointsDistance (const NeedleInsertionModel &model, vpMatrix &J, int spring, const std::vector< vpColVector > &points)
 
template<class NeedleInsertionModel >
bool getJacobianRestPathPointVelocityToPointsVelocity (const NeedleInsertionModel &model, vpMatrix &J, int restPoint, const std::vector< double > &l)
 
template<class NeedleInsertionModel >
bool getJacobianRestPathPointVelocityToPointsDistance (const NeedleInsertionModel &model, vpMatrix &J, int restPoint, const std::vector< vpColVector > &points)
 
template<class NeedleInsertionModel >
bool getJacobianStiffnessPerUnitLengthToPointsDistance (const NeedleInsertionModel &model, vpMatrix &J, const std::vector< vpColVector > &points)
 
template<class NeedleInsertionModel >
bool getJacobianStiffnessPerUnitLengthToPointsVelocity (const NeedleInsertionModel &model, vpMatrix &J, const std::vector< double > &l)
 
template<class NeedleInsertionModel >
bool getJacobianBaseVelocityToBaseForceTorque (const NeedleInsertionModel &model, vpMatrix &J)
 
template<class NeedleInsertionModel >
bool getJacobianBaseVelocityToInsertionLength (const NeedleInsertionModel &model, vpMatrix &J)
 
template<class NeedleInsertionModel >
bool getJacobianStiffnessPerUnitLengthToPointsVelocity (const NeedleInsertionModel &model, vpMatrix &J, int i, const std::vector< double > &l)
 

Function Documentation

◆ getJacobian()

template<class NeedleInsertionModel >
bool usNeedleJacobians::getJacobian ( NeedleInsertionModel  model,
std::function< bool(NeedleInsertionModel &, const vpColVector &)>  InputVectorMethod,
std::function< vpColVector(const NeedleInsertionModel &)>  OutputVectorMethod,
std::function< vpColVector(const vpColVector &, const vpColVector &, const double step)>  DifferenceMethod,
vpMatrix &  J,
const vpColVector &  discretizationStep,
bool  centeredDifference 
)

Generic Jacobians.

Generic Jacobian computation.

Implementation

!

Definition at line 163 of file usNeedleJacobians.h.

Referenced by getJacobianScalarToScalar(), getJacobianScalarToVector(), getJacobianVectorToPose(), getJacobianVectorToScalar(), and getJacobianVectorToVector().

◆ getJacobianBaseVelocityToBaseForceTorque()

template<class NeedleInsertionModel >
bool usNeedleJacobians::getJacobianBaseVelocityToBaseForceTorque ( const NeedleInsertionModel &  model,
vpMatrix &  J 
)

Definition at line 465 of file usNeedleJacobians.h.

References getJacobianVectorToVector().

◆ getJacobianBaseVelocityToBendingEnergy()

template<class NeedleInsertionModel >
bool usNeedleJacobians::getJacobianBaseVelocityToBendingEnergy ( const NeedleInsertionModel &  model,
vpMatrix &  J 
)

Base to bending energy (1x6)

Examples
testUsNeedleJacobians.cpp.

Definition at line 398 of file usNeedleJacobians.h.

References getJacobianVectorToScalar().

◆ getJacobianBaseVelocityToInsertionLength()

template<class NeedleInsertionModel >
bool usNeedleJacobians::getJacobianBaseVelocityToInsertionLength ( const NeedleInsertionModel &  model,
vpMatrix &  J 
)

Definition at line 485 of file usNeedleJacobians.h.

References getJacobianVectorToScalar().

◆ getJacobianBaseVelocityToMaxTissueStretch()

template<class NeedleInsertionModel >
bool usNeedleJacobians::getJacobianBaseVelocityToMaxTissueStretch ( const NeedleInsertionModel &  model,
vpMatrix &  J 
)
Examples
testUsNeedleJacobians.cpp.

Definition at line 515 of file usNeedleJacobians.h.

References getJacobianVectorToScalar().

◆ getJacobianBaseVelocityToMeanTissueStretch()

template<class NeedleInsertionModel >
bool usNeedleJacobians::getJacobianBaseVelocityToMeanTissueStretch ( const NeedleInsertionModel &  model,
vpMatrix &  J 
)
Examples
testUsNeedleJacobians.cpp.

Definition at line 528 of file usNeedleJacobians.h.

References getJacobianVectorToScalar().

◆ getJacobianBaseVelocityToNeedleInsertionPointVelocity()

template<class NeedleInsertionModel >
bool usNeedleJacobians::getJacobianBaseVelocityToNeedleInsertionPointVelocity ( const NeedleInsertionModel &  model,
vpMatrix &  J 
)

◆ getJacobianBaseVelocityToPointVelocity()

template<class NeedleInsertionModel >
bool usNeedleJacobians::getJacobianBaseVelocityToPointVelocity ( const NeedleInsertionModel &  model,
vpMatrix &  J,
double  l 
)

Base to needle point (3x6)

Base to model point (3x6)

Examples
testUsNeedleJacobians.cpp.

Definition at line 543 of file usNeedleJacobians.h.

References getJacobianVectorToVector().

◆ getJacobianBaseVelocityToSurfaceTissueStretch()

template<class NeedleInsertionModel >
bool usNeedleJacobians::getJacobianBaseVelocityToSurfaceTissueStretch ( const NeedleInsertionModel &  model,
vpMatrix &  J 
)

◆ getJacobianBaseVelocityToTargetAngle()

template<class NeedleInsertionModel >
bool usNeedleJacobians::getJacobianBaseVelocityToTargetAngle ( const NeedleInsertionModel &  model,
vpMatrix &  J,
const vpColVector &  target 
)
Examples
testUsNeedleJacobians.cpp.

Definition at line 590 of file usNeedleJacobians.h.

References getJacobianVectorToScalar().

◆ getJacobianBaseVelocityToTipVelocity()

template<class NeedleInsertionModel >
bool usNeedleJacobians::getJacobianBaseVelocityToTipVelocity ( const NeedleInsertionModel &  model,
vpMatrix &  J 
)

◆ getJacobianBaseVelocityToTissueEnergy()

template<class NeedleInsertionModel >
bool usNeedleJacobians::getJacobianBaseVelocityToTissueEnergy ( const NeedleInsertionModel &  model,
vpMatrix &  J 
)

Base to tissue deformation energy (1x6)

Examples
testUsNeedleJacobians.cpp.

Definition at line 426 of file usNeedleJacobians.h.

References getJacobianVectorToScalar().

◆ getJacobianBaseVelocityToTransversalTargetDistance()

template<class NeedleInsertionModel >
bool usNeedleJacobians::getJacobianBaseVelocityToTransversalTargetDistance ( const NeedleInsertionModel &  model,
vpMatrix &  J,
const vpColVector &  target 
)

Base to features (1x6)

Examples
testUsNeedleJacobians.cpp.

Definition at line 571 of file usNeedleJacobians.h.

References getJacobianVectorToScalar().

◆ getJacobianBaseVelocityToWorldTipVelocity()

template<class NeedleInsertionModel >
bool usNeedleJacobians::getJacobianBaseVelocityToWorldTipVelocity ( const NeedleInsertionModel &  model,
vpMatrix &  J 
)

◆ getJacobianRestPathPointVelocityToPointsDistance()

template<class NeedleInsertionModel >
bool usNeedleJacobians::getJacobianRestPathPointVelocityToPointsDistance ( const NeedleInsertionModel &  model,
vpMatrix &  J,
int  restPoint,
const std::vector< vpColVector > &  points 
)

Rest path points distance from points (nbPointsx3)

Examples
testUsNeedleJacobians.cpp.

Definition at line 679 of file usNeedleJacobians.h.

References getJacobianVectorToVector().

◆ getJacobianRestPathPointVelocityToPointsVelocity()

template<class NeedleInsertionModel >
bool usNeedleJacobians::getJacobianRestPathPointVelocityToPointsVelocity ( const NeedleInsertionModel &  model,
vpMatrix &  J,
int  restPoint,
const std::vector< double > &  l 
)

Rest path points to model point (3x3)

Examples
testUsNeedleJacobians.cpp.

Definition at line 642 of file usNeedleJacobians.h.

References getJacobianVectorToVector().

◆ getJacobianScalarToScalar()

template<class NeedleInsertionModel >
bool usNeedleJacobians::getJacobianScalarToScalar ( NeedleInsertionModel  model,
std::function< bool(NeedleInsertionModel &, double)>  InputScalarMethod,
std::function< double(const NeedleInsertionModel &)>  OutputScalarMethod,
vpMatrix &  J,
double  discretizationStep = 1e-5,
bool  centeredDifference = true 
)

Definition at line 206 of file usNeedleJacobians.h.

References getJacobian().

◆ getJacobianScalarToVector()

template<class NeedleInsertionModel >
bool usNeedleJacobians::getJacobianScalarToVector ( NeedleInsertionModel  model,
std::function< bool(NeedleInsertionModel &, double)>  InputScalarMethod,
std::function< vpColVector(const NeedleInsertionModel &)>  OutputVectorMethod,
vpMatrix &  J,
double  discretizationStep = 1e-5,
bool  centeredDifference = true 
)

◆ getJacobianSpringVelocityToPointsDistance()

template<class NeedleInsertionModel >
bool usNeedleJacobians::getJacobianSpringVelocityToPointsDistance ( const NeedleInsertionModel &  model,
vpMatrix &  J,
int  spring,
const std::vector< vpColVector > &  points 
)

Springs to distance from points (nbPointsx6)

Springs to distance from points (nbPointsx3)

Examples
testUsNeedleJacobians.cpp.

Definition at line 622 of file usNeedleJacobians.h.

References getJacobianVectorToVector().

◆ getJacobianSpringVelocityToPointVelocity()

template<class NeedleInsertionModel >
bool usNeedleJacobians::getJacobianSpringVelocityToPointVelocity ( const NeedleInsertionModel &  model,
vpMatrix &  J,
int  spring,
double  l 
)

Springs to needle point (3x6)

Springs to model point (3x3)

Examples
testUsNeedleJacobians.cpp.

Definition at line 611 of file usNeedleJacobians.h.

References getJacobianVectorToVector().

◆ getJacobianStiffnessPerUnitLengthToPointsDistance()

template<class NeedleInsertionModel >
bool usNeedleJacobians::getJacobianStiffnessPerUnitLengthToPointsDistance ( const NeedleInsertionModel &  model,
vpMatrix &  J,
const std::vector< vpColVector > &  points 
)

Stiffness per unit length to distance from points (nbPointsx1)

Examples
testUsNeedleJacobians.cpp.

Definition at line 715 of file usNeedleJacobians.h.

References getJacobianScalarToVector().

◆ getJacobianStiffnessPerUnitLengthToPointsVelocity() [1/2]

template<class NeedleInsertionModel >
bool usNeedleJacobians::getJacobianStiffnessPerUnitLengthToPointsVelocity ( const NeedleInsertionModel &  model,
vpMatrix &  J,
const std::vector< double > &  l 
)

Stiffness per unit length to needle point ( (3*nbPoints)x1 matrix)

Stiffness per unit length to model point ( (3*nbPoints)x1 matrix)

Examples
testUsNeedleJacobians.cpp.

Definition at line 735 of file usNeedleJacobians.h.

References getJacobianScalarToVector().

◆ getJacobianStiffnessPerUnitLengthToPointsVelocity() [2/2]

template<class NeedleInsertionModel >
bool usNeedleJacobians::getJacobianStiffnessPerUnitLengthToPointsVelocity ( const NeedleInsertionModel &  model,
vpMatrix &  J,
int  i,
const std::vector< double > &  l 
)

Stiffness per unit length to model point (multilayer) ( (3*nbPoints) x 1 matrix)

Definition at line 759 of file usNeedleJacobians.h.

References getJacobianScalarToVector().

◆ getJacobianVectorToPose()

template<class NeedleInsertionModel >
bool usNeedleJacobians::getJacobianVectorToPose ( NeedleInsertionModel  model,
std::function< bool(NeedleInsertionModel &, const vpColVector &)>  InputVectorMethod,
std::function< vpHomogeneousMatrix(const NeedleInsertionModel &)>  OutputVectorMethod,
vpMatrix &  J,
const vpColVector &  discretizationStep,
bool  centeredDifference = true 
)

◆ getJacobianVectorToScalar()

template<class NeedleInsertionModel >
bool usNeedleJacobians::getJacobianVectorToScalar ( NeedleInsertionModel  model,
std::function< bool(NeedleInsertionModel &, const vpColVector &)>  InputVectorMethod,
std::function< double(const NeedleInsertionModel &)>  OutputScalarMethod,
vpMatrix &  J,
const vpColVector &  discretizationStep,
bool  centeredDifference = true 
)

◆ getJacobianVectorToVector()

template<class NeedleInsertionModel >
bool usNeedleJacobians::getJacobianVectorToVector ( NeedleInsertionModel  model,
std::function< bool(NeedleInsertionModel &, const vpColVector &)>  InputVectorMethod,
std::function< vpColVector(const NeedleInsertionModel &)>  OutputVectorMethod,
vpMatrix &  J,
const vpColVector &  discretizationStep,
bool  centeredDifference = true 
)

◆ getJacobianWorldBaseVelocityToBendingEnergy()

template<class NeedleInsertionModel >
bool usNeedleJacobians::getJacobianWorldBaseVelocityToBendingEnergy ( const NeedleInsertionModel &  model,
vpMatrix &  J 
)
Examples
testUsNeedleJacobians.cpp.

Definition at line 411 of file usNeedleJacobians.h.

References getJacobianVectorToScalar().

◆ getJacobianWorldBaseVelocityToPointVelocity()

template<class NeedleInsertionModel >
bool usNeedleJacobians::getJacobianWorldBaseVelocityToPointVelocity ( const NeedleInsertionModel &  model,
vpMatrix &  J,
double  l 
)
Examples
testUsNeedleJacobians.cpp.

Definition at line 556 of file usNeedleJacobians.h.

References getJacobianVectorToVector().

◆ getJacobianWorldBaseVelocityToTipVelocity()

template<class NeedleInsertionModel >
bool usNeedleJacobians::getJacobianWorldBaseVelocityToTipVelocity ( const NeedleInsertionModel &  model,
vpMatrix &  J 
)

Base to tip.

Examples
testUsNeedleJacobians.cpp.

Definition at line 302 of file usNeedleJacobians.h.

References getJacobianVectorToPose().

Referenced by getJacobianWorldBaseVelocityToWorldTipVelocity().

◆ getJacobianWorldBaseVelocityToTissueEnergy()

template<class NeedleInsertionModel >
bool usNeedleJacobians::getJacobianWorldBaseVelocityToTissueEnergy ( const NeedleInsertionModel &  model,
vpMatrix &  J 
)
Examples
testUsNeedleJacobians.cpp.

Definition at line 439 of file usNeedleJacobians.h.

References getJacobianVectorToScalar().

◆ getJacobianWorldBaseVelocityToWorldTipVelocity()

template<class NeedleInsertionModel >
bool usNeedleJacobians::getJacobianWorldBaseVelocityToWorldTipVelocity ( const NeedleInsertionModel &  model,
vpMatrix &  J 
)

Base to tip (manipulation Jacobian) (6x6)

Examples
testUsNeedleJacobians.cpp.

Definition at line 340 of file usNeedleJacobians.h.

References getJacobianWorldBaseVelocityToTipVelocity().