|
virtual vtkObjectBase * | NewInstanceInternal () const |
|
| vtkvmtkCenterlineBranchExtractor () |
|
| ~vtkvmtkCenterlineBranchExtractor () |
|
virtual void | ComputeCenterlineSplitting (vtkPolyData *input, vtkIdType cellId) VTK_OVERRIDE |
|
virtual void | GroupTracts (vtkPolyData *input, vtkPolyData *centerlineTracts) VTK_OVERRIDE |
|
Protected Member Functions inherited from vtkvmtkCenterlineSplittingAndGroupingFilter |
| vtkvmtkCenterlineSplittingAndGroupingFilter () |
|
| ~vtkvmtkCenterlineSplittingAndGroupingFilter () |
|
virtual int | RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE |
|
void | CoincidentExtremePointGroupTracts (vtkPolyData *input, vtkPolyData *centerlineTracts, bool first=true) |
|
void | PointInTubeGroupTracts (vtkPolyData *input, vtkPolyData *centerlineTracts) |
|
virtual void | MergeTracts (vtkPolyData *centerlineTracts) |
|
void | SplitCenterline (vtkPolyData *input, vtkIdType cellId, int numberOfSplittingPoints, const vtkIdType *subIds, const double *pcoords, const int *tractBlanking, vtkPolyData *splitCenterline) |
|
void | MakeGroupIdsAdjacent (vtkPolyData *centerlineTracts) |
|
void | MakeTractIdsAdjacent (vtkPolyData *centerlineTracts) |
|
Split and group centerlines.
- Date
- 2006/04/06 16:46:43
- Revision
- 1.5
A centerline is split into individual tracts and the tracts are merged together into branches.
Tracts are formed (in the example of a bifurcation, though this is generalized to a n-furcation), by identifying two points on each centerline (which we termed the reference points). The first is located where the centerline intersects another centerline’s tube (in the vascular tree assumption, each centerline will intersect all the other centerlines’ tube once). The second is located one maximum inscribed sphere upstream. The second reference point may be thought of as the start of the bifurcation region. We can then identify three tracts along each centerline, the first preceding the bifurcation, the second lying in-between the two points and the last following the bifurcation
Note that in the first tract the two centerlines are one in each other’s tube. The same thing holds true for the second tract, since by definition the second tract ends where the centerlines exit the other centerline’s tube. The last tracts are instead outside each other’s tube.
We can therefore group the tracts based on these tube containment relationships: the first group will be composed of the first tracts of the two centerlines, the second of the second tracts of the two centerlines, the ones located at the bifurcation region in-between the reference points, the third of the second tract of the first centerline and the fourth of the second tract of the second centerline. Each group will basically represent a branch, except for the second group, which will be relative to the bifurcation.
This process gives us the "Blanking" label for tracts free of charge. Tracts which lie between the two reference points (within the bifurcation region), are said to be Blanked. This is label will become important during processing steps downstream in the pipeline.
Definition at line 43 of file vtkvmtkCenterlineBranchExtractor.h.