# vmtkScripts reference

Script | Description |
---|---|

vmtkactivetubes | experimental method for generating centerlines from an image. |

vmtkbifurcationprofiles | compute bifurcation profiles, i.e. the bifurcation splitting lines. The script takes in input the surface and the relative centerlines, both already split into branches. |

vmtkbifurcationreferencesystems | compute reference systems for each bifurcation of a tree. The script takes in input the centerlines already split into branches. |

vmtkbifurcationsections | compute branch sections located a fixed number of spheres away from each bifurcation. The script takes in input the surface and the relative centerlines, both already split into branches. |

vmtkbifurcationvectors | calculate in plane and out of place binfurcation vectors for a centerline |

vmtkboundarylayer | create a prismatic boundary layer from a surface mesh and a set of vectors defined on the nodes |

vmtkboundarylayer2 | create a prismatic boundary layer from a surface mesh and a set of vectors defined on the nodes |

vmtkboundaryreferencesystems | compute the reference systems relative to each open boundary of a model; a typical use is the specification of boundary conditions for CFD simulations; reference systems are given both as origin and normal, and as origin, a first point defining the x axis with the origin and a second point defining the xy plane with the former two |

vmtkbranchclipper | divide a surface in relation to its split and grouped centerlines |

vmtkbranchextractor | split and group centerlines along branches |

vmtkbranchgeometry | compute geometric parameters for each branch of a tree. The script takes in input the centerlines already split into branches. |

vmtkbranchmapping | constructs a harmonic function over each vascular segment; maps and stretches the longitudinal metric to correctly account for the presence of insertion regions at bifurcations; the additional StretchedMapping array is added to the surface |

vmtkbranchmetrics | Takes a centerline and input surface, already split into branches (with centerline attributes calculated) and calculates the surface angular and abscissa metric. |

vmtkbranchpatching | cut a set of contiguous rectangular regions on a surface that follow iso-contours in the StretchedMapping and AngularMetric arrays |

vmtkbranchsections | compute geometric properties of branch sections located a fixed number of spheres away from each bifurcation. The script takes in input the surface and the relative centerlines, both already split into branches. |

vmtkcenterlineattributes | compute centerline attributes like abscissa and parallel transport normals; this is a requried step for mapping |

vmtkcenterlinegeometry | compute the local geometry of centerlines in terms of curvature and torsion |

vmtkcenterlineinterpolation | smooth centerlines with a moving average filter |

vmtkcenterlinelabeler | interactively change the group ids of a split centerline |

vmtkcenterlinemerge | merge centerline tracts belonging to the same groups |

vmtkcenterlinemeshsections | extract mesh sections along centerlines. The script takes in input the mesh and the relative centerlines. |

vmtkcenterlinemodeller | converts a centerline to an image containing the tube function |

vmtkcenterlineoffsetattributes | offset centerline attributes relative to a bifurcation reference system, in such a way that the abscissa of the closest point the the origin is zero, and the centerline normal at that point coincides with the bifurcation reference system normal |

vmtkcenterlineresampling | resample input centerlines with a spline filter |

vmtkcenterlines | 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 |

vmtkcenterlinesections | compute geometric properties of sections located along centerlines. The script takes in input the surface and the relative centerlines. |

vmtkcenterlinesmoothing | smooth centerlines with a moving average filter |

vmtkcenterlinestonumpy | Takes a VTK centerlines vtkPolyData file and returns a nested python dictionary containing numpyarrays specifying vertex points, associated scalar data, and cell data yielding connectivity |

vmtkcenterlineviewer | display a 3D centerline |

vmtkdelaunayvoronoi | calculate the delaunay tesellation, voronoi diagram, and voronoi poleIds of an input surface |

vmtkdijkstradistancetopoints | This class computes the geodesic distance on the graph of a surface from a set of user-selected points on the surface using the Dijkstra algorithm. |

vmtkdistancetocenterlines | calculate the minimum euclidian from surface points to a centerline |

vmtkdistancetospheres | This computes the euclidean from a set of user-selected spheres to a surface |

