VMTKCENTERLINES(1)
π vmtkcenterlines(1) π
okay bestie, gather round π«Ά we're reading a User Commands man page today, and it's vmtkcenterlines, section 1, and it is lowkey iconic. vmtk script, centerlines, vibes. let's GO β¨
β¨ NAME β¨
vmtkcenterlines β it's a vmtk script, bestie. that's the whole name. that's the vibe. π
πΈ DESCRIPTION πΈ
Automatic piping vmtkcenterlines Parsing options vmtkcenterlines. yep, that's really what it says, and honestly? mood.
so vmtkcenterlines computes centerlines from a branching tubular surface π (see papers for details, iykyk). the way that seed points can be interactively selected on the surface, or specified as the barycenters of the open boundaries of the surface?? obsessed. and if vmtk is compiled with support for TetGen, then TetGen can be employed to compute the Delaunay tessellation of the input points. no cap. π₯
π Input arguments π
-idId (str,1); default=0β the script id, bestie. just the id. π-handleSelf (self,1) β a handle to self. self-care, literally π-disabledDisabled (bool,1); default=0β disables execution and piping. it's giving "do not perceive me" π-iSurface (vtkPolyData,1) β this is the input surface, the main character of the whole operation π-ifileSurfaceInputFileName (str,1) β filename for the default Surface reader.-seedselectorSeedSelectorName (str,1) in['pickpoint', 'openprofiles', 'carotidprofiles', 'profileidlist', 'idlist', 'pointlist']; default=pickpointβ the seed point selection method, and here's the tea on each one π:pickpoint: interactive, you literally pick it π«΅openprofiles: choose among the barycenters of the open profiles of the surfacecarotidprofiles: open profiles are automatically selected based on their z-axis coordinate (lower to higher:CCA,ECA,ICA)profileidlist: a list of open profile ids (specified as argument to-sourceidsand-targetids)idlist: a list of surface point ids (specified as argument to-sourceidsand-targetids)pointlist: a list of surface points (specified as argument to-sourcepointsand-targetpoints)
-sourceidsSourceIds (int,-1); default=[]β list of source point ids. yes the default is empty brackets. π-targetidsTargetIds (int,-1); default=[]β list of target point ids.-sourcepointsSourcePoints (float,-1); default=[]β list of source point coordinates.-targetpointsTargetPoints (float,-1); default=[]β list of target point coordinates.-endpointsAppendEndPoints (bool,1); default=0β toggle append open profile barycenters to centerlines.-nonmanifoldcheckCheckNonManifold (bool,1); default=0β toggle checking the surface for non-manifold edges.-flipnormalsFlipNormals (bool,1); default=0β flip normals after outward normal computation. listen: outward oriented normals must be computed for the removal of outer tetrahedra, and the algorithm might fail so for weird geometries, so changing this might solve the problem. it's a whole thing. π-capdisplacementCapDisplacement (float,1); default=0.0β displacement of the center points of caps at open profiles along their normals (this avoids the creation of degenerate tetrahedra, slay π§).-delaunaytoleranceDelaunayTolerance (float,1); default=0.001β tolerance for evaluating coincident points during Delaunay tessellation, evaluated as a fraction of the bounding box.-radiusarrayRadiusArrayName (str,1); default=MaximumInscribedSphereRadiusβ name of the array where radius values of maximal inscribed spheres have to be stored.-endpointsAppendEndPoints (bool,1); default=0β toggle append open profile barycenters to centerlines. not me spotting the same option listed twice π it's in the original, so it stays, periodt.-resamplingResampling (bool,1); default=0β toggle centerlines resampling.-resamplingstepResamplingStepLength (float,1)>= 0.0; default=1.0β distance between points in the resampled line.-delaunaytessellationDelaunayTessellation (vtkUnstructuredGrid,1) β optional input Delaunay tessellation.-simplifyvoronoiSimplifyVoronoi (bool,1); default=0β toggle simplification of Voronoi diagram.-usetetgenUseTetGen (bool,1); default=0β toggle use TetGen to compute Delaunay tessellation.-tetgendetectinterTetGenDetectInter (bool,1); default=1β TetGen option. that's it, that's the whole description π-costfunctionCostFunction (str,1); default=1/Rβ specify cost function to be minimized during centerline computation.-renderervmtkRenderer (vmtkRenderer,1) β external renderer.-poleidsPoleIds (vtkIdList,1)-voronoidiagramVoronoiDiagram (vtkPolyData,1)-voronoidiagramfileVoronoiDiagramInputFileName (str,1) β filename for the default VoronoiDiagram reader.-stopontargetStopFastMarchingOnReachingTarget (bool,1); default=0β terminate fast marching front propagation when the front reaches the target seed point. this can greatly speed up execution, but heads up bestie β οΈ it only works when one target seed id is set.-ofileCenterlinesOutputFileName (str,1) β filename for the default Centerlines writer.-delaunaytessellationfileDelaunayTessellationOutputFileName (str,1) β filename for the default DelaunayTessellation writer.-voronoidiagramfileVoronoiDiagramOutputFileName (str,1) β filename for the default VoronoiDiagram writer. (yes, same flag name as the input one up there. it's giving twin energy π«Ά)
π¦ Output arguments π¦
-idId (str,1); default=0β script id, again. iconic of it. β¨-handleSelf (self,1) β handle to self, again.-oCenterlines (vtkPolyData,1) β the output centerlines!! the moment we've all been waiting for π-radiusarrayRadiusArrayName (str,1); default=MaximumInscribedSphereRadiusβ name of the array where radius values of maximal inscribed spheres are stored.-eikonalsolutionarrayEikonalSolutionArrayName (str,1); default=EikonalSolution-edgearrayEdgeArrayName (str,1); default=EdgeArray-edgepcoordarrayEdgePCoordArrayName (str,1); default=EdgePCoordArray-costfunctionarrayCostFunctionArrayName (str,1); default=CostFunctionArray-delaunaytessellationDelaunayTessellation (vtkUnstructuredGrid,1)-voronoidiagramVoronoiDiagram (vtkPolyData,1)-poleidsPoleIds (vtkIdList,1)
a lil caution note for my girlies π: some of these options are shared between the input and output sides (looking at you,-id,-handle,-radiusarray,-delaunaytessellation,-voronoidiagram,-poleids, and the-voronoidiagramfilesituation). that's not a typo, that's just how the script parses, so don't come for me π
that's the whole page babe, every flag, every default, every bracket, accounted for π and that's the end of the manual β it's vmtkcenterlines 1.5, dated April 2026, straight from the User Commands source. go compute some centerlines bestie, you're gonna eat π₯β¨π
π¦ where this page comes from
- ubuntu stonking: vmtk 1.5.0+dfsg1-1 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms