vmtkcenterlines

Description

compute centerlines from a branching tubular surface (see papers for details); seed points can be interactively selected on the surface, or specified as the barycenters of the open boundaries of the surface; if vmtk is compiled with support for TetGen, TetGen can be employed to compute the Delaunay tessellation of the input points

Input arguments

ArgumentVariableTypeLengthRangeDefaultDescription
idIdstr10script id
handleSelfself1handle to self
disabledDisabledbool10disable execution and piping
iSurfacevtkPolyData1the input surface
ifileSurfaceInputFileNamestr1filename for the default Surface reader
seedselectorSeedSelectorNamestr1["pickpoint","openprofiles","carotidprofiles","profileidlist","idlist","pointlist"]pickpointseed point selection method (pickpoint: interactive; openprofiles: choose among barycenters of open profiles of the surface; carotidprofiles: open profiles are automatically selected based on their z-axis coordinate (lower to higher: CCA, ECA, ICA)); profileidlist: list of open profile ids (specified as argument to -sourceids and -targetids); idlist: list of surface point ids (specified as argument to -sourceids and -targetids); pointlist: list of surface points (specified as argument to -sourcepoints and -targetpoints)
sourceidsSourceIdsint-1[]list of source point ids
targetidsTargetIdsint-1[]list of target point ids
sourcepointsSourcePointsfloat-1[]list of source point coordinates
targetpointsTargetPointsfloat-1[]list of target point coordinates
endpointsAppendEndPointsbool10toggle append open profile barycenters to centerlines
nonmanifoldcheckCheckNonManifoldbool10toggle checking the surface for non-manifold edges
flipnormalsFlipNormalsbool10flip normals after outward normal computation; outward oriented normals must be computed for the removal of outer tetrahedra; the algorithm might fail so for weird geometries, so changing this might solve the problem
capdisplacementCapDisplacementfloat10.0displacement of the center points of caps at open profiles along their normals (avoids the creation of degenerate tetrahedra)
delaunaytoleranceDelaunayTolerancefloat10.001tolerance for evaluating coincident points during Delaunay tessellation, evaluated as a fraction of the bounding box
radiusarrayRadiusArrayNamestr1MaximumInscribedSphereRadiusname of the array where radius values of maximal inscribed spheres have to be stored
endpointsAppendEndPointsbool10toggle append open profile barycenters to centerlines
resamplingResamplingbool10toggle centerlines resampling
resamplingstepResamplingStepLengthfloat1(0.0,)1.0distance between points in the resampled line
delaunaytessellationDelaunayTessellationvtkUnstructuredGrid1optional input Delaunay tessellation
simplifyvoronoiSimplifyVoronoibool10toggle simplification of Voronoi diagram
usetetgenUseTetGenbool10toggle use TetGen to compute Delaunay tessellation
tetgendetectinterTetGenDetectInterbool11TetGen option
costfunctionCostFunctionstr11/Rspecify cost function to be minimized during centerline computation
renderervmtkRenderervmtkRenderer1external renderer
ofileCenterlinesOutputFileNamestr1filename for the default Centerlines writer
delaunaytessellationfileDelaunayTessellationOutputFileNamestr1filename for the default DelaunayTessellation writer
voronoidiagramfileVoronoiDiagramOutputFileNamestr1filename for the default VoronoiDiagram writer

Output arguments

ArgumentVariableTypeLengthRangeDefaultDescription
idIdstr10script id
handleSelfself1handle to self
oCenterlinesvtkPolyData1the output centerlines
radiusarrayRadiusArrayNamestr1MaximumInscribedSphereRadiusname of the array where radius values of maximal inscribed spheres are stored
eikonalsolutionarrayEikonalSolutionArrayNamestr1EikonalSolution
edgearrayEdgeArrayNamestr1EdgeArray
edgepcoordarrayEdgePCoordArrayNamestr1EdgePCoordArray
costfunctionarrayCostFunctionArrayNamestr1CostFunctionArray
delaunaytessellationDelaunayTessellationvtkUnstructuredGrid1
voronoidiagramVoronoiDiagramvtkPolyData1
poleidsPoleIdsvtkIdList1