vmtkendpointextractor | find the endpoints of a split and grouped centerline |

vmtkentityrenumber | Renumber cell entity id array. |

vmtkflowextensions | interactivly add flow extensions to a surface for CFD processing |

vmtkgeodesicsurfaceresolution | This allows the user to specify a edge-length array to be used to specify resolution for surface remeshing The array is produced by RBF interpolation of values specified by the user by positioning spheres. This version use the geodesic distance along the surface instead of the 3D euclidean distance for the RBF |

vmtkicpregistration | register a surface to a reference surface using the ICP algorithm |

vmtkimagebinarize | binarize the input image producing a label map |

vmtkimagecast | cast an image to a specified type |

vmtkimagecompare | compares an image against a reference |

vmtkimagecompose | compose an image based on user-specified parameters or on a reference image |

vmtkimagecurvedmpr | Make an MPR image from a centerline and an input image |

vmtkimagefeaturecorrection | correct a feature image (e.g. remove influence of bone and/or air from CT-based feature images) |

vmtkimagefeatures | compute a feature image for use in segmentation |

vmtkimageinitialization | interactivly create an initial levelset which has not been evolved to image gradients |

vmtkimagemipviewer | display a 3D image |

vmtkimagemorphology | apply binary or grayscale morphology filter to the input image |

vmtkimagenormalize | automatically label an image using multiple Otsu thresholding |

vmtkimageobjectenhancement | compute a feature image for use in segmentation |

vmtkimageotsuthresholds | automatically label an image using multiple Otsu thresholding |

vmtkimagereader | read an image and stores it in a vtkImageData object |

vmtkimagereslice | reslice an image based on user-specified parameters or on a reference image |

vmtkimageseeder | interactively place seeds in a 3D image |

vmtkimageshiftscale | shift and scale the intensity of an image and cast it to a specified type |

vmtkimagesmoothing | smooth an image with a Gaussian kernel or anisotropic diffusion |

vmtkimagetonumpy | Takes a vtkImageData object and returns a nested dictionary of numpy arrays |

vmtkimagevesselenhancement | compute a feature image for use in segmentation |

vmtkimageviewer | display a 3D image |

vmtkimagevoipainter | fill a cubical region of an image with a given gray level |

vmtkimagevoiselector | select a cubical volume of interest and get rid of the rest of the image |

vmtkimagewriter | write an image to disk |

vmtklevelsetsegmentation | interactivly initialize an initial level set and evolve it to image gradients |

vmtklineartoquadratic | convert the elements of a mesh from linear to quadratic |

vmtklineresampling | resample input lines with a spline filter |

vmtklocalgeometry | compute local geometric properties of a surface |

vmtkmarchingcubes | generate an isosurface of given level from a 3D image |

vmtkmeshaddexternallayer | create an external prismatic layer from the wall of a mesh and the normals on the wall. |

vmtkmesharrayoperation | perform an operation between arrays of two meshes and store result in the first mesh |

vmtkmeshboundaryinspector | display a 3D render of the mesh with individual boundary groups colored and labeled |

vmtkmeshbranchclipper | interactivly clip a mesh based on proximity to a split and grouped centerline |

vmtkmeshclipcenterlines | interactively clip a mesh using the distance to centerlines |

vmtkmeshclipper | interactively clip a mesh with a box |

vmtkmeshcompare | compares a mesh against a reference |

vmtkmeshconnectivity | extract the largest connected region or the closest point-connected region from a mesh |

vmtkmeshcutter | slicing a mesh with a plane |

vmtkmeshdatareader | read data associated with a mesh |

vmtkmeshextractpointdata | extract the magnitude value of an array for a point id |

vmtkmeshgenerator | generate a mesh suitable for CFD from a surface |

vmtkmeshlambda2 | compute lambda2 from a velocity field |

vmtkmeshlinearize | convert the elements of a mesh to linear |

vmtkmeshmerge | Merge two or three meshes into one. |

vmtkmeshmergetimesteps | merge multiple mesh files with different timesteps into one |

vmtkmeshpolyballevaluation | evaluate the polyball function on the vertices of a mesh. |

