1 #ifndef CXBRONCHOSCOPEPOSITIONPROJECTION_H
2 #define CXBRONCHOSCOPEPOSITIONPROJECTION_H
4 #include "org_custusx_bronchoscopynavigation_Export.h"
12 typedef std::vector< Eigen::Matrix4d >
M4Vector;
23 void setRunFromWidget(
bool runFromWidget);
25 void setAdvancedCenterlineOption(
bool useAdvancedCenterlineProjection);
26 void createMaxDistanceToCenterlineOption(QDomElement root);
28 double getMaxDistanceToCenterlineValue();
29 void createMaxSearchDistanceOption(QDomElement root);
31 double getMaxSearchDistanceValue();
32 void createAlphaOption(QDomElement root);
34 double getAlphaValue();
38 void setMaxDistanceToCenterline(
double maxDistance);
39 void setMaxSearchDistance(
double maxDistance);
40 void setAlpha(
double alpha);
44 void findSearchPositions(
double maxSearchDistance);
45 void searchBranchUp(
BranchPtr searchBranchPtr,
int startIndex,
double currentSearchDistance,
double maxSearchDistance);
46 void searchBranchDown(
BranchPtr searchBranchPtr,
int startIndex,
double currentSearchDistance,
double maxSearchDistance);
48 bool isAdvancedCenterlineProjectionSelected();
52 bool isPreviousProjectedPointSet;
53 Eigen::MatrixXd mCLpoints;
57 double mMaxDistanceToCenterlineValue;
58 double mMaxSearchDistanceValue;
63 std::vector<BranchPtr> mSearchBranchPtrVector;
64 std::vector<int> mSearchIndexVector;
65 bool mUseAdvancedCenterlineProjection;
68 bool mRunFromWidget =
true;
70 double findDistance(Eigen::MatrixXd p1, Eigen::MatrixXd p2);
75 #endif // CXBRONCHOSCOPEPOSITIONPROJECTION_H