UsTK : Ultrasound ToolKit
version 2.0.1 under development (2024-12-17)
|
#include <visp3/ustk_needle_modeling/usNeedleInsertionModelRayleighRitzSpline.h>
Public Types | |
enum class | ModelPreset : int { BiopsyNeedle , BiopsyCannula , Symmetric , AbayazidRRM13 , MisraRSRO10_PlastisolA , RoesthuisAM12 , SteelSoftTissue , SRL_ActuatedFBG , SRL_BiopsySimple , SRL_BiopsyNID , NDI_Pink_Stylet } |
enum class | PathUpdateType : int { NoUpdate , WithTipPosition , WithTipDirection , WithTipMix } |
enum class | NeedleTipType : int { SymmetricTip , BeveledTip , PrebentTip , ActuatedTip } |
enum class | SolvingMethod : int { Classic , FixedBeamLength , NoBevel } |
Public Member Functions | |
usNeedleInsertionModelRayleighRitzSpline () | |
usNeedleInsertionModelRayleighRitzSpline (const usNeedleInsertionModelRayleighRitzSpline &model) | |
virtual | ~usNeedleInsertionModelRayleighRitzSpline () |
const usNeedleInsertionModelRayleighRitzSpline & | operator= (const usNeedleInsertionModelRayleighRitzSpline &model) |
virtual usNeedleInsertionModelRayleighRitzSpline * | clone () const |
void | loadPreset (const ModelPreset preset) |
const usNeedleModelSpline & | accessNeedle () const |
usNeedleModelSpline & | accessNeedle () |
usNeedleTip const & | accessNeedleTip () const |
usNeedleTip & | accessNeedleTip () |
void | setNeedleTipType (NeedleTipType type) |
NeedleTipType | getNeedleTipType () const |
const usTissueModelSpline & | accessTissue () const |
usTissueModelSpline & | accessTissue () |
bool | addTissueLayer (double K, double l) |
bool | setStiffnessPerUnitLength (int i, double K) |
bool | setStiffnessPerUnitLength (double K) |
double | getStiffnessPerUnitLength (int i=0) const |
bool | setLayerLength (int i, double l) |
double | getLayerLength (int i) const |
int | getNbLayers () const |
int | getNbCurrentLayers () const |
void | setPathUpdateType (PathUpdateType type) |
void | setPathUpdateLengthThreshold (double length) |
void | setPathUpdateMixCoefficient (double coef) |
void | setSolvingMethod (SolvingMethod method) |
bool | IsNeedleInserted () const |
double | getNeedleFreeLength (int *seg=nullptr, double *param=nullptr) const |
double | getInsertionDepth () const |
vpColVector | getNeedleInsertionPoint () const |
vpColVector | getTissueInsertionPoint () const |
bool | getCorrespondingPathPoint (double l, int &correspondingRestIndex, double &correspondingRestParam) const |
double | getTissueDeformationEnergy () const |
double | getSurfaceTissueStretch () const |
double | getMaxTissueStretch (double *lmax=nullptr) const |
double | getMeanTissueStretch () const |
double | getCurvatureFromKinematics () const |
bool | setBasePose (const vpPoseVector &p) |
vpPoseVector | getBasePose () const |
void | setSurfaceAtTip () |
bool | cutPathToPoint (const vpColVector &P) |
void | solveSegmentsParametersSparseEigen () |
void | solveSegmentsParametersFullSparseEigen () |
void | solveSegmentsParametersFullSparseEigenFixedLength () |
void | solveSegmentsParametersDense () |
void | fitLength () |
void | updateTipPose () |
void | solveSegmentsParameters () |
virtual bool | updateState () |
bool | updatePath () |
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) |
Public Attributes | |
usNeedleModelSpline | m_needle |
usNeedleTip * | m_needleTip |
NeedleTipType | m_needleTipType |
usTissueModelSpline | m_tissue |
std::vector< double > | m_stiffnessPerUnitLength |
std::vector< double > | m_layerLength |
PathUpdateType | m_pathUpdateType |
double | m_pathUpdateLengthThreshold |
double | m_pathUpdateMixCoefficient |
SolvingMethod | m_solvingMethod |
std::vector< double > | m_restDilatationFactor |
Friends | |
VISP_EXPORT std::ostream & | operator<< (std::ostream &s, const usNeedleInsertionModelRayleighRitzSpline &model) |
VISP_EXPORT std::istream & | operator>> (std::istream &s, usNeedleInsertionModelRayleighRitzSpline &model) |
VISP_EXPORT std::ostream & | operator<<= (std::ostream &s, const usNeedleInsertionModelRayleighRitzSpline &model) |
VISP_EXPORT std::istream & | operator>>= (std::istream &s, usNeedleInsertionModelRayleighRitzSpline &model) |
Definition at line 53 of file usNeedleInsertionModelRayleighRitzSpline.h.
|
strong |
Enumerator | |
---|---|
BiopsyNeedle | |
BiopsyCannula | |
Symmetric | |
AbayazidRRM13 | |
MisraRSRO10_PlastisolA | |
RoesthuisAM12 | |
SteelSoftTissue | |
SRL_ActuatedFBG | |
SRL_BiopsySimple | |
SRL_BiopsyNID | |
NDI_Pink_Stylet |
Definition at line 56 of file usNeedleInsertionModelRayleighRitzSpline.h.
|
strong |
Enumerator | |
---|---|
SymmetricTip | |
BeveledTip | |
PrebentTip | |
ActuatedTip |
Definition at line 70 of file usNeedleInsertionModelRayleighRitzSpline.h.
|
strong |
Enumerator | |
---|---|
NoUpdate | |
WithTipPosition | |
WithTipDirection | |
WithTipMix |
Definition at line 69 of file usNeedleInsertionModelRayleighRitzSpline.h.
|
strong |
Enumerator | |
---|---|
Classic | |
FixedBeamLength | |
NoBevel |
Definition at line 71 of file usNeedleInsertionModelRayleighRitzSpline.h.
usNeedleInsertionModelRayleighRitzSpline::usNeedleInsertionModelRayleighRitzSpline | ( | ) |
Constructors, destructor.
Definition at line 52 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
References m_layerLength, m_stiffnessPerUnitLength, and updateState().
Referenced by clone().
usNeedleInsertionModelRayleighRitzSpline::usNeedleInsertionModelRayleighRitzSpline | ( | const usNeedleInsertionModelRayleighRitzSpline & | model | ) |
Definition at line 62 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
|
virtual |
Definition at line 75 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
References m_needleTip.
usNeedleModelSpline & usNeedleInsertionModelRayleighRitzSpline::accessNeedle | ( | ) |
Definition at line 238 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
References m_needle.
const usNeedleModelSpline & usNeedleInsertionModelRayleighRitzSpline::accessNeedle | ( | ) | const |
Parameters setters and getters.
Needle
Definition at line 236 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
References m_needle.
Referenced by usTissueTranslationEstimatorUKF::computeMeasureFromSigmaPoint(), usNeedleModelingDisplayTools::display(), and usNeedleModelingDisplayTools::displayInteraction().
usNeedleTip & usNeedleInsertionModelRayleighRitzSpline::accessNeedleTip | ( | ) |
Definition at line 242 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
References m_needleTip.
usNeedleTip const & usNeedleInsertionModelRayleighRitzSpline::accessNeedleTip | ( | ) | const |
Definition at line 240 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
References m_needleTip.
Referenced by usNeedleModelingDisplayTools::display().
usTissueModelSpline & usNeedleInsertionModelRayleighRitzSpline::accessTissue | ( | ) |
Definition at line 246 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
References m_tissue.
const usTissueModelSpline & usNeedleInsertionModelRayleighRitzSpline::accessTissue | ( | ) | const |
Tissue parameters.
Definition at line 244 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
References m_tissue.
Referenced by usTissueTranslationEstimatorUKF::applyStateToNeedle(), usTissueTranslationEstimatorUKF::checkConsistency(), usTissueTranslationEstimatorUKF::computeMeasureFromSigmaPoint(), usTissueTranslationEstimatorUKF::computeProcessNoiseCovarianceMatrix(), usNeedleModelingDisplayTools::display(), usNeedleModelingDisplayTools::displayInteraction(), usNeedleModelingDisplayTools::displayTissueLayers(), and usTissueTranslationEstimatorUKF::setCurrentNeedle().
bool usNeedleInsertionModelRayleighRitzSpline::addTissueLayer | ( | double | K, |
double | l | ||
) |
Definition at line 289 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
References m_layerLength, and m_stiffnessPerUnitLength.
|
virtual |
Definition at line 103 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
References usNeedleInsertionModelRayleighRitzSpline().
bool usNeedleInsertionModelRayleighRitzSpline::cutPathToPoint | ( | const vpColVector & | P | ) |
Definition at line 712 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
References usBSpline3D::accessLastSegment(), usTissueModelSpline::accessPath(), usTissueModelSpline::accessSurface(), usBSpline3D::addSegment(), usNeedleModelBaseTip::getBasePosition(), usPolynomialCurve3D::getEndPoint(), usNeedleModelSpline::getFullLength(), usBSpline3D::getNbSegments(), usNeedleModelBaseTip::getTipDirection(), usGeometryTools::IsPointInFrontOfPlane(), m_needle, m_pathUpdateLengthThreshold, m_tissue, usGeometryTools::projectPointOnPlane(), usPolynomialCurve3D::setParametricLength(), and usPolynomialCurve3D::setPolynomialCoefficients().
Referenced by updatePath().
void usNeedleInsertionModelRayleighRitzSpline::fitLength | ( | ) |
Definition at line 2346 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
References usBSpline3D::accessLastSegment(), usBSpline3D::accessSegment(), usPolynomialCurve3D::changeCoefficientsToFitBoundaries(), usNeedleModelSpline::getFullLength(), usPolynomialCurve3D::getLength(), usBSpline3D::getNbSegments(), m_needle, usBSpline3D::removeSegments(), and usPolynomialCurve3D::setParametricLength().
Referenced by updateState().
|
virtual |
Implements usNeedleInsertionModelInterface.
Definition at line 701 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
References usNeedleModelBaseTip::getBasePose(), and m_needle.
|
inherited |
Definition at line 51 of file usNeedleInsertionModelInterface.cpp.
References usNeedleInsertionModelInterface::getBasePose().
bool usNeedleInsertionModelRayleighRitzSpline::getCorrespondingPathPoint | ( | double | l, |
int & | correspondingRestIndex, | ||
double & | correspondingRestParam | ||
) | const |
Definition at line 438 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
References usTissueModelSpline::accessPath(), usBSpline3D::accessSegment(), usBSpline3D::getNbSegments(), getNeedleFreeLength(), usPolynomialCurve3D::getParametricLength(), m_needle, m_restDilatationFactor, and m_tissue.
Referenced by usNeedleModelingDisplayTools::displayInteraction(), getMaxTissueStretch(), getMeanTissueStretch(), getTissueDeformationEnergy(), and updatePath().
double usNeedleInsertionModelRayleighRitzSpline::getCurvatureFromKinematics | ( | ) | const |
Curvature.
double usNeedleInsertionModelRayleighRitzSpline::getInsertionDepth | ( | ) | const |
Definition at line 415 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
References usNeedleModelSpline::getFullLength(), getNeedleFreeLength(), and m_needle.
Referenced by getNbCurrentLayers(), and updateState().
double usNeedleInsertionModelRayleighRitzSpline::getLayerLength | ( | int | i | ) | const |
Definition at line 329 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
References m_layerLength.
Referenced by usNeedleModelingDisplayTools::displayTissueLayers().
double usNeedleInsertionModelRayleighRitzSpline::getMaxTissueStretch | ( | double * | lmax = nullptr | ) | const |
Definition at line 556 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
References usTissueModelSpline::accessPath(), usBSpline3D::accessSegment(), getCorrespondingPathPoint(), usBSpline3D::getNbSegments(), getNeedleFreeLength(), usPolynomialCurve3D::getParametricLength(), usPolynomialCurve3D::getPoint(), IsNeedleInserted(), m_needle, and m_tissue.
double usNeedleInsertionModelRayleighRitzSpline::getMeanTissueStretch | ( | ) | const |
Definition at line 626 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
References usTissueModelSpline::accessPath(), usBSpline3D::accessSegment(), getCorrespondingPathPoint(), usBSpline3D::getNbSegments(), getNeedleFreeLength(), usPolynomialCurve3D::getParametricLength(), usPolynomialCurve3D::getPoint(), IsNeedleInserted(), m_needle, and m_tissue.
int usNeedleInsertionModelRayleighRitzSpline::getNbCurrentLayers | ( | ) | const |
Definition at line 333 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
References getInsertionDepth(), getNbLayers(), and m_layerLength.
int usNeedleInsertionModelRayleighRitzSpline::getNbLayers | ( | ) | const |
Definition at line 331 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
References m_layerLength.
Referenced by usNeedleModelingDisplayTools::displayTissueLayers(), and getNbCurrentLayers().
double usNeedleInsertionModelRayleighRitzSpline::getNeedleFreeLength | ( | int * | seg = nullptr , |
double * | param = nullptr |
||
) | const |
Definition at line 363 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
References usBSpline3D::accessSegment(), usTissueModelSpline::accessSurface(), usGeometryTools::DoesSegmentCrossPlane(), usPolynomialCurve3D::getEndPoint(), usBSpline3D::getNbSegments(), usPolynomialCurve3D::getParametricLength(), usGeometryTools::getPlaneCurveCrossingPoint(), usPolynomialCurve3D::getStartPoint(), IsNeedleInserted(), usGeometryTools::IsPointInFrontOfPlane(), m_needle, and m_tissue.
Referenced by usNeedleModelingDisplayTools::displayInteraction(), getCorrespondingPathPoint(), getInsertionDepth(), getMaxTissueStretch(), getMeanTissueStretch(), getTissueDeformationEnergy(), and updateState().
vpColVector usNeedleInsertionModelRayleighRitzSpline::getNeedleInsertionPoint | ( | ) | const |
Definition at line 420 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
References usTissueModelSpline::accessSurface(), usBSpline3D::getPoint(), IsNeedleInserted(), m_needle, m_tissue, and usGeometryTools::projectPointOnPlane().
Referenced by getSurfaceTissueStretch().
usNeedleInsertionModelRayleighRitzSpline::NeedleTipType usNeedleInsertionModelRayleighRitzSpline::getNeedleTipType | ( | ) | const |
Definition at line 284 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
References m_needleTipType.
Referenced by usNeedleModelingDisplayTools::display().
double usNeedleInsertionModelRayleighRitzSpline::getStiffnessPerUnitLength | ( | int | i = 0 | ) | const |
Definition at line 316 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
References m_stiffnessPerUnitLength.
double usNeedleInsertionModelRayleighRitzSpline::getSurfaceTissueStretch | ( | ) | const |
Definition at line 548 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
References usTissueModelSpline::accessPath(), usBSpline3D::getNbSegments(), getNeedleInsertionPoint(), getTissueInsertionPoint(), IsNeedleInserted(), and m_tissue.
double usNeedleInsertionModelRayleighRitzSpline::getTissueDeformationEnergy | ( | ) | const |
Measure model information.
Tissue deformation energy
Definition at line 492 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
References usTissueModelSpline::accessPath(), usBSpline3D::accessSegment(), getCorrespondingPathPoint(), usBSpline3D::getNbSegments(), getNeedleFreeLength(), usPolynomialCurve3D::getParametricLength(), usPolynomialCurve3D::getPoint(), m_layerLength, m_needle, m_stiffnessPerUnitLength, and m_tissue.
vpColVector usNeedleInsertionModelRayleighRitzSpline::getTissueInsertionPoint | ( | ) | const |
Definition at line 429 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
References usTissueModelSpline::accessPath(), usBSpline3D::getNbSegments(), usBSpline3D::getPoint(), and m_tissue.
Referenced by getSurfaceTissueStretch().
|
inherited |
Definition at line 56 of file usNeedleInsertionModelInterface.cpp.
Referenced by usNeedleInsertionModelInterface::moveBase(), and usNeedleInsertionModelInterface::moveBaseWorldFrame().
bool usNeedleInsertionModelRayleighRitzSpline::IsNeedleInserted | ( | ) | const |
Model parameters.
Needle
Definition at line 358 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
References usTissueModelSpline::accessSurface(), usNeedleModelBaseTip::getTipPosition(), usGeometryTools::IsPointInFrontOfPlane(), m_needle, and m_tissue.
Referenced by usTissueTranslationEstimatorUKF::checkConsistency(), getMaxTissueStretch(), getMeanTissueStretch(), getNeedleFreeLength(), getNeedleInsertionPoint(), getSurfaceTissueStretch(), and updateState().
void usNeedleInsertionModelRayleighRitzSpline::loadPreset | ( | const ModelPreset | preset | ) |
Parameters saving and loading.
Definition at line 108 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
References AbayazidRRM13, usNeedleModelSpline::AbayazidRRM13, ActuatedTip, BeveledTip, BiopsyCannula, usNeedleModelSpline::BiopsyCannula, BiopsyNeedle, usNeedleModelSpline::BiopsyNeedle, usNeedleModelSpline::getOuterDiameter(), usNeedleModelSpline::loadPreset(), m_needle, m_needleTip, m_stiffnessPerUnitLength, MisraRSRO10_PlastisolA, usNeedleModelSpline::MisraRSRO10_PlastisolA, NDI_Pink_Stylet, usNeedleModelSpline::NDI_Pink_Stylet, RoesthuisAM12, usNeedleModelSpline::RoesthuisAM12, usNeedleTipActuated::setDiameter(), usNeedleTipBeveled::setDiameter(), usNeedleTipSymmetric::setDiameter(), usNeedleTipActuated::setLength(), usNeedleTipBeveled::setLength(), usNeedleTipSymmetric::setLength(), setNeedleTipType(), usNeedleTipActuated::setSteeringAngleRad(), setStiffnessPerUnitLength(), usNeedleTipActuated::setTipAngleRad(), SRL_ActuatedFBG, usNeedleModelSpline::SRL_ActuatedFBG, SRL_BiopsyNID, usNeedleModelSpline::SRL_BiopsyNID, SRL_BiopsySimple, usNeedleModelSpline::SRL_BiopsySimple, SteelSoftTissue, usNeedleModelSpline::SteelSoftTissue, Symmetric, usNeedleModelSpline::Symmetric, and SymmetricTip.
|
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().
const usNeedleInsertionModelRayleighRitzSpline & usNeedleInsertionModelRayleighRitzSpline::operator= | ( | const usNeedleInsertionModelRayleighRitzSpline & | model | ) |
Definition at line 81 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
References usNeedleTip::clone(), m_layerLength, m_needle, m_needleTip, m_needleTipType, m_pathUpdateLengthThreshold, m_pathUpdateMixCoefficient, m_pathUpdateType, m_restDilatationFactor, m_solvingMethod, m_stiffnessPerUnitLength, and m_tissue.
|
inherited |
Definition at line 46 of file usNeedleInsertionModelInterface.cpp.
References usNeedleInsertionModelInterface::setBasePose().
bool usNeedleInsertionModelInterface::setBasePose |
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 684 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
References usTissueModelSpline::accessSurface(), usOrientedPlane3D::getDirection(), usGeometryTools::IsPointInFrontOfPlane(), m_needle, m_tissue, usNeedleModelBaseTip::setBasePose(), and updateState().
virtual bool usNeedleInsertionModelInterface::setBasePose |
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.
Definition at line 50 of file usNeedleInsertionModelInterface.cpp.
bool usNeedleInsertionModelRayleighRitzSpline::setLayerLength | ( | int | i, |
double | l | ||
) |
Definition at line 321 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
References m_layerLength.
void usNeedleInsertionModelRayleighRitzSpline::setNeedleTipType | ( | NeedleTipType | type | ) |
Definition at line 248 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
References ActuatedTip, BeveledTip, usNeedleTip::getBasePose(), m_needleTip, m_needleTipType, PrebentTip, usNeedleTip::setBasePose(), and SymmetricTip.
Referenced by loadPreset().
void usNeedleInsertionModelRayleighRitzSpline::setPathUpdateLengthThreshold | ( | double | length | ) |
Definition at line 346 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
References m_pathUpdateLengthThreshold.
void usNeedleInsertionModelRayleighRitzSpline::setPathUpdateMixCoefficient | ( | double | coef | ) |
Definition at line 351 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
References m_pathUpdateMixCoefficient.
void usNeedleInsertionModelRayleighRitzSpline::setPathUpdateType | ( | PathUpdateType | type | ) |
Model behavior.
Definition at line 344 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
References m_pathUpdateType.
void usNeedleInsertionModelRayleighRitzSpline::setSolvingMethod | ( | SolvingMethod | method | ) |
Definition at line 356 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
References m_solvingMethod.
bool usNeedleInsertionModelRayleighRitzSpline::setStiffnessPerUnitLength | ( | double | K | ) |
Definition at line 307 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
References m_stiffnessPerUnitLength.
bool usNeedleInsertionModelRayleighRitzSpline::setStiffnessPerUnitLength | ( | int | i, |
double | K | ||
) |
Definition at line 299 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
References m_stiffnessPerUnitLength.
Referenced by loadPreset().
void usNeedleInsertionModelRayleighRitzSpline::setSurfaceAtTip | ( | ) |
Control of the tissue.
Definition at line 703 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
References usTissueModelSpline::accessSurface(), usNeedleModelBaseTip::getTipPose(), usNeedleTip::getTipPosition(), m_needle, m_needleTip, m_tissue, and usOrientedPlane3D::setPose().
void usNeedleInsertionModelRayleighRitzSpline::solveSegmentsParameters | ( | ) |
Definition at line 2392 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
References Classic, FixedBeamLength, m_solvingMethod, NoBevel, solveSegmentsParametersDense(), solveSegmentsParametersFullSparseEigen(), solveSegmentsParametersFullSparseEigenFixedLength(), and solveSegmentsParametersSparseEigen().
Referenced by updateState().
void usNeedleInsertionModelRayleighRitzSpline::solveSegmentsParametersDense | ( | ) |
Definition at line 1923 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
References usBSpline3D::accessLastSegment(), usTissueModelSpline::accessPath(), usBSpline3D::accessSegment(), usTissueModelSpline::accessSurface(), usBSpline3D::addSegment(), usPolynomialCurve3D::changeCoefficientsToFitBoundaries(), usGeometryTools::DoesSegmentCrossPlane(), usNeedleTip::getBaseAxisZ(), usNeedleModelBaseTip::getBasePose(), usNeedleTip::getBasePosition(), usOrientedPlane3D::getDirection(), usNeedleModelSpline::getEI(), usNeedleModelSpline::getFullLength(), usPolynomialCurve3D::getLength(), usBSpline3D::getNbSegments(), usPolynomialCurve3D::getOrder(), usBSpline3D::getParametersFromLength(), usPolynomialCurve3D::getParametricLength(), usGeometryTools::getPlaneCurveCrossingPoint(), usGeometryTools::getPointPlaneDistance(), usPolynomialCurve3D::getPolynomialCoefficients(), usPolynomialCurve3D::getSubPolynomialCurve(), usNeedleTip::getTipPosition(), usNeedleModelBaseTip::getWorldMbase(), usNeedleModelSpline::init(), usGeometryTools::IsPointInFrontOfPlane(), m_layerLength, m_needle, m_needleTip, m_restDilatationFactor, m_stiffnessPerUnitLength, m_tissue, usBSpline3D::removeLastSegment(), usPolynomialCurve3D::setParametricLength(), usPolynomialCurve3D::setPolynomialCoefficients(), and usBSpline3D::setSegment().
Referenced by solveSegmentsParameters().
void usNeedleInsertionModelRayleighRitzSpline::solveSegmentsParametersFullSparseEigen | ( | ) |
Definition at line 1045 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
References usBSpline3D::accessLastSegment(), usTissueModelSpline::accessPath(), usBSpline3D::accessSegment(), usTissueModelSpline::accessSurface(), usBSpline3D::addSegment(), usPolynomialCurve3D::changeCoefficientsToFitBoundaries(), usGeometryTools::DoesSegmentCrossPlane(), usNeedleTip::getBaseAxisZ(), usNeedleModelBaseTip::getBasePose(), usNeedleTip::getBasePosition(), usOrientedPlane3D::getDirection(), usNeedleModelSpline::getEI(), usNeedleModelSpline::getFullLength(), usPolynomialCurve3D::getLength(), usBSpline3D::getNbSegments(), usPolynomialCurve3D::getOrder(), usBSpline3D::getParametersFromLength(), usPolynomialCurve3D::getParametricLength(), usGeometryTools::getPlaneCurveCrossingPoint(), usGeometryTools::getPointPlaneDistance(), usPolynomialCurve3D::getPolynomialCoefficients(), usPolynomialCurve3D::getSubPolynomialCurve(), usNeedleTip::getTipPosition(), usNeedleModelBaseTip::getWorldMbase(), usNeedleModelSpline::init(), usGeometryTools::IsPointInFrontOfPlane(), m_layerLength, m_needle, m_needleTip, m_restDilatationFactor, m_stiffnessPerUnitLength, m_tissue, usBSpline3D::removeLastSegment(), usPolynomialCurve3D::setParametricLength(), usPolynomialCurve3D::setPolynomialCoefficients(), and usBSpline3D::setSegment().
Referenced by solveSegmentsParameters().
void usNeedleInsertionModelRayleighRitzSpline::solveSegmentsParametersFullSparseEigenFixedLength | ( | ) |
Definition at line 1484 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
References usBSpline3D::accessLastSegment(), usTissueModelSpline::accessPath(), usBSpline3D::accessSegment(), usTissueModelSpline::accessSurface(), usBSpline3D::addSegment(), usPolynomialCurve3D::changeCoefficientsToFitBoundaries(), usGeometryTools::DoesSegmentCrossPlane(), usNeedleTip::getBaseAxisZ(), usNeedleModelBaseTip::getBasePose(), usNeedleTip::getBasePosition(), usOrientedPlane3D::getDirection(), usNeedleModelSpline::getEI(), usNeedleModelSpline::getFullLength(), usPolynomialCurve3D::getLength(), usBSpline3D::getNbSegments(), usPolynomialCurve3D::getOrder(), usBSpline3D::getParametersFromLength(), usPolynomialCurve3D::getParametricLength(), usGeometryTools::getPlaneCurveCrossingPoint(), usGeometryTools::getPointPlaneDistance(), usPolynomialCurve3D::getPolynomialCoefficients(), usPolynomialCurve3D::getSubPolynomialCurve(), usNeedleTip::getTipPosition(), usNeedleModelBaseTip::getWorldMbase(), usNeedleModelSpline::init(), usGeometryTools::IsPointInFrontOfPlane(), m_layerLength, m_needle, m_needleTip, m_restDilatationFactor, m_stiffnessPerUnitLength, m_tissue, usBSpline3D::removeLastSegment(), usPolynomialCurve3D::setParametricLength(), usPolynomialCurve3D::setPolynomialCoefficients(), and usBSpline3D::setSegment().
Referenced by solveSegmentsParameters().
void usNeedleInsertionModelRayleighRitzSpline::solveSegmentsParametersSparseEigen | ( | ) |
Internal model command.
Definition at line 750 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
References usBSpline3D::accessLastSegment(), usTissueModelSpline::accessPath(), usBSpline3D::accessSegment(), usTissueModelSpline::accessSurface(), usBSpline3D::addSegment(), usPolynomialCurve3D::changeCoefficientsToFitBoundaries(), usGeometryTools::DoesSegmentCrossPlane(), usNeedleModelBaseTip::getBasePose(), usOrientedPlane3D::getDirection(), usNeedleModelSpline::getEI(), usNeedleModelSpline::getFullLength(), usPolynomialCurve3D::getLength(), usBSpline3D::getNbSegments(), usPolynomialCurve3D::getOrder(), usBSpline3D::getParametersFromLength(), usPolynomialCurve3D::getParametricLength(), usGeometryTools::getPlaneCurveCrossingPoint(), usGeometryTools::getPointPlaneDistance(), usPolynomialCurve3D::getPolynomialCoefficients(), usPolynomialCurve3D::getSubPolynomialCurve(), usNeedleModelBaseTip::getWorldMbase(), usNeedleModelSpline::init(), m_layerLength, m_needle, m_restDilatationFactor, m_stiffnessPerUnitLength, m_tissue, usBSpline3D::removeLastSegment(), usPolynomialCurve3D::setParametricLength(), usPolynomialCurve3D::setPolynomialCoefficients(), and usBSpline3D::setSegment().
Referenced by solveSegmentsParameters().
bool usNeedleInsertionModelRayleighRitzSpline::updatePath | ( | ) |
Definition at line 2458 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
References usBSpline3D::accessLastSegment(), usTissueModelSpline::accessPath(), usBSpline3D::accessSegment(), usTissueModelSpline::accessSurface(), usBSpline3D::addSegment(), cutPathToPoint(), usNeedleTip::getBasePosition(), getCorrespondingPathPoint(), usPolynomialCurve3D::getEndPoint(), usPolynomialCurve3D::getEndTangent(), usNeedleModelSpline::getFullLength(), usBSpline3D::getNbSegments(), usPolynomialCurve3D::getParametricLength(), usNeedleTip::getTipDirection(), usNeedleTip::getTipPosition(), usGeometryTools::IsPointInFrontOfPlane(), m_needle, m_needleTip, m_pathUpdateLengthThreshold, m_pathUpdateMixCoefficient, m_pathUpdateType, m_tissue, NoUpdate, usGeometryTools::projectPointOnPlane(), usPolynomialCurve3D::setParametricLength(), usPolynomialCurve3D::setPolynomialCoefficients(), WithTipDirection, WithTipMix, and WithTipPosition.
Referenced by updateState().
|
virtual |
Definition at line 2411 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
References usBSpline3D::accessLastSegment(), usTissueModelSpline::accessPath(), usGeometryTools::DoesSegmentCrossPlaneDirect(), fitLength(), usPolynomialCurve3D::getEndPoint(), usPolynomialCurve3D::getEndTangent(), getInsertionDepth(), usBSpline3D::getNbSegments(), getNeedleFreeLength(), usNeedleModelSpline::getOuterDiameter(), usBSpline3D::getParametricLength(), usGeometryTools::getPlaneCurveCrossingPoint(), IsNeedleInserted(), m_needle, m_restDilatationFactor, m_tissue, usOrientedPlane3D::setPosition(), solveSegmentsParameters(), updatePath(), and updateTipPose().
Referenced by usTissueTranslationEstimatorUKF::computeMeasureFromSigmaPoint(), setBasePose(), and usNeedleInsertionModelRayleighRitzSpline().
void usNeedleInsertionModelRayleighRitzSpline::updateTipPose | ( | ) |
Definition at line 2370 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
References usBSpline3D::accessLastSegment(), usBSpline3D::accessSegment(), usPolynomialCurve3D::getEndPoint(), usPolynomialCurve3D::getEndTangent(), usPolynomialCurve3D::getStartTangent(), usNeedleModelBaseTip::getWorldMbase(), m_needle, m_needleTip, usNeedleTip::setBasePose(), and usNeedleModelBaseTip::setTipPose().
Referenced by updateState().
|
friend |
|
friend |
Binary.
Definition at line 2659 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
|
friend |
Definition at line 2605 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
|
friend |
Definition at line 2712 of file usNeedleInsertionModelRayleighRitzSpline.cpp.
std::vector<double> usNeedleInsertionModelRayleighRitzSpline::m_layerLength |
Definition at line 87 of file usNeedleInsertionModelRayleighRitzSpline.h.
Referenced by addTissueLayer(), getLayerLength(), getNbCurrentLayers(), getNbLayers(), getTissueDeformationEnergy(), operator=(), setLayerLength(), solveSegmentsParametersDense(), solveSegmentsParametersFullSparseEigen(), solveSegmentsParametersFullSparseEigenFixedLength(), solveSegmentsParametersSparseEigen(), and usNeedleInsertionModelRayleighRitzSpline().
usNeedleModelSpline usNeedleInsertionModelRayleighRitzSpline::m_needle |
Model Parameters.
Needle
Definition at line 78 of file usNeedleInsertionModelRayleighRitzSpline.h.
Referenced by accessNeedle(), cutPathToPoint(), fitLength(), getBasePose(), getCorrespondingPathPoint(), getInsertionDepth(), getMaxTissueStretch(), getMeanTissueStretch(), getNeedleFreeLength(), getNeedleInsertionPoint(), getTissueDeformationEnergy(), IsNeedleInserted(), loadPreset(), operator=(), setBasePose(), setSurfaceAtTip(), solveSegmentsParametersDense(), solveSegmentsParametersFullSparseEigen(), solveSegmentsParametersFullSparseEigenFixedLength(), solveSegmentsParametersSparseEigen(), updatePath(), updateState(), and updateTipPose().
usNeedleTip* usNeedleInsertionModelRayleighRitzSpline::m_needleTip |
Definition at line 80 of file usNeedleInsertionModelRayleighRitzSpline.h.
Referenced by accessNeedleTip(), loadPreset(), operator=(), setNeedleTipType(), setSurfaceAtTip(), solveSegmentsParametersDense(), solveSegmentsParametersFullSparseEigen(), solveSegmentsParametersFullSparseEigenFixedLength(), updatePath(), updateTipPose(), and ~usNeedleInsertionModelRayleighRitzSpline().
NeedleTipType usNeedleInsertionModelRayleighRitzSpline::m_needleTipType |
Definition at line 81 of file usNeedleInsertionModelRayleighRitzSpline.h.
Referenced by getNeedleTipType(), operator=(), and setNeedleTipType().
double usNeedleInsertionModelRayleighRitzSpline::m_pathUpdateLengthThreshold |
Definition at line 92 of file usNeedleInsertionModelRayleighRitzSpline.h.
Referenced by cutPathToPoint(), operator=(), setPathUpdateLengthThreshold(), and updatePath().
double usNeedleInsertionModelRayleighRitzSpline::m_pathUpdateMixCoefficient |
Definition at line 94 of file usNeedleInsertionModelRayleighRitzSpline.h.
Referenced by operator=(), setPathUpdateMixCoefficient(), and updatePath().
PathUpdateType usNeedleInsertionModelRayleighRitzSpline::m_pathUpdateType |
Path update.
Definition at line 91 of file usNeedleInsertionModelRayleighRitzSpline.h.
Referenced by operator=(), setPathUpdateType(), and updatePath().
std::vector<double> usNeedleInsertionModelRayleighRitzSpline::m_restDilatationFactor |
Definition at line 102 of file usNeedleInsertionModelRayleighRitzSpline.h.
Referenced by getCorrespondingPathPoint(), operator=(), solveSegmentsParametersDense(), solveSegmentsParametersFullSparseEigen(), solveSegmentsParametersFullSparseEigenFixedLength(), solveSegmentsParametersSparseEigen(), and updateState().
SolvingMethod usNeedleInsertionModelRayleighRitzSpline::m_solvingMethod |
Internal.
Linear system solving
Definition at line 101 of file usNeedleInsertionModelRayleighRitzSpline.h.
Referenced by operator=(), setSolvingMethod(), and solveSegmentsParameters().
std::vector<double> usNeedleInsertionModelRayleighRitzSpline::m_stiffnessPerUnitLength |
Definition at line 86 of file usNeedleInsertionModelRayleighRitzSpline.h.
Referenced by addTissueLayer(), getStiffnessPerUnitLength(), getTissueDeformationEnergy(), loadPreset(), operator=(), setStiffnessPerUnitLength(), solveSegmentsParametersDense(), solveSegmentsParametersFullSparseEigen(), solveSegmentsParametersFullSparseEigenFixedLength(), solveSegmentsParametersSparseEigen(), and usNeedleInsertionModelRayleighRitzSpline().
usTissueModelSpline usNeedleInsertionModelRayleighRitzSpline::m_tissue |
Tissue.
Definition at line 85 of file usNeedleInsertionModelRayleighRitzSpline.h.
Referenced by accessTissue(), cutPathToPoint(), getCorrespondingPathPoint(), getMaxTissueStretch(), getMeanTissueStretch(), getNeedleFreeLength(), getNeedleInsertionPoint(), getSurfaceTissueStretch(), getTissueDeformationEnergy(), getTissueInsertionPoint(), IsNeedleInserted(), operator=(), setBasePose(), setSurfaceAtTip(), solveSegmentsParametersDense(), solveSegmentsParametersFullSparseEigen(), solveSegmentsParametersFullSparseEigenFixedLength(), solveSegmentsParametersSparseEigen(), updatePath(), and updateState().