vmtkmeshprojection | interpolates the point data of a reference mesh onto the input mesh |

vmtkmeshreader | read a mesh and stores it in a vtkUnstructuredGrid object |

vmtkmeshscaling | scale a mesh by an isotropic factor |

vmtkmeshtetrahedralize | convert the elements of a mesh to linear |

vmtkmeshtetrahedralize2 | convert the elements of a mesh to linear |

vmtkmeshtonumpy | Takes a VMTK mesh (VTK Unstructured Grid) object nested python dictionary containing numpyarrays specifying Points, PointData, Cells, CellData, and CellPointIds describing connectivity |

vmtkmeshtosurface | convert a mesh to a surface by throwing out volume elements and (optionally) the relative points |

vmtkmeshtransform | transform a mesh with a provided matrix |

vmtkmeshtransformtoras | transform a mesh generated in XYZ image space into RAS space |

vmtkmeshvectorfromcomponents | create a vector array from a number of scalar arrays treated as vector components |

vmtkmeshviewer | display a mesh |

vmtkmeshviewer2 | display a mesh |

vmtkmeshvolume | computes the volume of a mesh |

vmtkmeshvorticityhelicity | compute vorticity and helicity from a velocity field |

vmtkmeshwallshearrate | compute wall shear rate from a velocity field, producing a surface in output |

vmtkmeshwriter | write a mesh to disk |

vmtkmeshwriter2 | write a mesh to disk |

vmtknetworkeditor | extract an approximated centerline from a surface containing at least one hole |

vmtknetworkextraction | extract a network of approximated centerlines from a surface, the surface must have at least an opening |

vmtknetworkwriter | write network to disk |

vmtknumpyreader | reads a pickled (or hdf5) file containing a nested dictionary of numpy arrays generated byvmtkcenterlinestonumpy, vmtkimagetonumpy, or vmtksurfacetonumpy from disk and stores theobject in memory into a standard dictionary of numpy arrays. |

vmtknumpytocenterlines | Takes a nested python dictionary containing numpy arrays specifying vertex points, associated scalar data, and cell data specifying line connectivityand returns a VTK centerlines vtkPolyData file |

vmtknumpytoimage | Takes a dictionary of numpy arrays specifying dimensions, origin, spacing, and the image point data and returns a vtkImageData object. |

vmtknumpytomesh | Takes a nested python dictionary containing numpy arrays specifying Points, PointData, Cells,CellData, and CellPointIds describing connectivity and returns a VMTK mesh (VTK Unstructured Grid) object |

vmtknumpytosurface | Takes a nested python dictionary containing numpy arrays specifying vertex points, associated scalar data, and cell data specifying triangle connectivityand returns a VTK triangulated surface vtkPolyData file |

vmtknumpywriter | Writes a dictionary containing a nested dictionary of numpy arrays (generated byvmtkcenterlinestonumpy, vmtkimagetonumpy, or vmtksurface to numpy) to disk as eithera python pickle object or as hdf5 file |

vmtkparticletracer | Generate streamlines |

vmtkpathlineanimator | Particle or streaklines animation |

vmtkpointsplitextractor | split a centerline at specific xyz coordinates |

vmtkpointtransform | transform points with a provided matrix |

vmtkpolyballmodeller | converts a polyball to an image containing the tube function |

vmtkpotentialfit | explicitly deformable model which evolves a surface to gradient magnitudes of an input image |

vmtkpythonscript | execute a python script contained in a file |

vmtkrbfinterpolation | perform RBF interpolation from a set of seeds |

vmtkrenderer | renderer used to make several viewers use the same rendering window |

vmtkrendertoimage | takes a renderer in input and saves the rendering into an image file |

vmtksurfaceappend | append two surfaces into a single vtkPolyData. The script does not merge coincident points, consider using vmtksurfacetriangle for this. |

vmtksurfacearrayoperation | perform an operation between arrays of two surfaces and store result in the first surface |

vmtksurfacearraysmoothing | Perform smoothing of the point array defined on the surface |

