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();
37 void setBranchList(BranchListPtr branchList,
Transform3D rMpr);
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;
60 BranchListPtr mBranchListPtr;
61 BranchPtr mProjectedBranchPtr;
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 Transform3D Transform3D
Transform3D is a representation of an affine 3D transform.
boost::shared_ptr< class BranchList > BranchListPtr
boost::shared_ptr< class Branch > BranchPtr
double findDistance(Eigen::MatrixXd p1, Eigen::MatrixXd p2)
double findDistanceWithOrientation(Eigen::VectorXd position1, Eigen::VectorXd position2, Eigen::VectorXd orientation1, Eigen::VectorXd orientation2, double alpha)
vtkSmartPointer< vtkPolyData > vtkPolyDataPtr
boost::shared_ptr< class DoubleProperty > DoublePropertyPtr
Eigen::Vector3d Vector3D
Vector3D is a representation of a point or vector in 3D.
std::vector< Eigen::Matrix4d > M4Vector
boost::shared_ptr< class BronchoscopePositionProjection > BronchoscopePositionProjectionPtr
Namespace for all CustusX production code.