1 #ifndef CXBRONCHOSCOPEPOSITIONPROJECTION_H
2 #define CXBRONCHOSCOPEPOSITIONPROJECTION_H
4 #include "org_custusx_bronchoscopynavigation_Export.h"
13 typedef std::vector< Eigen::Matrix4d >
M4Vector;
21 void setRunFromWidget(
bool runFromWidget);
23 void setAdvancedCenterlineOption(
bool useAdvancedCenterlineProjection);
24 void createMaxDistanceToCenterlineOption(QDomElement root);
26 double getMaxDistanceToCenterlineValue();
27 void createMaxSearchDistanceOption(QDomElement root);
29 double getMaxSearchDistanceValue();
30 void createAlphaOption(QDomElement root);
32 double getAlphaValue();
36 void setMaxDistanceToCenterline(
double maxDistance);
37 void setMaxSearchDistance(
double maxDistance);
38 void setAlpha(
double alpha);
42 void findSearchPositions(
double maxSearchDistance);
43 void searchBranchUp(
BranchPtr searchBranchPtr,
int startIndex,
double currentSearchDistance,
double maxSearchDistance);
44 void searchBranchDown(
BranchPtr searchBranchPtr,
int startIndex,
double currentSearchDistance,
double maxSearchDistance);
46 bool isAdvancedCenterlineProjectionSelected();
50 bool isPreviousProjectedPointSet;
51 Eigen::MatrixXd mCLpoints;
55 double mMaxDistanceToCenterlineValue;
56 double mMaxSearchDistanceValue;
61 std::vector<BranchPtr> mSearchBranchPtrVector;
62 std::vector<int> mSearchIndexVector;
63 bool mUseAdvancedCenterlineProjection;
66 bool mRunFromWidget =
true;
68 double findDistance(Eigen::MatrixXd p1, Eigen::MatrixXd p2);
73 #endif // CXBRONCHOSCOPEPOSITIONPROJECTION_H