vmtksurfacebooleanoperation | perform a boolean operation between two surfaces |

vmtksurfacecapper | add caps to the holes of a surface, assigning an id to each cap for easy specification of boundary conditions. |

vmtksurfacecelldatatopointdata | convert cell data arrays to point data surface arrays |

vmtksurfacecenterlineprojection | project centerline data onto surface points |

vmtksurfacecliploop | Clip input surface using a loop |

vmtksurfaceclipper | interactively clip a surface with a box |

vmtksurfacecompare | compares a surface against a baseline |

vmtksurfaceconnectivity | extract the largest connected region, the closest point-connected region or the scalar-connected region from a surface |

vmtksurfacecurvature | compute curvature of an input surface, optionally reporting results back to a reference surface (by point id) |

vmtksurfacedecimation | reduce the number of triangles in a surface |

vmtksurfacedistance | compute the pointwise minimum distance of the input surface from a reference surface |

vmtksurfaceendclipper | interactively clip a tubular surface with normals estimated at seed locations. It is recomended that the option to clip based on centerlines normals is enabled to increase the accuracy of the clipping. If desired, a centerline containing the Frenet Tangent Array must be fed in along with the surface. This is generated by passing a centerline through the vmtkcenterlinegeometry script. |

vmtksurfaceextractannularwalls | Extract wall surfaces from an annular-cylindric surface. |

vmtksurfaceextractinnercylinder | Extract inner surface from an annular-cylindric volume. |

vmtksurfacekiteremoval | remove small kites in a surface mesh to avoid Taubin smoothing artifacts |

vmtksurfaceloopextraction | interactively define loops on a surface |

vmtksurfacemassproperties | compute the volume of a closed surface. |

vmtksurfacemodeller | converts a surface to an image containing the signed distance transform from the surface points |

vmtksurfacenormals | compute normals to a surface |

vmtksurfacepointdatatocelldata | convert point data arrays to cell data surface arrays |

vmtksurfacepolyballevaluation | evaluate the polyball function on the vertices of a surface. |

vmtksurfaceprojection | interpolates the point data of a reference surface onto the input surface based on minimum distance criterion |

vmtksurfacereader | read a surface and store it in a vtkPolyData object |

vmtksurfacereferencesystemtransform | translate and rotate a surface in order to orient its reference system with a target reference system |

vmtksurfaceregiondrawing | draw a closed contour on a surface and generate a distance field on the surface |

vmtksurfaceremeshing | remesh a surface using quality triangles |

vmtksurfaceresolution | This allows the user to specify a edge-length array to be used to specify resolution for surface remeshing The array is produced by RBF interpolation of values specified by the user by positioning spheres |

vmtksurfacescaling | scale a surface by an isotropic factor, or x,y,z directions by separate factors |

vmtksurfacesmoothing | smooth a surface using Taubinâ€™s algorithm |

vmtksurfacesubdivision | subdivide a triangulated surface |

vmtksurfacetomesh | convert surface to a mesh |

vmtksurfacetonumpy | Takes a VTK triangulated surface vtkPolyData file (optionally containing point data scalar arrays) and returns a nested python dictionary containing numpy arrays specifying vertex points, associated scalar data, and cell data yielding triangle connectivity |

vmtksurfacetransform | transform a surface with a provided matrix |

vmtksurfacetransforminteractive | interactively transform a surface to another surface |

vmtksurfacetransformtoras | transform a surface generated in XYZ image space into RAS space |

vmtksurfacetriangle | convert all cells in a surface to linear triangles. |

vmtksurfaceviewer | display a surface |

vmtksurfacewriter | write surface to disk |

vmtksurfacewriter2 | write surface to disk |

vmtksurfmesh | wrapper around surfmesh surface mesh generator by Gordan Stuhne |

vmtktetgen | wrapper around TetGen tetrahedral mesh generator by Hang Si (http://tetgen.berlios.de/) |

vmtktetringenerator | generate input files for the newtetr CFD solver |

vmtkthreshold | Extract part of surface or mesh with cell entitiy ids between given thresholds. |