NorMIT-nav  2023.01.05-dev+develop.0da12
An IGT application
cx::BranchList Class Reference

#include <cxBranchList.h>

Public Member Functions

 BranchList ()
 
virtual ~BranchList ()
 
void addBranch (BranchPtr b)
 
void deleteBranch (BranchPtr b)
 
void deleteAllBranches ()
 
std::vector< BranchPtrgetBranches ()
 
void findBranchesInCenterline (Eigen::MatrixXd positions_r, bool sortByZindex=true)
 
void selectGenerations (int maxGeneration)
 
void findBronchoscopeRotation ()
 
void calculateBronchoscopeRotation (BranchPtr branch)
 
void smoothOrientations ()
 
void smoothRadius ()
 
BranchPtr findBranchWithLargestRadius ()
 
void interpolateBranchPositions (double resolution)
 
void smoothBranchPositions (int controlPointDistance)
 
void excludeClosePositionsInCTCenterline (double minPointDistance)
 
void markLungLap (QString name, Vector3D position)
 
void setLapName (BranchPtr branch, QString name)
 
QString findClosestLungLap (Vector3D position)
 
double findDistance (Vector3D p1, Vector3D p2)
 
BranchPtr findClosestBranch (Vector3D targetCoordinate_r)
 
BranchListPtr removePositionsForLocalRegistration (Eigen::MatrixXd trackingPositions, double maxDistance)
 
vtkPolyDataPtr createVtkPolyDataFromBranches (bool fullyConnected=false, bool straightBranches=false) const
 BranchList::createVtkPolyDataFromBranches Return a VtkPolyData object created from the branches in this object. More...
 

Detailed Description

Definition at line 28 of file cxBranchList.h.

Constructor & Destructor Documentation

◆ BranchList()

cx::BranchList::BranchList ( )

Definition at line 25 of file cxBranchList.cpp.

◆ ~BranchList()

cx::BranchList::~BranchList ( )
virtual

Definition at line 31 of file cxBranchList.cpp.

Member Function Documentation

◆ addBranch()

void cx::BranchList::addBranch ( BranchPtr  b)

Definition at line 37 of file cxBranchList.cpp.

◆ calculateBronchoscopeRotation()

void cx::BranchList::calculateBronchoscopeRotation ( BranchPtr  branch)

Definition at line 97 of file cxBranchList.cpp.

◆ createVtkPolyDataFromBranches()

vtkPolyDataPtr cx::BranchList::createVtkPolyDataFromBranches ( bool  fullyConnected = false,
bool  straightBranches = false 
) const

BranchList::createVtkPolyDataFromBranches Return a VtkPolyData object created from the branches in this object.

Parameters
fullyConnectedThe original version of this code created an object where there might be gaps between the end of parent and child branches. This parameter lets you make connections between the branches to fill these gaps. Note however, that this option gives strange results on many of the real centerlines tried. Not sure where the problem is. It works on the dummy centerline used in the unit test.
straightBranchesBy using this parameter, you will include only the first and last points from a branch. Hence you will get straight branches in your polydata.
Returns
a vtkpolydata object of your branch tree.

Definition at line 546 of file cxBranchList.cpp.

◆ deleteAllBranches()

void cx::BranchList::deleteAllBranches ( )

Definition at line 57 of file cxBranchList.cpp.

◆ deleteBranch()

void cx::BranchList::deleteBranch ( BranchPtr  b)

Definition at line 42 of file cxBranchList.cpp.

◆ excludeClosePositionsInCTCenterline()

void cx::BranchList::excludeClosePositionsInCTCenterline ( double  minPointDistance)

Definition at line 454 of file cxBranchList.cpp.

◆ findBranchesInCenterline()

void cx::BranchList::findBranchesInCenterline ( Eigen::MatrixXd  positions_r,
bool  sortByZindex = true 
)

Definition at line 328 of file cxBranchList.cpp.

◆ findBranchWithLargestRadius()

BranchPtr cx::BranchList::findBranchWithLargestRadius ( )

Definition at line 222 of file cxBranchList.cpp.

◆ findBronchoscopeRotation()

void cx::BranchList::findBronchoscopeRotation ( )

Definition at line 90 of file cxBranchList.cpp.

◆ findClosestBranch()

BranchPtr cx::BranchList::findClosestBranch ( Vector3D  targetCoordinate_r)

Definition at line 507 of file cxBranchList.cpp.

◆ findClosestLungLap()

QString cx::BranchList::findClosestLungLap ( Vector3D  position)

Definition at line 490 of file cxBranchList.cpp.

◆ findDistance()

double cx::BranchList::findDistance ( Vector3D  p1,
Vector3D  p2 
)

Definition at line 496 of file cxBranchList.cpp.

◆ getBranches()

std::vector< BranchPtr > cx::BranchList::getBranches ( )

Definition at line 62 of file cxBranchList.cpp.

◆ interpolateBranchPositions()

void cx::BranchList::interpolateBranchPositions ( double  resolution)

Definition at line 239 of file cxBranchList.cpp.

◆ markLungLap()

void cx::BranchList::markLungLap ( QString  name,
Vector3D  position 
)

Definition at line 475 of file cxBranchList.cpp.

◆ removePositionsForLocalRegistration()

BranchListPtr cx::BranchList::removePositionsForLocalRegistration ( Eigen::MatrixXd  trackingPositions,
double  maxDistance 
)

Definition at line 420 of file cxBranchList.cpp.

◆ selectGenerations()

void cx::BranchList::selectGenerations ( int  maxGeneration)

Definition at line 67 of file cxBranchList.cpp.

◆ setLapName()

void cx::BranchList::setLapName ( BranchPtr  branch,
QString  name 
)

Definition at line 482 of file cxBranchList.cpp.

◆ smoothBranchPositions()

void cx::BranchList::smoothBranchPositions ( int  controlPointDistance)

Definition at line 285 of file cxBranchList.cpp.

◆ smoothOrientations()

void cx::BranchList::smoothOrientations ( )

Definition at line 191 of file cxBranchList.cpp.

◆ smoothRadius()

void cx::BranchList::smoothRadius ( )

Definition at line 207 of file cxBranchList.cpp.


The documentation for this class was generated from the following files: