UsTK : Ultrasound ToolKit
version 2.0.1 under development (2024-12-17)
|
#include <visp3/ustk_needle_modeling/usNeedleInsertionModelVirtualSprings.h>
Public Types | |
enum class | InsertionType : int { ForceInsert , ForceRemove , NaturalBehavior } |
enum class | ModelPreset : int { BiopsyNeedle , BiopsyCannula , AbayazidRRM13 , MisraRSRO10_PlastisolA , RoesthuisAM12 , SteelSoftTissue , SRL_BiopsyNID , NDI_Pink_Stylet } |
Public Member Functions | |
usNeedleInsertionModelVirtualSprings () | |
usNeedleInsertionModelVirtualSprings (const usNeedleInsertionModelVirtualSprings &needle) | |
virtual | ~usNeedleInsertionModelVirtualSprings () |
const usNeedleInsertionModelVirtualSprings & | operator= (const usNeedleInsertionModelVirtualSprings &needle) |
virtual usNeedleInsertionModelVirtualSprings * | clone () const |
void | loadPreset (const ModelPreset preset) |
void | setTipForce (double tipForce) |
double | getTipForce () |
void | setBevelAngle (double angle) |
double | getBevelAngle () const |
void | setDefaultSpringStiffness (double K) |
double | getDefaultSpringStiffness () const |
void | setStiffnessPerUnitLength (double K) |
double | getStiffnessPerUnitLength () const |
int | getNbSprings () const |
int | getNbMeasureSprings () const |
const usNeedleModelSpline & | accessNeedle () const |
usNeedleModelSpline & | accessNeedle () |
bool | IsNeedleInserted () const |
vpColVector | getNeedleInsertionPoint () const |
vpColVector | getTissueInsertionPoint () const |
double | getNeedleFreeLength () const |
double | getInsertionDepth () const |
const usOrientedPlane3D & | accessSurface () const |
usOrientedPlane3D & | accessSurface () |
const usVirtualSpring & | accessSpring (int i) const |
void | setInterSpringDistance (double interSpringDistance) |
double | getInterSpringDistance () const |
void | setInterTipSpringDistance (double interTipSpringDistance) |
double | getInterTipSpringDistance () const |
void | setNbMinTipSprings (int nb) |
int | getNbMinTipSprings () const |
void | setNbMaxTipSprings (int nb) |
int | getNbMaxTipSprings () const |
void | AllowSpringAddition (bool flag) |
void | AllowSpringRemoval (bool flag) |
void | setInsertionBehavior (InsertionType type) |
InsertionType | getInsertionBehavior () const |
void | setAutomaticSpringAddition (bool flag) |
bool | getAutomaticSpringAddition () const |
double | getPathDistanceFromPoint (const vpColVector &P) const |
double | getTissueDeformationEnergy () const |
double | getSurfaceTissueStretch () const |
double | getMaxTissueStretch (double *lmax=nullptr) const |
double | getMeanTissueStretch () const |
bool | setBasePose (const vpPoseVector &p) |
vpPoseVector | getBasePose () const |
void | addMeasureSpring (const vpColVector &p, const vpColVector &d) |
bool | setSpringPosition (int index, const vpColVector &P, bool update=false) |
bool | setSpringDirection (int index, const vpColVector &D, bool update=false) |
void | setSpringStiffness (int index, double K, bool update=false) |
bool | moveSpringPosition (int index, const vpColVector &dP, bool update=false) |
bool | moveSpringDirection (int index, const vpThetaUVector &thetaU, bool update=false) |
void | addSpringStiffness (int index, double dK, bool update=false) |
void | setSurfaceAtTip () |
int | addInsertionPoint (usVirtualSpring spg) |
int | addInsertionPoint (const vpColVector &p, const vpColVector &d) |
void | addInsertionPointOnSegmentHard (int segment, double s) |
void | addInsertionPointAtTipHard () |
void | addInsertionPointOnSegment (int segment, double s) |
void | addInsertionPointAtTip () |
void | removeInsertionPointsHard (int first, int last=-1) |
void | removeLastInsertionPointHard () |
void | removeInsertionPoints (int first, int last=-1) |
void | removeLastInsertionPoint () |
void | removeAutoAddedSprings () |
void | fusionSprings (int firstSpring, int lastSpring) |
void | updateSpringsStiffness () |
void | updateCutAngle () |
void | updateTipForce () |
void | updateInsertionDirections () |
bool | checkInactiveMeasureSprings () |
void | solveSegmentsParametersSparseEigen () |
void | solveSegmentsParametersOpenCV () |
void | solveSegmentsParametersViSP () |
void | solveSegmentsParameters () |
void | computeSegmentsLengths () |
bool | addRemoveSprings () |
bool | updateState () |
void | showInsertionPoints () const |
void | showInsertionDirections () const |
void | showStiffnesses () const |
virtual bool | setBasePose (const vpPoseVector &pose)=0 |
bool | setBasePose (double tx, double ty, double tz, double thetax, double thetay, double thetaz) |
bool | setBasePose (const vpHomogeneousMatrix &Hpose) |
bool | setBasePose (double tx, double ty, double tz, double thetax, double thetay, double thetaz) |
bool | setBasePose (const vpHomogeneousMatrix &Hpose) |
vpHomogeneousMatrix | getWorldMbase () const |
vpColVector | getBasePosition () const |
bool | moveBase (const vpColVector &v, double time) |
bool | moveBase (double tx, double ty, double tz, double thetax, double thetay, double thetaz) |
bool | moveBase (const vpPoseVector &pose) |
bool | moveBase (const vpColVector &v) |
bool | moveBase (const vpHomogeneousMatrix &Hmotion) |
bool | moveBaseWorldFrame (const vpColVector &command, double time) |
bool | moveBaseWorldFrame (double tx, double ty, double tz, double thetax, double thetay, double thetaz) |
bool | moveBaseWorldFrame (const vpPoseVector &pose) |
bool | moveBaseWorldFrame (const vpColVector &v) |
bool | moveBaseWorldFrame (const vpHomogeneousMatrix &Hmotion) |
Protected Attributes | |
usNeedleModelSpline | m_needle |
double | m_tipForce |
double | m_tipMoment |
double | m_cutAngle |
double | m_bevelLength |
double | m_defaultSpringStiffness |
double | m_stiffnessPerUnitLength |
std::vector< usVirtualSpring > | m_springs |
std::vector< usVirtualSpring > | m_inactiveAutoAddedSprings |
std::vector< usVirtualSpring > | m_inactiveMeasureSprings |
usOrientedPlane3D | m_tissueSurface |
double | m_interSpringDistance |
double | m_interTipSpringDistance |
bool | m_IsStateConsistent |
bool | m_LastSegmentLengthComputed |
InsertionType | m_insertionBehavior |
bool | m_IsInserting |
bool | m_AllowSpringAddition |
bool | m_AllowSpringRemoval |
bool | m_AutomaticSpringAddition |
int | m_tipSpringsIndex |
int | m_nbMinTipSprings |
int | m_nbMaxTipSprings |
Friends | |
VISP_EXPORT std::ostream & | operator<< (std::ostream &s, const usNeedleInsertionModelVirtualSprings &needle) |
VISP_EXPORT std::istream & | operator>> (std::istream &s, usNeedleInsertionModelVirtualSprings &needle) |
VISP_EXPORT std::ostream & | operator<<= (std::ostream &s, const usNeedleInsertionModelVirtualSprings &needle) |
VISP_EXPORT std::istream & | operator>>= (std::istream &s, usNeedleInsertionModelVirtualSprings &needle) |
Definition at line 50 of file usNeedleInsertionModelVirtualSprings.h.
|
strong |
Enumerator | |
---|---|
ForceInsert | |
ForceRemove | |
NaturalBehavior |
Definition at line 53 of file usNeedleInsertionModelVirtualSprings.h.
|
strong |
Enumerator | |
---|---|
BiopsyNeedle | |
BiopsyCannula | |
AbayazidRRM13 | |
MisraRSRO10_PlastisolA | |
RoesthuisAM12 | |
SteelSoftTissue | |
SRL_BiopsyNID | |
NDI_Pink_Stylet |
Definition at line 54 of file usNeedleInsertionModelVirtualSprings.h.
usNeedleInsertionModelVirtualSprings::usNeedleInsertionModelVirtualSprings | ( | ) |
Constructors, destructor.
Definition at line 58 of file usNeedleInsertionModelVirtualSprings.cpp.
References solveSegmentsParameters().
Referenced by clone().
usNeedleInsertionModelVirtualSprings::usNeedleInsertionModelVirtualSprings | ( | const usNeedleInsertionModelVirtualSprings & | needle | ) |
Definition at line 82 of file usNeedleInsertionModelVirtualSprings.cpp.
|
virtual |
Definition at line 110 of file usNeedleInsertionModelVirtualSprings.cpp.
usNeedleModelSpline & usNeedleInsertionModelVirtualSprings::accessNeedle | ( | ) |
Definition at line 298 of file usNeedleInsertionModelVirtualSprings.cpp.
References m_needle.
const usNeedleModelSpline & usNeedleInsertionModelVirtualSprings::accessNeedle | ( | ) | const |
Model parameters.
Needle
Definition at line 293 of file usNeedleInsertionModelVirtualSprings.cpp.
References m_needle.
Referenced by usNeedleModelingDisplayTools::display().
const usVirtualSpring & usNeedleInsertionModelVirtualSprings::accessSpring | ( | int | i | ) | const |
Definition at line 341 of file usNeedleInsertionModelVirtualSprings.cpp.
References m_springs.
Referenced by usNeedleModelingDisplayTools::display().
usOrientedPlane3D & usNeedleInsertionModelVirtualSprings::accessSurface | ( | ) |
Definition at line 336 of file usNeedleInsertionModelVirtualSprings.cpp.
References m_tissueSurface.
const usOrientedPlane3D & usNeedleInsertionModelVirtualSprings::accessSurface | ( | ) | const |
Tissue.
Definition at line 331 of file usNeedleInsertionModelVirtualSprings.cpp.
References m_tissueSurface.
Referenced by usNeedleModelingDisplayTools::display().
int usNeedleInsertionModelVirtualSprings::addInsertionPoint | ( | const vpColVector & | p, |
const vpColVector & | d | ||
) |
Definition at line 781 of file usNeedleInsertionModelVirtualSprings.cpp.
References usBSpline3D::accessLastSegment(), usBSpline3D::accessSegment(), addInsertionPointOnSegmentHard(), usOrientedPlane3D::getDirection(), usPolynomialCurve3D::getEndPoint(), usBSpline3D::getNbSegments(), usPolynomialCurve3D::getParametricLength(), usPolynomialCurve3D::getPoint(), usPolynomialCurve3D::getStartPoint(), usGeometryTools::IsPointInFrontOfPlane(), m_bevelLength, m_interTipSpringDistance, m_needle, m_springs, m_stiffnessPerUnitLength, usOrientedPlane3D::setDirection(), and usVirtualSpring::setStiffness().
int usNeedleInsertionModelVirtualSprings::addInsertionPoint | ( | usVirtualSpring | spg | ) |
Internal model command.
Definition at line 718 of file usNeedleInsertionModelVirtualSprings.cpp.
References usBSpline3D::accessLastSegment(), usBSpline3D::accessSegment(), addInsertionPointOnSegmentHard(), usGeometryTools::DoesSegmentCrossPlane(), usGeometryTools::DoesSegmentCrossPlaneDirect(), usBSpline3D::getNbSegments(), usPolynomialCurve3D::getParametricLength(), usGeometryTools::getPlaneCurveCrossingPoint(), m_bevelLength, m_needle, m_springs, m_stiffnessPerUnitLength, and usVirtualSpring::setStiffness().
Referenced by checkInactiveMeasureSprings().
void usNeedleInsertionModelVirtualSprings::addInsertionPointAtTip | ( | ) |
Definition at line 864 of file usNeedleInsertionModelVirtualSprings.cpp.
References usBSpline3D::accessLastSegment(), addInsertionPointOnSegment(), usBSpline3D::getNbSegments(), usPolynomialCurve3D::getParametricLength(), and m_needle.
void usNeedleInsertionModelVirtualSprings::addInsertionPointAtTipHard | ( | ) |
Definition at line 650 of file usNeedleInsertionModelVirtualSprings.cpp.
References usBSpline3D::accessLastSegment(), addInsertionPointOnSegmentHard(), usBSpline3D::getNbSegments(), usPolynomialCurve3D::getParametricLength(), and m_needle.
void usNeedleInsertionModelVirtualSprings::addInsertionPointOnSegment | ( | int | segment, |
double | s | ||
) |
Definition at line 656 of file usNeedleInsertionModelVirtualSprings.cpp.
References usBSpline3D::accessLastSegment(), usBSpline3D::accessSegment(), addInsertionPointOnSegmentHard(), usBSpline3D::getNbSegments(), usPolynomialCurve3D::getParametricLength(), m_bevelLength, m_needle, m_springs, and m_stiffnessPerUnitLength.
Referenced by addInsertionPointAtTip(), and addRemoveSprings().
void usNeedleInsertionModelVirtualSprings::addInsertionPointOnSegmentHard | ( | int | segment, |
double | s | ||
) |
Definition at line 610 of file usNeedleInsertionModelVirtualSprings.cpp.
References usBSpline3D::accessLastSegment(), usBSpline3D::accessSegment(), usPolynomialCurve3D::changeCoefficientsToFitBoundaries(), usPolynomialCurve3D::getEndPoint(), usPolynomialCurve3D::getEndTangent(), usBSpline3D::getNbSegments(), usNeedleModelSpline::getOuterDiameter(), usPolynomialCurve3D::getParametricLength(), usPolynomialCurve3D::getStartPoint(), usPolynomialCurve3D::getSubPolynomialCurve(), usNeedleModelBaseTip::getTipPose(), usBSpline3D::insertSegment(), m_bevelLength, m_cutAngle, m_defaultSpringStiffness, m_needle, m_springs, and usPolynomialCurve3D::setParametricLength().
Referenced by addInsertionPoint(), addInsertionPointAtTipHard(), and addInsertionPointOnSegment().
void usNeedleInsertionModelVirtualSprings::addMeasureSpring | ( | const vpColVector & | p, |
const vpColVector & | d | ||
) |
Control of the tissue.
Definition at line 2000 of file usNeedleInsertionModelVirtualSprings.cpp.
References usVirtualSpring::AllowDirectionUpdate(), usVirtualSpring::AllowPositionUpdate(), usVirtualSpring::AllowStiffnessUpdate(), usOrientedPlane3D::getDirection(), usGeometryTools::IsPointInFrontOfPlane(), m_inactiveMeasureSprings, and m_tissueSurface.
bool usNeedleInsertionModelVirtualSprings::addRemoveSprings | ( | ) |
Definition at line 1845 of file usNeedleInsertionModelVirtualSprings.cpp.
References usBSpline3D::accessLastSegment(), usBSpline3D::accessSegment(), addInsertionPointOnSegment(), usGeometryTools::DoesSegmentCrossPlane(), fusionSprings(), usOrientedPlane3D::getDirection(), usNeedleModelSpline::getFullLength(), usBSpline3D::getNbSegments(), usPolynomialCurve3D::getParametricLength(), usGeometryTools::getPlaneCurveCrossingPoint(), m_AutomaticSpringAddition, m_interSpringDistance, m_interTipSpringDistance, m_LastSegmentLengthComputed, m_nbMaxTipSprings, m_nbMinTipSprings, m_needle, m_springs, m_tipSpringsIndex, m_tissueSurface, removeInsertionPoints(), and usPolynomialCurve3D::setParametricLength().
Referenced by updateState().
void usNeedleInsertionModelVirtualSprings::addSpringStiffness | ( | int | index, |
double | dK, | ||
bool | update = false |
||
) |
Definition at line 595 of file usNeedleInsertionModelVirtualSprings.cpp.
References m_springs, and setSpringStiffness().
void usNeedleInsertionModelVirtualSprings::AllowSpringAddition | ( | bool | flag | ) |
Internal.
Definition at line 401 of file usNeedleInsertionModelVirtualSprings.cpp.
References m_AllowSpringAddition.
void usNeedleInsertionModelVirtualSprings::AllowSpringRemoval | ( | bool | flag | ) |
Definition at line 406 of file usNeedleInsertionModelVirtualSprings.cpp.
References m_AllowSpringRemoval.
bool usNeedleInsertionModelVirtualSprings::checkInactiveMeasureSprings | ( | ) |
Definition at line 1978 of file usNeedleInsertionModelVirtualSprings.cpp.
References usBSpline3D::accessSegment(), addInsertionPoint(), usGeometryTools::DoesSegmentCrossPlaneDirect(), usBSpline3D::getNbSegments(), m_inactiveMeasureSprings, m_needle, and m_tipSpringsIndex.
Referenced by updateState().
|
virtual |
Definition at line 112 of file usNeedleInsertionModelVirtualSprings.cpp.
References usNeedleInsertionModelVirtualSprings().
void usNeedleInsertionModelVirtualSprings::computeSegmentsLengths | ( | ) |
Definition at line 1828 of file usNeedleInsertionModelVirtualSprings.cpp.
References usBSpline3D::accessSegment(), usNeedleModelSpline::getFullLength(), usPolynomialCurve3D::getLength(), usBSpline3D::getNbSegments(), m_LastSegmentLengthComputed, m_needle, m_springs, and usPolynomialCurve3D::setParametricLength().
Referenced by updateState().
void usNeedleInsertionModelVirtualSprings::fusionSprings | ( | int | firstSpring, |
int | lastSpring | ||
) |
Definition at line 962 of file usNeedleInsertionModelVirtualSprings.cpp.
References usBSpline3D::accessLastSegment(), usBSpline3D::accessSegment(), usPolynomialCurve3D::getParametricLength(), m_bevelLength, m_inactiveMeasureSprings, m_needle, m_springs, and removeInsertionPointsHard().
Referenced by addRemoveSprings(), and removeInsertionPoints().
bool usNeedleInsertionModelVirtualSprings::getAutomaticSpringAddition | ( | ) | const |
Definition at line 426 of file usNeedleInsertionModelVirtualSprings.cpp.
References m_AutomaticSpringAddition.
|
virtual |
Implements usNeedleInsertionModelInterface.
Definition at line 535 of file usNeedleInsertionModelVirtualSprings.cpp.
References usNeedleModelBaseTip::getBasePose(), and m_needle.
|
inherited |
Definition at line 51 of file usNeedleInsertionModelInterface.cpp.
References usNeedleInsertionModelInterface::getBasePose().
double usNeedleInsertionModelVirtualSprings::getBevelAngle | ( | ) | const |
Definition at line 250 of file usNeedleInsertionModelVirtualSprings.cpp.
References usNeedleModelSpline::getOuterDiameter(), m_bevelLength, and m_needle.
double usNeedleInsertionModelVirtualSprings::getDefaultSpringStiffness | ( | ) | const |
Definition at line 261 of file usNeedleInsertionModelVirtualSprings.cpp.
References m_defaultSpringStiffness.
usNeedleInsertionModelVirtualSprings::InsertionType usNeedleInsertionModelVirtualSprings::getInsertionBehavior | ( | ) | const |
Definition at line 416 of file usNeedleInsertionModelVirtualSprings.cpp.
References m_insertionBehavior.
double usNeedleInsertionModelVirtualSprings::getInsertionDepth | ( | ) | const |
Definition at line 323 of file usNeedleInsertionModelVirtualSprings.cpp.
References usBSpline3D::accessSegment(), usNeedleModelSpline::getFullLength(), usBSpline3D::getNbSegments(), usPolynomialCurve3D::getParametricLength(), and m_needle.
Referenced by getMeanTissueStretch().
double usNeedleInsertionModelVirtualSprings::getInterSpringDistance | ( | ) | const |
Definition at line 351 of file usNeedleInsertionModelVirtualSprings.cpp.
References m_interSpringDistance.
double usNeedleInsertionModelVirtualSprings::getInterTipSpringDistance | ( | ) | const |
Definition at line 364 of file usNeedleInsertionModelVirtualSprings.cpp.
References m_interTipSpringDistance.
double usNeedleInsertionModelVirtualSprings::getMaxTissueStretch | ( | double * | lmax = nullptr | ) | const |
Definition at line 471 of file usNeedleInsertionModelVirtualSprings.cpp.
References usBSpline3D::accessSegment(), usPolynomialCurve3D::getEndPoint(), usPolynomialCurve3D::getParametricLength(), IsNeedleInserted(), m_needle, and m_springs.
double usNeedleInsertionModelVirtualSprings::getMeanTissueStretch | ( | ) | const |
Definition at line 499 of file usNeedleInsertionModelVirtualSprings.cpp.
References usBSpline3D::accessSegment(), usPolynomialCurve3D::getEndPoint(), getInsertionDepth(), usPolynomialCurve3D::getParametricLength(), m_needle, and m_springs.
int usNeedleInsertionModelVirtualSprings::getNbMaxTipSprings | ( | ) | const |
Definition at line 396 of file usNeedleInsertionModelVirtualSprings.cpp.
References m_nbMaxTipSprings.
int usNeedleInsertionModelVirtualSprings::getNbMeasureSprings | ( | ) | const |
Definition at line 285 of file usNeedleInsertionModelVirtualSprings.cpp.
References m_springs.
int usNeedleInsertionModelVirtualSprings::getNbMinTipSprings | ( | ) | const |
Definition at line 380 of file usNeedleInsertionModelVirtualSprings.cpp.
References m_nbMinTipSprings.
int usNeedleInsertionModelVirtualSprings::getNbSprings | ( | ) | const |
Definition at line 280 of file usNeedleInsertionModelVirtualSprings.cpp.
References m_springs.
Referenced by usNeedleModelingDisplayTools::display().
double usNeedleInsertionModelVirtualSprings::getNeedleFreeLength | ( | ) | const |
Definition at line 318 of file usNeedleInsertionModelVirtualSprings.cpp.
References usBSpline3D::accessSegment(), usPolynomialCurve3D::getParametricLength(), and m_needle.
vpColVector usNeedleInsertionModelVirtualSprings::getNeedleInsertionPoint | ( | ) | const |
Definition at line 308 of file usNeedleInsertionModelVirtualSprings.cpp.
References usBSpline3D::accessSegment(), usPolynomialCurve3D::getEndPoint(), and m_needle.
Referenced by getSurfaceTissueStretch().
double usNeedleInsertionModelVirtualSprings::getPathDistanceFromPoint | ( | const vpColVector & | P | ) | const |
Measure model information.
Needle position
Definition at line 431 of file usNeedleInsertionModelVirtualSprings.cpp.
References m_springs, and usGeometryTools::projectPointOnPlane().
double usNeedleInsertionModelVirtualSprings::getStiffnessPerUnitLength | ( | ) | const |
Definition at line 275 of file usNeedleInsertionModelVirtualSprings.cpp.
References m_stiffnessPerUnitLength.
double usNeedleInsertionModelVirtualSprings::getSurfaceTissueStretch | ( | ) | const |
Definition at line 463 of file usNeedleInsertionModelVirtualSprings.cpp.
References getNeedleInsertionPoint(), getTissueInsertionPoint(), IsNeedleInserted(), and m_springs.
double usNeedleInsertionModelVirtualSprings::getTipForce | ( | ) |
Definition at line 240 of file usNeedleInsertionModelVirtualSprings.cpp.
References m_tipForce.
double usNeedleInsertionModelVirtualSprings::getTissueDeformationEnergy | ( | ) | const |
Tissue deformation energy.
Definition at line 449 of file usNeedleInsertionModelVirtualSprings.cpp.
References usBSpline3D::accessSegment(), usPolynomialCurve3D::getEndPoint(), m_needle, and m_springs.
vpColVector usNeedleInsertionModelVirtualSprings::getTissueInsertionPoint | ( | ) | const |
Definition at line 313 of file usNeedleInsertionModelVirtualSprings.cpp.
References m_springs.
Referenced by getSurfaceTissueStretch().
|
inherited |
Definition at line 56 of file usNeedleInsertionModelInterface.cpp.
Referenced by usNeedleInsertionModelInterface::moveBase(), and usNeedleInsertionModelInterface::moveBaseWorldFrame().
bool usNeedleInsertionModelVirtualSprings::IsNeedleInserted | ( | ) | const |
Definition at line 303 of file usNeedleInsertionModelVirtualSprings.cpp.
References usNeedleModelBaseTip::getTipPosition(), usGeometryTools::IsPointInFrontOfPlane(), m_needle, and m_tissueSurface.
Referenced by getMaxTissueStretch(), and getSurfaceTissueStretch().
void usNeedleInsertionModelVirtualSprings::loadPreset | ( | const ModelPreset | preset | ) |
Parameters saving and loading.
Definition at line 153 of file usNeedleInsertionModelVirtualSprings.cpp.
References AbayazidRRM13, usNeedleModelSpline::AbayazidRRM13, BiopsyCannula, usNeedleModelSpline::BiopsyCannula, BiopsyNeedle, usNeedleModelSpline::BiopsyNeedle, usNeedleModelSpline::loadPreset(), m_needle, MisraRSRO10_PlastisolA, usNeedleModelSpline::MisraRSRO10_PlastisolA, NDI_Pink_Stylet, usNeedleModelSpline::NDI_Pink_Stylet, RoesthuisAM12, usNeedleModelSpline::RoesthuisAM12, setBevelAngle(), setInterSpringDistance(), setInterTipSpringDistance(), setNbMaxTipSprings(), setNbMinTipSprings(), setStiffnessPerUnitLength(), SRL_BiopsyNID, usNeedleModelSpline::SRL_BiopsyNID, SteelSoftTissue, and usNeedleModelSpline::SteelSoftTissue.
|
inherited |
Definition at line 89 of file usNeedleInsertionModelInterface.cpp.
References usNeedleInsertionModelInterface::moveBase().
|
inherited |
Definition at line 61 of file usNeedleInsertionModelInterface.cpp.
Referenced by usNeedleInsertionModelInterface::moveBase(), usNeedleInsertionModelKinematic::moveBase(), and usNeedleInsertionModelInterface::moveBaseWorldFrame().
|
inherited |
Definition at line 98 of file usNeedleInsertionModelInterface.cpp.
References usNeedleInsertionModelInterface::getWorldMbase(), and usNeedleInsertionModelInterface::setBasePose().
|
inherited |
Definition at line 84 of file usNeedleInsertionModelInterface.cpp.
References usNeedleInsertionModelInterface::moveBase().
|
inherited |
Definition at line 78 of file usNeedleInsertionModelInterface.cpp.
References usNeedleInsertionModelInterface::moveBase().
|
inherited |
Definition at line 106 of file usNeedleInsertionModelInterface.cpp.
Referenced by usNeedleInsertionModelInterface::moveBaseWorldFrame().
|
inherited |
Definition at line 132 of file usNeedleInsertionModelInterface.cpp.
References usNeedleInsertionModelInterface::moveBaseWorldFrame().
|
inherited |
Definition at line 142 of file usNeedleInsertionModelInterface.cpp.
References usNeedleInsertionModelInterface::getWorldMbase(), and usNeedleInsertionModelInterface::moveBase().
|
inherited |
Definition at line 127 of file usNeedleInsertionModelInterface.cpp.
References usNeedleInsertionModelInterface::moveBaseWorldFrame().
|
inherited |
Definition at line 121 of file usNeedleInsertionModelInterface.cpp.
References usNeedleInsertionModelInterface::moveBaseWorldFrame().
bool usNeedleInsertionModelVirtualSprings::moveSpringDirection | ( | int | index, |
const vpThetaUVector & | thetaU, | ||
bool | update = false |
||
) |
Definition at line 589 of file usNeedleInsertionModelVirtualSprings.cpp.
References m_springs, and setSpringDirection().
bool usNeedleInsertionModelVirtualSprings::moveSpringPosition | ( | int | index, |
const vpColVector & | dP, | ||
bool | update = false |
||
) |
Definition at line 584 of file usNeedleInsertionModelVirtualSprings.cpp.
References m_springs, and setSpringPosition().
const usNeedleInsertionModelVirtualSprings & usNeedleInsertionModelVirtualSprings::operator= | ( | const usNeedleInsertionModelVirtualSprings & | needle | ) |
Definition at line 117 of file usNeedleInsertionModelVirtualSprings.cpp.
References m_AllowSpringAddition, m_AllowSpringRemoval, m_AutomaticSpringAddition, m_bevelLength, m_cutAngle, m_defaultSpringStiffness, m_inactiveAutoAddedSprings, m_inactiveMeasureSprings, m_insertionBehavior, m_interSpringDistance, m_interTipSpringDistance, m_IsInserting, m_IsStateConsistent, m_LastSegmentLengthComputed, m_nbMaxTipSprings, m_nbMinTipSprings, m_needle, m_springs, m_stiffnessPerUnitLength, m_tipForce, m_tipMoment, m_tipSpringsIndex, and m_tissueSurface.
void usNeedleInsertionModelVirtualSprings::removeAutoAddedSprings | ( | ) |
Definition at line 953 of file usNeedleInsertionModelVirtualSprings.cpp.
References m_springs, m_tipSpringsIndex, and removeInsertionPoints().
Referenced by updateState().
void usNeedleInsertionModelVirtualSprings::removeInsertionPoints | ( | int | first, |
int | last = -1 |
||
) |
Definition at line 899 of file usNeedleInsertionModelVirtualSprings.cpp.
References usBSpline3D::accessLastSegment(), usBSpline3D::accessSegment(), fusionSprings(), usBSpline3D::getNbSegments(), usPolynomialCurve3D::getParametricLength(), m_bevelLength, m_inactiveMeasureSprings, m_needle, m_springs, removeInsertionPointsHard(), and removeLastInsertionPointHard().
Referenced by addRemoveSprings(), removeAutoAddedSprings(), and removeLastInsertionPoint().
void usNeedleInsertionModelVirtualSprings::removeInsertionPointsHard | ( | int | first, |
int | last = -1 |
||
) |
Definition at line 873 of file usNeedleInsertionModelVirtualSprings.cpp.
References usBSpline3D::accessSegment(), usPolynomialCurve3D::getParametricLength(), m_needle, m_springs, usBSpline3D::removeSegments(), and usPolynomialCurve3D::setParametricLength().
Referenced by fusionSprings(), removeInsertionPoints(), and removeLastInsertionPointHard().
void usNeedleInsertionModelVirtualSprings::removeLastInsertionPoint | ( | ) |
Definition at line 948 of file usNeedleInsertionModelVirtualSprings.cpp.
References m_springs, and removeInsertionPoints().
void usNeedleInsertionModelVirtualSprings::removeLastInsertionPointHard | ( | ) |
Definition at line 894 of file usNeedleInsertionModelVirtualSprings.cpp.
References m_springs, and removeInsertionPointsHard().
Referenced by removeInsertionPoints().
void usNeedleInsertionModelVirtualSprings::setAutomaticSpringAddition | ( | bool | flag | ) |
Definition at line 421 of file usNeedleInsertionModelVirtualSprings.cpp.
References m_AutomaticSpringAddition.
|
inherited |
Definition at line 46 of file usNeedleInsertionModelInterface.cpp.
References usNeedleInsertionModelInterface::setBasePose().
bool usNeedleInsertionModelInterface::setBasePose |
Control of the needle.
Control of the needle
Definition at line 51 of file usNeedleInsertionModelInterface.cpp.
|
virtual |
The following methods should be redefined in the derived classes.
Implements usNeedleInsertionModelInterface.
Definition at line 518 of file usNeedleInsertionModelVirtualSprings.cpp.
References usGeometryTools::IsPointInFrontOfPlane(), m_needle, m_springs, m_tissueSurface, usNeedleModelBaseTip::setBasePose(), and updateState().
virtual bool usNeedleInsertionModelInterface::setBasePose |
Control of the needle.
Control of the needle
|
inherited |
These function simply overload the previous ones.
Definition at line 40 of file usNeedleInsertionModelInterface.cpp.
References usNeedleInsertionModelInterface::setBasePose().
bool usNeedleInsertionModelInterface::setBasePose |
Control of the needle.
Control of the needle
Definition at line 50 of file usNeedleInsertionModelInterface.cpp.
void usNeedleInsertionModelVirtualSprings::setBevelAngle | ( | double | angle | ) |
Definition at line 245 of file usNeedleInsertionModelVirtualSprings.cpp.
References usNeedleModelSpline::getOuterDiameter(), m_bevelLength, and m_needle.
Referenced by loadPreset().
void usNeedleInsertionModelVirtualSprings::setDefaultSpringStiffness | ( | double | K | ) |
Tissue parameters.
Definition at line 255 of file usNeedleInsertionModelVirtualSprings.cpp.
References m_defaultSpringStiffness.
void usNeedleInsertionModelVirtualSprings::setInsertionBehavior | ( | InsertionType | type | ) |
Definition at line 411 of file usNeedleInsertionModelVirtualSprings.cpp.
References m_insertionBehavior.
void usNeedleInsertionModelVirtualSprings::setInterSpringDistance | ( | double | interSpringDistance | ) |
Definition at line 346 of file usNeedleInsertionModelVirtualSprings.cpp.
References m_interSpringDistance.
Referenced by loadPreset().
void usNeedleInsertionModelVirtualSprings::setInterTipSpringDistance | ( | double | interTipSpringDistance | ) |
Definition at line 356 of file usNeedleInsertionModelVirtualSprings.cpp.
References m_interSpringDistance, and m_interTipSpringDistance.
Referenced by loadPreset().
void usNeedleInsertionModelVirtualSprings::setNbMaxTipSprings | ( | int | nb | ) |
Definition at line 385 of file usNeedleInsertionModelVirtualSprings.cpp.
References m_nbMaxTipSprings, and m_nbMinTipSprings.
Referenced by loadPreset().
void usNeedleInsertionModelVirtualSprings::setNbMinTipSprings | ( | int | nb | ) |
Definition at line 369 of file usNeedleInsertionModelVirtualSprings.cpp.
References m_nbMaxTipSprings, and m_nbMinTipSprings.
Referenced by loadPreset().
bool usNeedleInsertionModelVirtualSprings::setSpringDirection | ( | int | index, |
const vpColVector & | D, | ||
bool | update = false |
||
) |
Definition at line 554 of file usNeedleInsertionModelVirtualSprings.cpp.
References m_springs, and updateState().
Referenced by moveSpringDirection().
bool usNeedleInsertionModelVirtualSprings::setSpringPosition | ( | int | index, |
const vpColVector & | P, | ||
bool | update = false |
||
) |
Definition at line 537 of file usNeedleInsertionModelVirtualSprings.cpp.
References m_springs, and updateState().
Referenced by moveSpringPosition().
void usNeedleInsertionModelVirtualSprings::setSpringStiffness | ( | int | index, |
double | K, | ||
bool | update = false |
||
) |
Definition at line 570 of file usNeedleInsertionModelVirtualSprings.cpp.
References m_springs, and updateState().
Referenced by addSpringStiffness().
void usNeedleInsertionModelVirtualSprings::setStiffnessPerUnitLength | ( | double | K | ) |
Definition at line 266 of file usNeedleInsertionModelVirtualSprings.cpp.
References m_stiffnessPerUnitLength, and updateTipForce().
Referenced by loadPreset().
void usNeedleInsertionModelVirtualSprings::setSurfaceAtTip | ( | ) |
Definition at line 600 of file usNeedleInsertionModelVirtualSprings.cpp.
References usBSpline3D::accessLastSegment(), usPolynomialCurve3D::getEndPoint(), usPolynomialCurve3D::getEndTangent(), usNeedleModelSpline::getOuterDiameter(), usNeedleModelBaseTip::getTipPose(), m_bevelLength, m_needle, m_tissueSurface, usOrientedPlane3D::setDirection(), and usOrientedPlane3D::setPosition().
void usNeedleInsertionModelVirtualSprings::setTipForce | ( | double | tipForce | ) |
Parameters setters and getters.
Needle parameters
Definition at line 235 of file usNeedleInsertionModelVirtualSprings.cpp.
References m_tipForce.
void usNeedleInsertionModelVirtualSprings::showInsertionDirections | ( | ) | const |
Definition at line 2116 of file usNeedleInsertionModelVirtualSprings.cpp.
References m_springs.
void usNeedleInsertionModelVirtualSprings::showInsertionPoints | ( | ) | const |
Display.
Definition at line 2103 of file usNeedleInsertionModelVirtualSprings.cpp.
References m_springs.
void usNeedleInsertionModelVirtualSprings::showStiffnesses | ( | ) | const |
Definition at line 2129 of file usNeedleInsertionModelVirtualSprings.cpp.
References m_springs.
void usNeedleInsertionModelVirtualSprings::solveSegmentsParameters | ( | ) |
Definition at line 1817 of file usNeedleInsertionModelVirtualSprings.cpp.
References solveSegmentsParametersOpenCV(), solveSegmentsParametersSparseEigen(), and solveSegmentsParametersViSP().
Referenced by updateState(), and usNeedleInsertionModelVirtualSprings().
void usNeedleInsertionModelVirtualSprings::solveSegmentsParametersOpenCV | ( | ) |
Definition at line 1318 of file usNeedleInsertionModelVirtualSprings.cpp.
References usBSpline3D::accessLastSegment(), usBSpline3D::accessSegment(), usNeedleModelBaseTip::getBasePose(), usNeedleModelSpline::getEI(), usPolynomialCurve3D::getEndPoint(), usPolynomialCurve3D::getEndTangent(), usBSpline3D::getNbSegments(), usPolynomialCurve3D::getParametricLength(), usPolynomialCurve3D::getStartTangent(), usNeedleModelBaseTip::getWorldMbase(), usNeedleModelBaseTip::getWorldMtip(), m_IsInserting, m_needle, m_springs, m_tipForce, m_tipMoment, usPolynomialCurve3D::setPolynomialCoefficients(), and usNeedleModelBaseTip::setTipPose().
Referenced by solveSegmentsParameters().
void usNeedleInsertionModelVirtualSprings::solveSegmentsParametersSparseEigen | ( | ) |
Definition at line 1069 of file usNeedleInsertionModelVirtualSprings.cpp.
References usBSpline3D::accessLastSegment(), usBSpline3D::accessSegment(), usNeedleModelBaseTip::getBasePose(), usNeedleModelSpline::getEI(), usPolynomialCurve3D::getEndPoint(), usPolynomialCurve3D::getEndTangent(), usBSpline3D::getNbSegments(), usPolynomialCurve3D::getParametricLength(), usPolynomialCurve3D::getStartTangent(), usNeedleModelBaseTip::getWorldMbase(), usNeedleModelBaseTip::getWorldMtip(), m_IsInserting, m_needle, m_springs, m_tipForce, m_tipMoment, usPolynomialCurve3D::setPolynomialCoefficients(), and usNeedleModelBaseTip::setTipPose().
Referenced by solveSegmentsParameters().
void usNeedleInsertionModelVirtualSprings::solveSegmentsParametersViSP | ( | ) |
Definition at line 1570 of file usNeedleInsertionModelVirtualSprings.cpp.
References usBSpline3D::accessLastSegment(), usBSpline3D::accessSegment(), usNeedleModelBaseTip::getBasePose(), usNeedleModelSpline::getEI(), usPolynomialCurve3D::getEndPoint(), usPolynomialCurve3D::getEndTangent(), usBSpline3D::getNbSegments(), usPolynomialCurve3D::getParametricLength(), usPolynomialCurve3D::getStartTangent(), usNeedleModelBaseTip::getWorldMbase(), usNeedleModelBaseTip::getWorldMtip(), m_IsInserting, m_needle, m_springs, m_tipForce, m_tipMoment, usPolynomialCurve3D::setPolynomialCoefficients(), and usNeedleModelBaseTip::setTipPose().
Referenced by solveSegmentsParameters().
void usNeedleInsertionModelVirtualSprings::updateCutAngle | ( | ) |
Definition at line 1014 of file usNeedleInsertionModelVirtualSprings.cpp.
References usNeedleModelBaseTip::getWorldMtip(), m_cutAngle, m_needle, and m_springs.
Referenced by updateState().
void usNeedleInsertionModelVirtualSprings::updateInsertionDirections | ( | ) |
Definition at line 1054 of file usNeedleInsertionModelVirtualSprings.cpp.
References usBSpline3D::accessSegment(), usPolynomialCurve3D::getEndTangent(), m_needle, m_springs, and m_tipSpringsIndex.
Referenced by updateState().
void usNeedleInsertionModelVirtualSprings::updateSpringsStiffness | ( | ) |
Definition at line 999 of file usNeedleInsertionModelVirtualSprings.cpp.
References usBSpline3D::accessLastSegment(), usBSpline3D::accessSegment(), usBSpline3D::getNbSegments(), usPolynomialCurve3D::getParametricLength(), m_needle, m_springs, and m_stiffnessPerUnitLength.
Referenced by updateState().
bool usNeedleInsertionModelVirtualSprings::updateState | ( | ) |
Definition at line 2022 of file usNeedleInsertionModelVirtualSprings.cpp.
References usBSpline3D::accessSegment(), addRemoveSprings(), checkInactiveMeasureSprings(), computeSegmentsLengths(), ForceInsert, ForceRemove, usPolynomialCurve3D::getParametricLength(), m_AutomaticSpringAddition, m_insertionBehavior, m_IsInserting, m_LastSegmentLengthComputed, m_needle, m_springs, removeAutoAddedSprings(), solveSegmentsParameters(), updateCutAngle(), updateInsertionDirections(), updateSpringsStiffness(), and updateTipForce().
Referenced by setBasePose(), setSpringDirection(), setSpringPosition(), and setSpringStiffness().
void usNeedleInsertionModelVirtualSprings::updateTipForce | ( | ) |
Definition at line 1037 of file usNeedleInsertionModelVirtualSprings.cpp.
References usNeedleModelSpline::getOuterDiameter(), m_bevelLength, m_cutAngle, m_needle, m_stiffnessPerUnitLength, m_tipForce, and m_tipMoment.
Referenced by setStiffnessPerUnitLength(), and updateState().
|
friend |
|
friend |
Binary.
Definition at line 2244 of file usNeedleInsertionModelVirtualSprings.cpp.
|
friend |
Definition at line 2186 of file usNeedleInsertionModelVirtualSprings.cpp.
|
friend |
Definition at line 2290 of file usNeedleInsertionModelVirtualSprings.cpp.
|
protected |
Definition at line 107 of file usNeedleInsertionModelVirtualSprings.h.
Referenced by AllowSpringAddition(), and operator=().
|
protected |
Definition at line 108 of file usNeedleInsertionModelVirtualSprings.h.
Referenced by AllowSpringRemoval(), and operator=().
|
protected |
Definition at line 109 of file usNeedleInsertionModelVirtualSprings.h.
Referenced by addRemoveSprings(), getAutomaticSpringAddition(), operator=(), setAutomaticSpringAddition(), and updateState().
|
protected |
Definition at line 73 of file usNeedleInsertionModelVirtualSprings.h.
Referenced by addInsertionPoint(), addInsertionPointOnSegment(), addInsertionPointOnSegmentHard(), fusionSprings(), getBevelAngle(), operator=(), removeInsertionPoints(), setBevelAngle(), setSurfaceAtTip(), and updateTipForce().
|
protected |
Definition at line 72 of file usNeedleInsertionModelVirtualSprings.h.
Referenced by addInsertionPointOnSegmentHard(), operator=(), updateCutAngle(), and updateTipForce().
|
protected |
Tissue parameters.
Definition at line 77 of file usNeedleInsertionModelVirtualSprings.h.
Referenced by addInsertionPointOnSegmentHard(), getDefaultSpringStiffness(), operator=(), and setDefaultSpringStiffness().
|
protected |
Definition at line 85 of file usNeedleInsertionModelVirtualSprings.h.
Referenced by operator=().
|
protected |
Definition at line 87 of file usNeedleInsertionModelVirtualSprings.h.
Referenced by addMeasureSpring(), checkInactiveMeasureSprings(), fusionSprings(), operator=(), and removeInsertionPoints().
|
protected |
Insertion type.
Definition at line 105 of file usNeedleInsertionModelVirtualSprings.h.
Referenced by getInsertionBehavior(), operator=(), setInsertionBehavior(), and updateState().
|
protected |
Definition at line 90 of file usNeedleInsertionModelVirtualSprings.h.
Referenced by addRemoveSprings(), getInterSpringDistance(), operator=(), setInterSpringDistance(), and setInterTipSpringDistance().
|
protected |
Definition at line 91 of file usNeedleInsertionModelVirtualSprings.h.
Referenced by addInsertionPoint(), addRemoveSprings(), getInterTipSpringDistance(), operator=(), and setInterTipSpringDistance().
|
protected |
Definition at line 106 of file usNeedleInsertionModelVirtualSprings.h.
Referenced by operator=(), solveSegmentsParametersOpenCV(), solveSegmentsParametersSparseEigen(), solveSegmentsParametersViSP(), and updateState().
|
protected |
Internal.
Linear system solving
Definition at line 97 of file usNeedleInsertionModelVirtualSprings.h.
Referenced by operator=().
|
protected |
Segments lengths measurement.
Definition at line 101 of file usNeedleInsertionModelVirtualSprings.h.
Referenced by addRemoveSprings(), computeSegmentsLengths(), operator=(), and updateState().
|
protected |
Definition at line 115 of file usNeedleInsertionModelVirtualSprings.h.
Referenced by addRemoveSprings(), getNbMaxTipSprings(), operator=(), setNbMaxTipSprings(), and setNbMinTipSprings().
|
protected |
Definition at line 114 of file usNeedleInsertionModelVirtualSprings.h.
Referenced by addRemoveSprings(), getNbMinTipSprings(), operator=(), setNbMaxTipSprings(), and setNbMinTipSprings().
|
protected |
Needle parameters.
Definition at line 68 of file usNeedleInsertionModelVirtualSprings.h.
Referenced by accessNeedle(), addInsertionPoint(), addInsertionPointAtTip(), addInsertionPointAtTipHard(), addInsertionPointOnSegment(), addInsertionPointOnSegmentHard(), addRemoveSprings(), checkInactiveMeasureSprings(), computeSegmentsLengths(), fusionSprings(), getBasePose(), getBevelAngle(), getInsertionDepth(), getMaxTissueStretch(), getMeanTissueStretch(), getNeedleFreeLength(), getNeedleInsertionPoint(), getTissueDeformationEnergy(), IsNeedleInserted(), loadPreset(), operator=(), removeInsertionPoints(), removeInsertionPointsHard(), setBasePose(), setBevelAngle(), setSurfaceAtTip(), solveSegmentsParametersOpenCV(), solveSegmentsParametersSparseEigen(), solveSegmentsParametersViSP(), updateCutAngle(), updateInsertionDirections(), updateSpringsStiffness(), updateState(), and updateTipForce().
|
protected |
Model Parameters.
Tissue
Definition at line 84 of file usNeedleInsertionModelVirtualSprings.h.
Referenced by accessSpring(), addInsertionPoint(), addInsertionPointOnSegment(), addInsertionPointOnSegmentHard(), addRemoveSprings(), addSpringStiffness(), computeSegmentsLengths(), fusionSprings(), getMaxTissueStretch(), getMeanTissueStretch(), getNbMeasureSprings(), getNbSprings(), getPathDistanceFromPoint(), getSurfaceTissueStretch(), getTissueDeformationEnergy(), getTissueInsertionPoint(), moveSpringDirection(), moveSpringPosition(), operator=(), removeAutoAddedSprings(), removeInsertionPoints(), removeInsertionPointsHard(), removeLastInsertionPoint(), removeLastInsertionPointHard(), setBasePose(), setSpringDirection(), setSpringPosition(), setSpringStiffness(), showInsertionDirections(), showInsertionPoints(), showStiffnesses(), solveSegmentsParametersOpenCV(), solveSegmentsParametersSparseEigen(), solveSegmentsParametersViSP(), updateCutAngle(), updateInsertionDirections(), updateSpringsStiffness(), and updateState().
|
protected |
Definition at line 78 of file usNeedleInsertionModelVirtualSprings.h.
Referenced by addInsertionPoint(), addInsertionPointOnSegment(), getStiffnessPerUnitLength(), operator=(), setStiffnessPerUnitLength(), updateSpringsStiffness(), and updateTipForce().
|
protected |
Definition at line 70 of file usNeedleInsertionModelVirtualSprings.h.
Referenced by getTipForce(), operator=(), setTipForce(), solveSegmentsParametersOpenCV(), solveSegmentsParametersSparseEigen(), solveSegmentsParametersViSP(), and updateTipForce().
|
protected |
Definition at line 71 of file usNeedleInsertionModelVirtualSprings.h.
Referenced by operator=(), solveSegmentsParametersOpenCV(), solveSegmentsParametersSparseEigen(), solveSegmentsParametersViSP(), and updateTipForce().
|
protected |
Tip springs.
Definition at line 113 of file usNeedleInsertionModelVirtualSprings.h.
Referenced by addRemoveSprings(), checkInactiveMeasureSprings(), operator=(), removeAutoAddedSprings(), and updateInsertionDirections().
|
protected |
Definition at line 89 of file usNeedleInsertionModelVirtualSprings.h.
Referenced by accessSurface(), addMeasureSpring(), addRemoveSprings(), IsNeedleInserted(), operator=(), setBasePose(), and setSurfaceAtTip().