38 #include <vtkPolyData.h>
39 #include "org_custusx_registration_method_bronchoscopy_Export.h"
45 typedef std::vector< Eigen::Matrix4d >
M4Vector;
48 class org_custusx_registration_method_bronchoscopy_EXPORT
BranchList
50 std::vector<BranchPtr> mBranches;
56 void deleteAllBranches();
57 std::vector<BranchPtr> getBranches();
58 void findBranchesInCenterline(Eigen::MatrixXd positions);
59 void selectGenerations(
int maxGeneration);
60 void calculateOrientations();
61 void smoothOrientations();
62 void interpolateBranchPositions(
int interpolationFactor);
63 void smoothBranchPositions();
64 BranchListPtr removePositionsForLocalRegistration(Eigen::MatrixXd trackingPositions,
double maxDistance);
68 std::pair<Eigen::MatrixXd,Eigen::MatrixXd >
findConnectedPointsInCT(
int startIndex , Eigen::MatrixXd positionsNotUsed);
69 Eigen::MatrixXd
sortMatrix(
int rowNumber, Eigen::MatrixXd matrix);
70 Eigen::MatrixXd
eraseCol(
int removeIndex, Eigen::MatrixXd positions);
71 std::pair<Eigen::MatrixXd::Index, double>
dsearch(Eigen::Vector3d p, Eigen::MatrixXd positions);
72 std::pair<std::vector<Eigen::MatrixXd::Index>, Eigen::VectorXd >
dsearchn(Eigen::MatrixXd p1, Eigen::MatrixXd p2);
std::pair< Eigen::MatrixXd, Eigen::MatrixXd > findConnectedPointsInCT(int startIndex, Eigen::MatrixXd positionsNotUsed)
boost::shared_ptr< class BranchList > BranchListPtr
boost::shared_ptr< class Branch > BranchPtr
std::pair< Eigen::MatrixXd::Index, double > dsearch(Eigen::Vector3d p, Eigen::MatrixXd positions)
std::pair< std::vector< Eigen::MatrixXd::Index >, Eigen::VectorXd > dsearchn(Eigen::MatrixXd p1, Eigen::MatrixXd p2)
Eigen::MatrixXd eraseCol(int removeIndex, Eigen::MatrixXd positions)
Eigen::MatrixXd sortMatrix(int rowNumber, Eigen::MatrixXd matrix)
std::vector< Eigen::Matrix4d > M4Vector