NorMIT-nav  22.09
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 545 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 453 of file cxBranchList.cpp.

◆ findBranchesInCenterline()

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

Definition at line 327 of file cxBranchList.cpp.

◆ findBranchWithLargestRadius()

BranchPtr cx::BranchList::findBranchWithLargestRadius ( )

Definition at line 221 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 506 of file cxBranchList.cpp.

◆ findClosestLungLap()

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

Definition at line 489 of file cxBranchList.cpp.

◆ findDistance()

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

Definition at line 495 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 238 of file cxBranchList.cpp.

◆ markLungLap()

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

Definition at line 474 of file cxBranchList.cpp.

◆ removePositionsForLocalRegistration()

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

Definition at line 419 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 481 of file cxBranchList.cpp.

◆ smoothBranchPositions()

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

Definition at line 284 of file cxBranchList.cpp.

◆ smoothOrientations()

void cx::BranchList::smoothOrientations ( )

Definition at line 190 of file cxBranchList.cpp.

◆ smoothRadius()

void cx::BranchList::smoothRadius ( )

Definition at line 206 of file cxBranchList.cpp.


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