C++ Examples

These are fully independent, compilable examples. There is significant overlap in the examples, but they are each intended to illustrate a different concept and be fully stand alone compilable.

Please add examples in your areas of expertise!

Hello World

Example Name Classes Demonstrated Description
A hello world example vtkPolyDataMapper vtkActor vtkRenderer vtkRenderWindow vtkRenderWindowInteractor Cylinder example from the VTK Textbook and source code.

Simple Operations

Example Name Classes Demonstrated Description
DistanceBetweenPoints vtkMath Distance between two points.
DistancePointToLine vtkLine Distance between a point and a line.
FloatingPointExceptions vtkFloatingPointExceptions Floating Point Exceptions
GaussianRandomNumber vtkMath Generates Gaussian random numbers.
UniformRandomNumber vtkMath Generates uniform random numbers.
RandomSequence vtkMinimalStandardRandomSequence This is the preferred way to generate random numbers.
ProjectPointPlane vtkPlane Project a point onto a plane.
PerspectiveTransform vtkPerspectiveTransform Apply a perspective transformation to a point.

Input and Output

Graph Formats

3D File Formats

Example Name Classes Demonstrated Description
ConvertFile Convert a file from one type to another
XGMLReader vtkXGMLReader Read a .gml file

Standard Formats

Input
Example Name Classes Demonstrated Description
DelimitedTextReader vtkDelimitedTextReader Read a delimited file into a polydata.
DEMReader vtkDEMReader Read DEM (elevation map) files
DumpXMLFile vtkDataSetReader Report the contents of a VTK XML or legacy file
IndividualVRML vtkVRMLImporter This example is used to get each actor and object from a scene and verify axes correspondence
ParticleReader vtkParticleReader This example reads ascii files where each line consists of points with its position (x,y,z) and (optionally) one scalar or binary files in RAW 3d file format.
ReadDICOMSeries vtkDICOMImageReader This example demonstrates how to read a series of DICOM images and scroll through slices
ReadDICOM vtkDICOMImageReader Read DICOM file
ReadOBJ vtkOBJReader Read an OBJ (.obj) file.
ReadPDB vtkPDBReader Read Protein Data Bank Files.
ReadPLOT3D vtkPLOT3DReader Read CFD (computational fluid dynamics) data produced by PLOT3D.
ReadPLY vtkPLYReader Read PLY (.ply) files
ReadPlainTextTriangles vtkPolyData vtkSmartPointer vtkPoints vtkCellArray vtkXMLPolyDataWriter Read a plain text file into a polydata.
ReadTextFile vtkPolyData Read a plain text file into a polydata.
ReadSTL vtkSTLReader Read stereo lithography STL (.stl) files
SimplePointsReader vtkSimplePointsReader Read a simple "xyz" file of points.
VRML vtkVRMLImporter Read a VRML (WRL) file.
Output
Example Name Classes Demonstrated Description
DelimitedTextWriter vtkDelimitedTextWriter Write data to a delimited file
SimplePointsWriter vtkSimplePointsWriter Write a simple ".xyz" file
WritePLY vtkPLYWriter Write PLY (.ply) files
WriteSTL vtkSTLWriter Write stereo lithography STL (.stl) files

VTK Formats

Input
Example Name Classes Demonstrated Description
ReadImageData vtkXMLImageDataReader Read a image data (.vti) file
ReadPolyData vtkXMLPolyDataReader Read a polygonal data (.vtp) file
ReadRectilinearGrid vtkXMLRectilinearGridReader Read a rectilinear grid (.vtr) file
ReadStructuredGrid vtkXMLStructuredGridReader Read a structured grid (.vts) file
ReadUnknownTypeXMLFile vtkXMLGenericDataObjectReader Read an XML file and later decide what kind it is
ReadUnstructuredGrid vtkXMLUnstructuredGridReader Read an unstructured grid (.vtu) file
Output
Example Name Classes Demonstrated Description
Write an ExodusII file vtkExodusIIWriter Write a time varying ExodusII file.
Write an image file to parallel files vtkXMLPImageDataWriter Write a .pvti file with 4 .vti pieces.
Write an unstructured grid to parallel files vtkXMLPUnstructuredGridWriter Write a .pvtu with 4 .vtu pieces.
WriteVTI vtkXMLImageDataWriter Write a .vti file. VTI is an "ImageData".
WriteVTP vtkXMLPolyDataWriter Write a .vtp file. VTP is a "PolyData". This format allows for the most complex geometric objects to be stored.
WriteVTU vtkXMLUnstructuredGridWriter Write a .vtu file. VTU is an "Unstructured Grid". This format allows for 3D data to be stored.
XMLStructuredGridWriter vtkXMLStructuredGridWriter Write a .vts file from a vtkStructuredGrid.

Legacy VTK Formats

Example Name Classes Demonstrated Description
GenericDataObjectReader vtkGenericDataObjectReader Read any type of legacy .vtk file.
StructuredGridReader vtkStructuredGridReader Read a structured grid (.vtk) file.
StructuredPointsReader vtkStructuredPointsReader Read a structured points (.vtk) file.

Image Format

Input

Example Name Classes Demonstrated Description
ImageReader2Factory vtkImageReader2Factory This class tries to find an appropriate reader. It is very convenient to use this when you don't know what kind of file to expect.
JPEGReader vtkJPEGReader Read a JPG image.
MetaImageReader vtkMetaImageReader Read .mha files.
PNGReader vtkPNGReader Read a PNG image.
ReadBMP vtkBMPReader Read BMP (.bmp) files.
ReadPNM vtkPNMReader Read PNM (.pnm) files.
ReadTIFF vtkTIFFReader Read TIFF (.tif) files.

Output

Example Name Classes Demonstrated Description
JPEGWriter vtkJPEGWriter Write a JPEG (.jpg) file.
MetaImageWriter vtkMetaImageWriter Write a .mha/.mhd + .raw file.
PNGWriter vtkPNGWriter Write a PNG (.png) file.
WriteBMP vtkBMPWriter Write a BMP (.bmp) file.
WritePNM vtkPNMWriter Write a PNM (.pnm) file.
WriteTIFF vtkTIFFWriter Write a TIFF (.tif) file.

Geometric Objects

Example Name Classes Demonstrated Description
Arrow vtkArrowSource
Axes vtkAxesActor
Cell3DDemonstration vtkHexagonalPrism vtkHexahedron vtkPentagonalPrism vtkPolyhedron vtkPyramid vtkTetra vtkVoxel vtkWedge vtkUnstructuredGrid Demonstrate the use of vtkCell3D to construct geometric objects. Sample objects are generated from the classes derived from vtkCell3D and displayed.
Colored Lines vtkCellData vtkLine
Cone vtkConeSource
Cube vtkCubeSource
Cylinder vtkCylinderSource
Disk vtkDiskSource A circle with a hole in it.
Dodecahedron vtkPolyhedron Create a dodecahedron using vtkPolyhedron
Frustum vtkFrustumSource
GeometricObjectsDemo A demonstration of all geometric objects that work the same way.
Hexahedron vtkHexahedron
Line vtkLineSource
LongLine vtkLine Manually create a polyline
Oriented Arrow vtkArrowSource Orient an arrow along an arbitrary vector
Oriented Cylinder vtkCylinderSource Orient a cylinder along an arbitrary vector
Plane vtkPlaneSource
PlanesIntersection vtkPlanesIntersection
Planes vtkPlanes
PlatonicSolid vtkPlatonicSolidSource
Point vtkPoints
PolyLine vtkPolyLine
PolygonIntersection vtkPolygon Compute the intersection of a line segment with a polygon.
Polygon vtkPolygon
Polyhedron vtkPolyhedron
Pyramid vtkPyramid
Quad vtkQuad
Regular Polygon vtkRegularPolygonSource
Sphere vtkSphereSource
Tetrahedron vtkTetra
Triangle strip vtkTriangleStrip
Triangle vtkTriangle
Vertex vtkVertex

Parametric Objects

These examples demonstrate how to create an display one of the many vtkParametric objects. All of the classes listed can be used in an identical fashion.

Example Name Classes Demonstrated Description
ParametricObjects Create and display a parametric object. Uncomment the object that you wish to be displayed.
ParametricObjectsDemo vtkParametricBoy, vtkParametricConicSpiral, vtkParametricCrossCap, vtkParametricDini, vtkParametricEllipsoid, vtkParametricEnneper, vtkParametricFigure8Klein, vtkParametricKlein, vtkParametricMobius, vtkParametricRandomHills, vtkParametricRoman, vtkParametricSpline, vtkParametricSuperEllipsoid, vtkParametricSuperToroid, vtkParametricTorus Demonstration of of the vtkParametric* classes added by Andrew Maclean. All the objects are displayed in a 4X4 array.
ParametricObjectsDemo2 vtkParametricBohemianDome, vtkParametricBour, vtkParametricCatalanMinimal, vtkParametricHenneberg, vtkParametricKuen, vtkParametricPluckerConoid, vtkParametricPseudosphere Demonstration of additional vtkParametric* classes added by Tim Meehan. All the objects are displayed in a 4X2 array.
ParametricKuenDemo vtkParametricKuen Interactively change the parameters for a Kuen Surface.
ParametricSuperEllipsoidDemo vtkParametricSuperEllipsoid Interactively change the parameters for a SuperEllipsoid Surface.
ParametricSuperToroidDemo vtkParametricSuperToroid Interactively change the parameters for a SuperToroid Surface.

Implicit Functions and Iso-surfaces

Example Name Classes Demonstrated Description
BandedPolyDataContourFilter vtkBandedPolyDataContourFilter Create filled contours.
ContourTriangulator vtkMarchingSquares vtkContourTriangulator Create a contour from a structured point set (image) and triangulate it.
CutWithCutFunction vtkCutter Cut a surface with an implicit plane using vtkCutter.
CutWithScalars vtkContourFilter Cut a surface with scalars.
ExtractLargestIsosurface vtkPolyDataConnectivityFilter Extract largest isosurface.
FilledContours vtkContourFilter Create filled contours (using vtkClipPolyData).
ImplicitDataSet vtkImplicitDataSet Convert an imagedata to an implicit function.
ImplicitSphere vtkSphere An implicit representation of a sphere.
IsoContours vtkContourFunction Visualize different isocontours using a slider.
MarchingCubes vtkMarchingCubes Create a voxelized sphere.
MarchingSquares vtkMarchingSquares Create a contour from a structured point set (image).
SampleFunction vtkSampleFunction Sample and visualize an implicit function.

Working with 3D Data

Example Name Classes Demonstrated Description
AlignFrames vtkLandmarkTransform Align coordinate frames.
AppendFilter vtkAppendFilter Append different types of data,
BooleanOperationPolyDataFilter vtkBooleanOperationPolyDataFilter Perform boolean operations on two vtkPolyData objects.
CellCenters vtkCellCenters Compute points at the center of every cell.
CellEdgeNeighbors vtkPolyData::GetCellNeighbors Determine which cells share an edge with a specific cell.
CellPointNeighbors vtkPolyData::GetCellNeighbors Determine which cells share a single point with a specific cell.
CenterOfMass vtkCenterOfMass Compute the center of mass of the points.
Circle vtkCutter Create a circle by cutting through a sphere.
CleanPolyData vtkCleanPolyData Remove coincident points.
ColorCellsWithRGB vtkCellData Color individual cells of a polydata with rgb colors.
ColorCells vtkLookupTable Color individual cells of a polydata with scalar index.
Colored Points vtkUnsignedCharArray Add three points to a polydata and associate a color with each of them.
CombinePolyData vtkAppendPolyData Combine/Append PolyData.
ConnectivityFilter vtkConnectivityFilter Color any dataset type based on connectivity.
ContoursFromPolyData vtkCutter Create contours from PolyData.
ContoursToSurface vtkVoxelContoursToSurfaceFilter Convert contours to a surface.
ConvexHullShrinkWrap vtkSmoothPolyDataFilter Convex hull using shrink wrapping.
Hull vtkHull Convex hull using vtkHull.
CopyAllArrays vtkPolyData Copy all arrays from one vtkPolyData to another.
Data Bounds vtkPolyData::GetBounds Get the minimum and maximum value in each dimension. (Axis aligned bounding box)
DataSetSurfaceFilter vtkDataSetSurfaceFilter Convert vtkUnstructuredGrid to vtkPolyData.
DecimatePolyline vtkDecimatePolylineFilter Decimate polyline.
DeleteCells vtkPolyData Delete a cell from a vtkPolyData
DeletePoint vtkPoints, vtkPolyData
DetermineArrayDataTypes vtkPolyData Determine data types of arrays.
DistancePolyDataFilter vtkDistancePolyDataFilter Compute the distance function from one vtkPolyData to another.
EmbedPointsIntoVolume vtkGaussianSplatter Embed points into a volume.
ExternalContour vtkWindowToImageFilter, vtkContourFilter Get the External Contour from Polydata.
ExtractCellsUsingPoints vtkExtractSelection, vtkSelection, vtkSelectionNode Extract points but bring cells that are still complete with them.
ExtractOutsideSurface vtkPolyDataConnectivityFilter Extract the outer surface of a multiple surface polydata.
ExtractPolyLinesFromPolyData vtkPolyData Extract polylines from polydata.
ExtractSelectedIds vtkExtractSelectedIds Extract selected points.
ExtractSelectionCells vtkExtractSelection Extract selection cells.
ExtractSelectionOriginalId vtkExtractSelection Extract selection and find correspondence between new and original Id.
ExtractSelection vtkExtractSelection Extract selection points.
ExtractVisibleCells vtkHardwareSelector Extract and highlight visible cells.
FieldData vtkFieldData Add Global Miscellaneous Data (FieldData) to a Polydata.
FindAllArrayNames vtkPolyData Get the names of all of the data arrays.
FitSplineToCutterOutput vtkKochanekSpline, vtkSplineFilter, vtkSpline Fit a spline to cutter output.
GeometryFilter vtkGeometryFilter Convert vtkUnstructuredGrid to vtkPolyData (another way).
GetMiscCellData vtkCellData Get Miscellaneous Data from Cells in a Polydata.
GetMiscPointData vtkDoubleArray Get Miscellaneous Data from Points in a Polydata.
GradientFilter vtkGradientFilter Compute the gradient of a scalar field on a data set.
ImplicitBoolean vtkImplicitBoolean Operations include intersection and union.
ImplicitBooleanDemo vtkImplicitBoolean Demo Union, Difference and Intersection.
ImplicitModeller vtkImplicitModeller Compute the distance from an object to every point on a uniform grid.
ImplicitPolyDataDistance vtkImplicitPolyDataDistance Compute the distance function in a space around a vtkPolyData.
InterpolateMeshOnGrid vtkProbeFilter Interpolate a mesh over a grid.
InterpolateTerrain vtkProbeFilter [http://vtk.org/Wiki/Demystifying_the_vtkProbeFilter Here] is a good explanation of what is going on.Interpolate terrain.
IntersectionPolyDataFilter vtkIntersectionPolyDataFilter Compute the intersection of two vtkPolyData objects.
IterateOverLines vtkCellArray Iterate through the lines of a PolyData.
KMeansClustering vtkKMeansStatistics KMeans Clustering
KochanekSpline vtkKochanekSpline Create an Kochanek spline on a set of points.
LinearExtrusion vtkLinearExtrusionFilter Extrude a shape.
MaskPoints vtkMaskPoints Select a subset (mask) of a point set.
MergePoints vtkMergePoints Remove duplicate (merge) points.
MiscCellData vtkCellData Add Miscellaneous Data to Cells in a Polydata.
MiscPointData vtkPointData, vtkFloatArray Add Miscellaneous Data to Points in a Polydata.
MultiBlockMergeFilter vtkMultiBlockMergeFilter, vtkMultiBlockDataSet Combine MultiBlockDataSets.
NullPoint vtkPointData Set everything in PointData at a specified index to NULL
Outline vtkOutlineFilter Draw the bounding box of the data
PKMeansClustering vtkPKMeansStatistics Parallel KMeans Clustering.
ParametricSpline vtkCardinalSpline, vtkParametricSpline, vtkParametricFunctionSource Create a Cardinal spline on a set of points.
Perlin Noise vtkPerlinNoise
PointCellIds vtkIdFilter Generate point and cell id arrays.
PointInsideObject2 vtkDelaunay3D, vtkPolyData::FindCell This uses a Delaunay triangulation to compute a volume. This gives more of an "is inside convex hull" effect than an "is inside object".
PointInsideObject vtkSelectEnclosedPoints Check if a point is inside an object.
PointsProjectedHull vtkPointsProjectedHull Convex hull of points projected onto the coordinate planes.
PolyDataCellNormals vtkCellData Add/Get Normals to/from cells in a Polydata.
PolyDataContourToImageData vtkLinearExtrusionFilter,vtkPolyDataToImageStencil Generate a binarized image from a closed contour.
PolyDataExtractNormals vtkPolyDataNormals Extract Normals from a Polydata.
PolyDataGetPoint vtkPolyData Get point locations/coordinates from a vtkPolyData.
PolyDataIsoLines vtkBandedPolyDataContourFilter Iso lines on the surface of a polydata
PolyDataPointNormals vtkPointData Add/Get Normals to/from points in a Polydata.
PolyDataPointSampler vtkPolyDataPointSampler Sample the edges or surfaces of a polydata.
PolyDataToImageData vtkPolyDataToImageStencil Generate a binarized volume from a closed surface.
ProcrustesAlignmentFilter vtkProcrustesAlignmentFilter Align point sets.
ProgrammableFilter vtkProgrammableFilter Create a custom filter without subclassing.
ProgrammableSource vtkProgrammableSource Create points using a programmable source. Generates points for a strange attractor.
ProjectSphere vtkProjectSphereFilter Unroll a sphere or spherical-like model.
QuantizePolyDataPoints vtkQuantizePolyDataPoints Snap (quantize) points to a grid.
Reflection vtkReflectionFilter Mirror a DataSet.
ReverseSense vtkReverseSense Flip normals.
RibbonFilter vtkRibbonFilter
RotationAroundLine vtkTransform, vtkTransformPolyDataFilter Rotation around a line.
RuledSurfaceFilter vtkRuledSurfaceFilter Create a surface between lines.
SCurveSpline vtkSCurveSpline Create an SCurve spline on a set of points.
SelectVisiblePoints vtkSelectVisiblePoints Select visible points.
SelectionSource vtkSelectionSource, vtkExtractSelection Specify a selection.
ShrinkPolyData vtkShrinkPolyData Move all items in a PolyData towards their centroid.
Silhouette vtkPolyDataSilhouette
Stripper vtkStripper Convert triangles to triangle strips.
ThinPlateSplineTransform vtkThinPlateSplineTransform
ThresholdCells vtkThreshold Thresholding Cells.
ThresholdPoints vtkThresholdPoints Thresholding Points.
TransformFilter vtkTransformFilter Transform a data set.
TransformOrderDemo vtkTransformPolyDataFilter Demonstrate how the order of applying transforms affects the result.
TransformPipeline vtkTransform Combining the transformation, in order to manipulate a group of vtkActor. Shown in the example robot arm motion.
TransformPolyData vtkTransformPolyDataFilter Apply a Transformation to a PolyData.
TriangleArea vtkTriangle::TriangleArea Compute the area of all triangles in a polydata.
TriangleColoredPoints vtkUnsignedCharArray Set the color of each point of a triangle. You will be able to interpolate the colors across the triangle.
TriangleSolidColor vtkUnsignedCharArray Create a solid colored triangle.
TubeFilter vtkTubeFilter Give lines a thickness (produce a cylinder around lines.
VectorFieldNonZeroExtraction vtkExtractSelectedThresholds Extract non-zero vectors from a vtkImageData.
VertexConnectivity vtkPolyData::GetCellPoints Get a list of vertices attached (through an edge) to a vertex.
WarpScalar vtkWarpScalar Move vertices along normals.
WarpSurface vtkWarpVector Warp a surface along its normal.
WarpTo vtkWarpTo Bend an object.
WarpVector vtkWarpVector

Data Types

Example Name Classes Demonstrated Description
CompositePolyDataMapper vtkCompositePolyDataMapper
MultiBlockDataSet vtkMultiBlockDataSet Demonstrates how to make and use VTK's MultiBlock type data
OverlappingAMR vtkOverlappingAMR Demonstrates how to create and populate a VTK's Overlapping AMR Grid type Data

Data Type Conversions

Example Name Classes Demonstrated Description
PolyDataToUnstructuredGrid vtkAppendFilter Convert a vtkPolyData to a vtkUnstructuredGrid.

Point cloud operations

Example Name Classes Demonstrated Description
DensifyPoints vtkDensifyPointCloudFilter Add points to a point cloud.
DownsamplePointCloud vtkCleanPolyData Downsample a point cloud. Remove points so that there are no points within a tolerance of any point.
ExtractClusters vtkEuclideanClusterExtraction From a set of randomly distributed spheres, extract connected clusters.
ExtractPointsDemo vtkExtractPoints Extract points inside an implicit function.
ExtractSurfaceDemo vtkExtractSurface,vtkPCANormalEstimation,vtkSignedDistance Create a surface from Unorganized Points using Point filters (DEMO).
ExtractSurface vtkExtractSurface,vtkPCANormalEstimation,vtkSignedDistance Create a surface from Unorganized Points using Point filters.
FitImplicitFunction vtkFitImplicitFunction Extract points within a distance to an implicit function.
MaskPointsFilter vtkMaskPointsFilter Extract points within an image mask.
NormalEstimation vtkPCANormalEstimation Estimate the normals of a random points that lie on a sphere.
PointOccupancy vtkPointOccupancy Show which voxels contain points.
PointSource vtkPointSource Generate a random point cloud.
RadiusOutlierRemoval vtkRadiusOutlierRemoval Remove outliers.
SignedDistance vtkSignedDistance Compute signed distance to a point cloud.
UnsignedDistance vtkUnsignedDistance Compute unsigned distance to a point cloud.

Working with Meshes

Example Name Classes Demonstrated Description
AddCell vtkPolyData Add a cell to an existing mesh.
BoundaryEdges vtkFeatureEdges Find the edges that are used by only one face.
CellEdges vtkCell Get edges of cells.
ClosedSurface vtkFeatureEdges Check if a surface is closed.
ColorDisconnectedRegions vtkPolyDataConnectivityFilter Color each disconnected region of a vtkPolyData a different color.
ColoredElevationMap vtkLookupTable Color a mesh by height.
Curvatures vtkCurvatures Compute Gaussian, Mean, Min, and Max Curvatures.
Decimation vtkDecimatePro Reduce the number of triangles in a mesh.
DeformPointSet vtkDeformPointSet Deform a point set with a control polyhedra.
DijkstraGraphGeodesicPath vtkDijkstraGraphGeodesicPath Find the shortest path between two points on a mesh.
ElevationFilter vtkElevationFilter Color a mesh by height.
ExtractEdges vtkExtractEdges
FillHoles vtkFillHolesFilter Close holes in a mesh.
GreedyTerrainDecimation vtkGreedyTerrainDecimation Create a mesh from an ImageData
HighlightBadCells vtkMeshQuality
LargestRegion vtkPolyDataConnectivityFilter Extract the largest connected region in a polydata.
MatrixMathFilter vtkMatrixMathFilter Compute various quantities on cell and points in a mesh.
MeshQuality vtkMeshQuality
OBBDicer vtkOBBDicer Breakup a mesh into pieces.
PolygonalSurfaceContourLineInterpolator vtkPolygonalSurfaceContourLineInterpolator Interactively find the shortest path between two points on a mesh.
QuadricClustering vtkQuadricClustering Reduce the number of triangles in a mesh.
QuadricDecimation vtkQuadricDecimation Reduce the number of triangles in a mesh.
SelectPolyData vtkSelectPolyData Select a region of a mesh.
SimpleElevationFilter vtkSimpleElevationFilter Color a mesh by dotting a vector from the origin to each point with a specified vector.
SmoothPolyDataFilter vtkSmoothPolyDataFilter Laplacian smoothing.
SpecifiedRegion vtkPolyDataConnectivityFilter Extract a specific (specified) connected region in a polydata.
SplitPolyData vtkOBBDicer Breakup a mesh into pieces and save the pieces into files
Subdivision vtkButterflySubdivisionFilter, vtkLoopSubdivisionFilter, vtkLinearSubdivisionFilter Increase the number of triangles in a mesh.
Triangluate vtkTriangleFilter Convert all polygons in a mesh to triangles.
WeightedTransformFilter vtkWeightedTransformFilter
WindowedSincPolyDataFilter vtkWindowedSincPolyDataFilter Smooth a mesh (windowed sinc filter).

Clipping

Example Name Classes Demonstrated Description
BoxClipStructuredPoints vtkBoxClipDataSet, vtkStructuredPoints Clip vtkStructuredPoints with a box. The results are unstructured grids with tetrahedra.
BoxClipUnstructuredGrid vtkBoxClipDataSet, vtkUnstructuredGrid Clip a vtkUnstructuredGrid with a box. The results are unstructured grids with tetrahedra.
CapClip vtkClipPolyData Cap a clipped polydata with a polygon.
ClipClosedSurface vtkClipClosedSurface Clip a surface with multiple planes.
ClipDataSetWithPolyData vtkClipDataSet, vtkImplicitPolyDataDistance, vtkRectilinearGrid Clip a vtkRectilinearGrid with arbitrary polydata. In this example, use a vtkConeSource to generate polydata to slice the grid, resulting in an unstructured grid. Contrast this with the next example.
GenericClip vtkGenericClip,vtkBridgeDataSet, vtkGenericDataSet
ImplicitDataSetClipping vtkImplicitDataSet Clip using an implicit data set.
SolidClip vtkClipPolyData Create a "solid" clip.
TableBasedClipDataSetWithPolyData vtkTableBasedClipDataSet, vtkImplicitPolyDataDistance, vtkRectilinearGrid Clip a vtkRectilinearGrid with arbitrary polydata. In this example, use a vtkConeSource to generate polydata to slice the grid, resulting in an unstructured grid. Contrast this with the previous example.

Working with Structured 3D Data

This section includes vtkImageData, vtkStructuredGrid, and vtkRectilinearGrid.

"ImageData" is not the traditional "flat, 2D image" you are used to. It is a special VTK data structure in the collection of 3D data structures provided by VTK. Here is an overview of these data structures. Image data can represent at typical 2D image, but also, a 3D volume.

  • [[/Cxx/Visualization/StructuredDataTypes|Demonstration of structured data types]]
  • [[/Cxx/StructuredData/GetLinearPointId|Get the linear point id of a point in a grid]]

vtkImageData

Example Name Classes Demonstrated Description
GetCellCenter vtkImageData Get the coordinates of the center of a cell.
CellIdFromGridCoordinates vtkStructuredData Get the id of a cell from its grid coordinates.
IterateImageData vtkImageData Iterating over a vtkImageData.
ImageNormalize vtkImageNormalize Normalize an image.
ExtractVOI vtkExtractVOI Extract a volume of interest (subvolume).
ImageWeightedSum vtkImageWeightedSum Add two or more images.
ImageReslice vtkImageReslice Resize a vtkImageData.
ImageTranslateExtent vtkImageTranslateExtent Change the extent of a vtkImageData.
IntersectLine vtkImageData Intersect a line with all cells of a vtkImageData.
ImageIterator vtkImageIterator

Conversions

Example Name Classes Demonstrated Description
ImageDataGeometryFilter vtkImageDataGeometryFilter Convert a vtkImageData to a vtkPolyData
ImageDataToPointSet vtkImageDataToPointSet Convert a vtkImageData to a vtkStructuredGrid.

vtkStructuredGrid

Example Name Classes Demonstrated Description
BlankPoint vtkStructuredGrid Blank a point of a vtkStructuredGrid.
StructuredGridOutline vtkStructuredGridOutlineFilter Visualize the outline of a structured grid.
StructuredGrid vtkStructuredGrid Structured Grid.
VisualizeStructuredGridCells vtkShrinkFilter Visualize the cells of a structured grid.
VisualizeStructuredGrid vtkStructuredGridGeometryFilter Visualize the points of a structured grid.

vtkStructuredPoints

Example Name Classes Demonstrated Description
StructuredPointsToUnstructuredGrid vtkStructuredPoints, vtkUnstructuredGrid Convert a vtkStructuredPoints to a vtkUnstructuredGrid.

vtkRectilinearGrid

Example Name Classes Demonstrated Description
RectilinearGridToTetrahedra vtkRectilinearGridToTetrahedra Convert a vtkRectilinearGrid to a vtkUnstructuredGrid mesh
RectilinearGrid vtkRectilinearGrid Rectilinear grid
VisualizeRectilinearGrid vtkRectilinearGrid, vtkShrinkFilter Visualize the cells of a rectilinear grid

Registration

Example Name Classes Demonstrated Description
IterativeClosestPointsTransform vtkIterativeClosestPointTransform Iterative Closest Points (ICP) Transform.
LandmarkTransform vtkLandmarkTransform Landmark Transform.

Medical

Example Name Classes Demonstrated Description
MedicalDemo1 vtkMarchingCubes Create a skin surface from volume data
MedicalDemo2 vtkMarchingCubes Create a skin and bone surface from volume data
MedicalDemo3 vtkMarchingCubes Create skin, bone and slices from volume data
MedicalDemo4 vtkFixedPointVolumeRayCastMapper Create a volume rendering
TissueLens vtkMarchingCubes vtkClipDataSet vtkProbeFilter Cut a volume with a sphere

Surface reconstruction

Example Name Classes Demonstrated Description
Delaunay3D vtkDelaunay3D Create a solid mesh from Unorganized Points (Delaunay3D).
ExtractSurfaceDemo vtkExtractSurface,vtkPCANormalEstimation,vtkSignedDistance Create a surface from Unorganized Points using Point filters (DEMO).
ExtractSurface vtkExtractSurface,vtkPCANormalEstimation,vtkSignedDistance Create a surface from Unorganized Points using Point filters.
GaussianSplat vtkGaussianSplatter Create a surface from Unorganized Points (Gaussian Splat).
GenerateCubesFromLabels vtkMetaImageReader, vtkMaskFields Create cubes from labeled volume data.
GenerateModelsFromLabels vtkDiscreteMarchingCubes Create models from labeled volume data (Discrete MarchingCubes).
SurfaceFromUnorganizedPointsWithPostProc vtkSurfaceReconstructionFilter Create a surface from Unorganized Points (with post processing).
SurfaceFromUnorganizedPoints vtkSurfaceReconstructionFilter Create a surface from Unorganized Points.
TriangulateTerrainMap vtkDelaunay2D Generate heights (z values) on a 10x10 grid (a terrain map) and then triangulate the points to form a surface.

Utilities

Example Name Classes Demonstrated Description
BoundingBoxIntersection vtkBoundingBox Box intersection and Inside tests.
BoundingBox vtkBoundingBox Bounding Box construction.
BrownianPoints vtkBrownianPoints Produce a random vector at each point in a dataset.
CardinalSpline vtkCardinalSpline Cardinal spline Interpolation.
Casting vtkObject::SafeDownCast Casting VTK objects.
CheckVTKVersion vtkVersion Check VTK Version.
ColorLookupTable vtkLookupTable Color Lookup Table.
ColorTransferFunction vtkColorTransferFunction Color Transfer Function.
CommandSubclass vtkCommand Instead of using a callback function, it is more powerful to subclass vtkCommand.
ConstrainedDelaunay2D vtkDelaunay2D Perform a 2D Delaunay triangulation on a point set respecting a specified boundary.
Coordinate vtkCoordinate Coordinate system conversions.
DeepCopy Deep copy a VTK object.
Delaunay2D vtkDelaunay2D Perform a 2D Delaunay triangulation on a point set.
DetermineActorType vtkActor, vtkActorCollection Determine the type of an actor.
DiscretizableColorTransferFunction vtkDiscretizableColorTransferFunction Discretizable Color Transfer Function.
FileOutputWindow vtkFileOutputWindow Write errors to a log file instead of the screen.
FilenameFunctions vtkDirectory, vtksys/SystemTools Do things like get the file extension, strip the file extension, etc.
FilterSelfProgress Monitor a filters progress.
FrameRate Get the frame rate of the rendering.
FullScreen vtkRenderWindow Maximize/full screen a vtkRenderWindow.
FunctionParser vtkFunctionParser String function parser.
GetClassName GetClassName() Determine the type of a VTK variable.
GetDataRoot vtkTesting Find the path of VTK_DATA_ROOT.
LUTUtilities vtkLookupTable vtkColorSeries A utility class for vtkLookupTable allowing you to output the table contents or to compare tables.
MultipleRenderWindows vtkRenderWindow Multiple Render Windows
MultipleViewports vtkRenderer::SetViewPort Multiple Viewports.
OffScreenRendering vtkImagingFactory, vtkGraphicsFactory Off Screen Rendering.
PCADemo vtkPCAStatistics Project 2D points onto the best 1D subspace (PCA Demo).
PCAStatistics vtkPCAStatistics Compute Principal Component Analysis (PCA) values.
PassThrought vtkPassThrough Pass input along to outpu.
PiecewiseFunction vtkPiecewiseFunction Interpolation using a piecewise function.
PointInPolygon vtkPolygon Point inside polygon test.
Screenshot vtkWindowToImageFilter
ShallowCopy Shallow copy a VTK object.
ShareCamera vtkRenderer, vtkCamera Share a camera between multiple renderers.
ShepardMethod vtkShepardMethod Shepard method interpolation.
SideBySideViewports vtkRenderer::SetViewPort Side by side viewports.
TimeStamp vtkTimeStamp Time stamp.
TimerLog vtkTimerLog Timer log.
Timer vtkRenderWindowInteractor::CreateRepeatingTimer
Variant vtkVariant Convert between data types.
Vector vtkVector Mathematical vector class.
VersionMacros Macro/#define's Check VTK Version.
VisualDebugging Update the screen from inside an algorithm.
ZBuffer vtkRenderer zbuffer.

Arrays

Example Name Classes Demonstrated Description
2DArray vtkDenseArray 2D Array.
3DArray vtkDenseArray 3D Array.
ArrayCalculator vtkArrayCalculator Perform in-place operations on arrays.
ArrayLookup vtkDataArray Find the location of a value in a vtkDataArray.
ArrayRange vtkFloatArray::GetRange Get the bounds (min,max) of a vtk array.
ArrayToTable vtkArrayToTable Convert a vtkDenseArray to a vtkTable.
ArrayWriter vtkArrayWriter Write a DenseArray or SparseArray to a file.
ConcatenateArray vtkConcatenateArray Concatenate two arrays.
ConstructTable vtkTable A table is a 2D array of any type of elements. They do not all have to be the same type. This is achieved using vtkVariant.
CustomDenseArray vtkDenseArray Custom type Dense (2D) Array.
DenseArrayRange vtkDenseArray, vtkArrayRange Get the bounds of a vtkDenseArray.
ExtractArrayComponent vtkArrayCalculator Extract a component of an array.
KnownLengthArray vtkFloatArray Known Length Array.
SortDataArray vtkSortDataArray Reorder array values based on an ordering (key) array.
SparseArray vtkSparseArray Sparse Array.
UnknownLengthArray vtkFloatArray Unknown Length Array.
VectorArrayKnownLength vtkFloatArray Array of Vectors (Known Length).
VectorArrayUnknownLength vtkFloatArray Array of Vectors (Unknown Length).

Events

Example Name Classes Demonstrated Description
CameraModifiedEvent vtkCameraWindow Catch the camera modified event.
ObserveError vtkCommand Catch errors and warnings.
WindowModifiedEvent vtkRenderWindow Catch the window modified event.

CMake Techniques

Example Name Classes Demonstrated Description
Check if a specific module is present
Check VTK Version in CMake (http://www.vtk.org/doc/nightly/html/classVTKVersionCheck.html))

Math Operations

Example Name Classes Demonstrated Description
EigenSymmetric vtkMath::Jacobi Compute eigenvalues and eigenvectors of a symmetric matrix.
HomogeneousLeastSquares vtkMath::SolveHomogeneousLeastSquares Homogeneous Least Squares.
1DTupleInterpolation vtkTupleInterpolator vtkCardinalSpline vtkKochanekSpline A simple example demonstrating how functions defined by sparsely distributed supporting points can be interpolated at arbitrary positions.
LUFactorization vtkMath LU Factorization.
LeastSquares vtkMath::SolveLeastSquares Least Squares.
MatrixInverse vtkMatrix3x3 Matrix inverse.
MatrixTranspose vtkMatrix3x3 Matrix transpose.
NormalizeVector vtkMath Normalize a vector.
PerpendicularVector vtkMath::Perpendiculars Get a vector perpendicular to another vector.
PowerWeighting vtkPowerWeighting Raise all elements in an array to a power.
VectorDot vtkVectorDot
VectorNorm vtkVectorNorm Get the lengths of an array of vectors.

Graphs

Example Name Classes Demonstrated Description
AdjacencyMatrixToEdgeTable vtkAdjacencyMatrixToEdgeTable Convert an adjacency matrix to an edge table.
AdjacentVertexIterator vtkAdjacentVertexIterator Get all vertices connected to a specified vertex.
BoostBreadthFirstSearchTree vtkBoostBreadthFirstSearchTree Breadth first search tree. Can also be used to convert a graph to a tree.
BreadthFirstDistance vtkBoostBreadthFirstSearch Distance from origin.
ColorEdges vtkGraphLayoutView Color edges.
ColorVertexLabels vtkGraphLayoutView, vtkRenderedGraphRepresentation Set the color of vertex labels.
ColorVerticesLookupTable vtkGraphLayoutView Color vertices.
ConnectedComponents vtkBoostConnectedComponents Find connected components of a graph.
ConstructGraph vtkMutableUndirectedGraph Construct a graph.
ConstructTree vtkTree, vtkMutableDirectedGraph Construct a tree.
DepthFirstSearchAnimation vtkTreeDFSIterator Depth First Search Animation.
DepthFirstSearchIterator vtkTreeDFSIterator Depth First Search iterator.
EdgeListIterator vtkEdgeListIterator Iterate over edges of a graph.
EdgeWeights vtkGraph::GetEdgeData::AddArray Edge weights.
GraphPoints vtkGraph::SetPoints, vtkPassThroughLayoutStrategy Manually set coordinates of vertices in a graph.
GraphToPolyData vtkGraphToPolyData Convert a graph to a PolyData.
InEdgeIterator vtkInEdgeIterator Iterate over edges incoming to a vertex.
LabelVerticesAndEdges vtkGraphLayoutView::SetEdgeLabelArrayName, vtkGraphLayoutView::SetVertexLabelArrayName Label vertices and edges.
MinimumSpanningTree vtkBoostPrimMinimumSpanningTree Minimum spanning tree of a graph.
MutableGraphHelper vtkMutableGraphHelper Create either a vtkMutableDirectedGraph or vtkMutableUndirectedGraph.
NOVCAGraph vtkUnstructuredGrid, vtkXMLUnstructuredGridWriter, vtkPolyLine Create a graph & visualize it in ParaView/VisIt.
OutEdgeIterator vtkOutEdgeIterator Iterate over edges outgoing from a vertex.
RandomGraphSource vtkRandomGraphSource Create a random graph.
RemoveIsolatedVertices vtkRemoveIsolatedVertices Remove vertices of degree 0 from a vtkGraph.
ScaleVertices vtkGraphLayoutView, vtkRenderedGraphRepresentation Size/scale vertices based on a data array.
SelectedVerticesAndEdges vtkAnnotationLink Get a list of selected vertices and edges.
SelectedVerticesAndEdgesObserver vtkAnnotationLink Get a list of selected vertices and edges using an observer of AnnotationChangedEvent.
ShortestPath vtkDijkstraGraphGeodesicPath Find the shortest path on a graph.
SideBySideGraphs vtkGraphLayoutView Display two graphs side by side.
TreeBFSIterator vtkTreeBFSIterator Breadth First Search iterator.
VertexSize vtkGraphLayoutView, vtkRenderedGraphRepresentation Set the size of vertices.
VisualizeDirectedGraph vtkGlyphSource2D Visualize a directed graph.
VisualizeGraph vtkGraphLayoutView, vtkGraphLayoutStrategy, vtkSimple2DLayoutStrategy Visualize a graph.

Graph Conversions

Example Name Classes Demonstrated Description
DirectedGraphToMutableDirectedGraph vtkMutableDirectedGraph, vtkDirectedGraph vtkDirectedGraph to vtkMutableDirectedGraph.
MutableDirectedGraphToDirectedGraph vtkMutableDirectedGraph, vtkDirectedGraph vtkMutableDirectedGraph to vtkDirectedGraph.
TreeToMutableDirectedGraph vtkMutableDirectedGraph, vtkTree vtkTree to vtkMutableDirectedGraph

Data Structures

Example Name Classes Demonstrated Description
AttachAttributes vtkInformation Attach attributes to a VTK array
CellLocatorVisualization vtkCellLocator Visualization of the tree of a vtkCellLocator.
CellLocator vtkCellLocator Project a point onto a mesh. Closest point on a mesh.Efficient 3D cell query.
CellTreeLocator vtkCellTreeLocator Points inside an object using vtkCellTreeLocator.
PointLocatorVisualization vtkPointLocator Visualization of the tree of a vtkPointLocator.
PointLocator vtkPointLocator Efficient 3D point query.
PointLocatorRadius vtkPointLocator Find all points within a radius of a specified point.

Timing Demonstrations

Example Name Classes Demonstrated Description
KDTreeTimingDemo vtkKdTreePointLocator Plot the runtime vs MaxLevel (doesn't seem correct)
ModifiedBSPTreeTimingDemo vtkModifiedBSPTree Plot the runtime vs MaxLevel
OBBTreeTimingDemo vtkOBBTree Plot the runtime vs MaxLevel
OctreeTimingDemo vtkOctreePointLocator Plot the runtime vs MaxPointsPerRegionOctree timing demo.

KD-Tree

Example Name Classes Demonstrated Description
BuildLocatorFromKClosestPoints vtkKdTree
ClosestNPoints vtkKdTreePointLocator Find the closest N points to a query point.
DataStructureComparison vtkKdTree, vtkOBBTree, vtkOctreePointLocator, vtkModifiedBSPTree Illustrates, side by side, the differences between several spatial data structures
KDTreeAccessPoints vtkKdTree Access the points of a KDTree.
KDTreeFindPointsWithinRadius vtkKdTreePointLocator Find points within a specified radius of a query point.
KdTreePointLocatorClosestPoint vtkKdTreePointLocator Find the closest point to a query point.
KdTree vtkKdTree
VisualizeKDTree vtkKdTreePointLocator Visualize levels of the tree.

Oriented Bounding Box (OBB) Tree

Example Name Classes Demonstrated Description
OBBTreeIntersectWithLine vtkOBBTree Intersect a line with a vtkOBBTree.
OBBTreeExtractCells vtkOBBTree Intersect a line with an OBB Tree and display all intersected cells.
VisualizeOBBTree vtkOBBTree Visualize levels of the tree.

Octree

Example Name Classes Demonstrated Description
BuildOctree vtkOctreePointLocator Create an octree.
OctreeFindPointsWithinRadius vtkOctreePointLocator Find the points within a sphere of specified radius to a query point.
IncrementalOctreePointLocator vtkIncrementalOctreePointLocator Insert points into an octree without rebuilding it.
OctreeKClosestPoints vtkOctreePointLocator Find the K closest points to a query point.
OctreeClosestPoint vtkOctreePointLocator Find the closest point to a query point.
OctreeVisualize vtkOctreePointLocator Visualize levels of the tree.

Modified BSP Tree

Example Name Classes Demonstrated Description
ModifiedBSPTreeIntersectWithLine vtkModifiedBSPTree Intersect a line with a modified BSP Tree.
ModifiedBSPTreeExtractCells vtkModifiedBSPTree Intersect a line with a modified BSP Tree and display all intersected cells.
VisualizeModifiedBSPTree vtkModifiedBSPTree Visualize levels of the tree.

VTK Concepts

Example Name Classes Demonstrated Description
Scalars](http://www.vtk.org/doc/nightly/html/classVTKConcepts.html)/Scalars) Attach a scalar value to each point (PointData) or cell (CellData) in a data set.

Rendering

Example Name Classes Demonstrated Description
AmbientSpheres vtkProperty Demonstrates the effect of ambient lighting on spheres.
DiffuseSpheres vtkProperty Demonstrates the effect of diffuse lighting on spheres.
SpecularSpheres vtkProperty Demonstrates the effect of specular lighting on spheres.
CylinderRenderingProperties vtkProperty Change the properties of a cylinder.

Lighting

Example Name Classes Demonstrated Description
Shadows vtkShadowMapPass Create shadows.
Light vtkLight Add a directional light to a scene.
LightActor vtkLightActor Display the location and direction of a light.

Visualization

See this tutorial for a brief explanation of the VTK terminology of mappers, actors, etc.

Example Name Classes Demonstrated Description
BillboardTextActor3D vtkBillboardTextActor3D Label points with billboards.
CameraActor vtkCameraActor Visualize a camera (frustum) in a scene.
DistanceToCamera vtkDistanceToCamera
FindCellIntersections vtkCellLocator Find the intersection of a line and the cells in an unstructured dataset
FlatShading vtkActor::GetProperty::SetInterpolationToFlat
Legend vtkLegendBoxActor
NoShading vtkActor::GetProperty::SetAmbient, vtkActor::GetProperty::SetDiffuse, vtkActor::GetProperty::SetSpecular
PointSize vtkActor::GetProperty::SetPointSize
Arbitrary3DCursor vtkPointWidget Track a 3D cursor.
AssignCellColorsFromLUT vtkNamedColors, vtkPlaneSource, vtkLookupTable, vtkColorTransferFunction Demonstrates how to assign colors to cells in a vtkPolyData structure using lookup tables.
BackfaceCulling vtkActor::GetProperty::BackfaceCullingOn Backface culling.
BackgroundColor vtkRenderer::SetBackground Background color.
BackgroundGradient vtkRenderer::GradientBackgroundOn, vtkRenderer::Setbackground2 Background gradient.
BackgroundTexture vtkRenderer, vtkTexture Use a texture for the background of a vtkRenderer.
Camera vtkCamera Positioning and aiming the camera.
CaptionActor2D vtkCaptionActor2D Draw a caption/bubble pointing to a particular point.
ClipArt vtkTextureMapToPlane Generate 3D clip art from an image.
CloseWindow vtkRenderWindowInteractor::TerminateApp, vtkRenderWindow::Finalize Close a render window.
ColorActorEdges vtkActor::GetProperty::SetEdgeColor Color the edges of an Actor.
ColorAnActor vtkActor::GetProperty::SetColor Color an Actor.
ColorGlyphs vtkGlyph3D vtkGlyph3D::SetColorModeToColorByScalar Color glyphs.
CornerAnnotation vtkCornerAnnotation Write text in the corners of a window.
CorrectlyRenderTranslucentGeometry vtkDepthSortPolyData Correctly Rendering Translucent Geometry.
CubeAxesActor2D vtkCubeAxesActor2D This example uses the vtkCubeAxesActor2D to show your scene with axes to indicate the spatial extent of your data.
CubeAxesActor vtkCubeAxesActor Display three orthogonal axes with labels.
Cursor3D vtkCursor3D
CursorShape vtkRenderWindow Change the shape of the cursor.
CurvatureBandsWithGlyphs vtkCurvatures, vtkBandedPolyDataContourFilter, vtkLookupTable, vtkColorSeries, vtkGlyph3D Demonstrates the coloring of a surface by partitioning the gaussian curvature of a surface into bands and using arrows to display the normals on the surface.
CurvedReformation vtkProbeFilter Sample a volume with a curved surface. In medical imaging, this is often called curved multi planar reformation.
Cutter vtkCutter
DepthSortPolyData vtkDepthSortPolyData Poly Data Depth Sorting.
DisplayCoordinateAxes vtkOrientationMarkerWidget Display coordinate axes.
DisplayQuadraticSurfaces vtkQuadric, vtkSampleFunction, vtkContourFilter Display Quadratic Surfaces.
DrawText vtkTextActor, vtkTextProperty Display Text.
ElevationBandsWithGlyphs vtkBandedPolyDataContourFilter, vtkLookupTable, vtkColorSeries, vtkGlyph3D Demonstrates the coloring of a surface by partitioning the elevation into bands and using arrows to display the normals on the surface.
FastSplatter vtkFastSplatter Convolve a splat image with every point in an input image.
Follower vtkFollower Draw text that stays right side up.
Glyph2D vtkGlyph2D
Glyph3D vtkGlyph3D
Glyph3DMapper vtkGlyph3DMapper
HedgeHog vtkHedgeHog, vtkStructuredGrid Create oriented lines (hedgehogs) from vector data.
Hide an actor vtkPropCollection, vtkProp::VisibilityOff visible
HideAllActors vtkRenderer::RemoveAllViewProps Hide all actors.
ImageMapper vtkImageMapper Display an image in 2D.
ImageOrder vtkRenderer Determine the display order of a stack of images.
ImageOrientation vtkInteractorStyleImage Orientation of the view of an image.
ImageTransparency vtkImageData Set transparency of image pixels.
IsosurfaceSampling vtkProbeFilter Demonstrates how to create point data on an isosurface.
LODProp3D vtkLODProp3D Level of detail rendering.
LabelContours vtkLabeledDataMapper Label Contours.
LabeledMesh vtkLabeledDataMapper Label Mesh.
LabelPlacementMapper vtkPointSetToLabelHierarchy, vtkLabelPlacementMapper Display a non-overlapping text label at each point.
LabeledDataMapper vtkLabeledDataMapper Display the point ID at each point.
LegendScaleActor vtkLegendScaleActor Display the scale of a scene.
LineWidth vtkActor, vtkProperty Change the width/thickness of lines in an actor.
MovableAxes vtkFollower, vtkAxesActor, vtkAssembly Movable axes.
MoveActor vtkInteractorStyleTrackballActor Moving an Actor.
MoveCamera vtkInteractorStyleTrackballCamera Moving the Camera.
MultipleActors vtkActor Multiple Actors.
NamedColorPatches vtkNamedColors Creates a HTML file called [VTKNamedColorPatches]((http://htmlpreview.github.com/?https://github.com/lorensen/VTKExamples/blob/master/src/Python/Visualization/VTKNamedColorPatches.html) showing the available colors in the vtkNamedColors class.
NamedColors vtkNamedColors Demonstrates how to use the vtkNamedColor class.
Opacity vtkActor::GetProperty::SetOpacity Transparency, transparent.
OrientedGlyphs vtkGlyph3D Create oriented glyphs from vector data.
PointDataSubdivision vtkLinearSubdivisionFilter vtkButterflySubdivisionFilter Demonstrates the effect of applying these filters on various sources.
ProgrammableGlyphFilter vtkProgrammableGlyphFilter Generate a custom glyph at each point.
QuadraticSurface vtkQuadric Display a quadratic surface.
QuadricLODActor vtkQuadricLODActor Level of detail adjustment.
RandomProbe vtkProbeFilter Demonstrates how to probe a dataset with random points and select points inside the data set.
RenderLargeImage vtkRenderLargeImage Render a large image, larger than a window.
RenderPassExistingContext vtkRenderPass,vtkVolumetricPass Render into an existing OpenGL Context.
RenderView vtkRenderView A little bit easier rendering.
ReverseAccess vtkActor Demonstrates how to access the source (e.g. vtkSphereSource) of an actor reversely.
RotateActor vtkActor::GetMatrix Rotate an Actor.
ScalarBarActor vtkScalarBarActor Display a color bar.
ScalarVisibility vtkDataSetMapper Switch between coloring the actor and coloring the data.
ScaleGlyphs vtkGlyph3D vtkGlyph3D::SetScaleModeToScaleByScalar Scale glyphs.
SceneBounds vtkRenderer Get the bounds of the whole scene.
SelectWindowRegion vtkInteractorStyleRubberBand2D Select a region of a window.
StreamLines vtkStreamLine Stream Lines.
TensorGlyph vtkTensorGlyph Draw a rotated/scaled glyph at each point.
TextSource vtkTextSource Display text.
TextureMapImageData vtkImageCanvasSource2D Texture map an ImageData.
TextureMapPlane vtkTextureMapToPlane Texture map a plane.
TextureMapQuad vtkPolygon, vtkPolyData::GetPointData::SetTCoords Texture map a quad.
TransformActorCollection vtkActorCollection Transform an actor collection.
TransformActor vtkActor::SetUserTransform Transform an Actor.
TubesFromSplines vtkTubeFilter, vtkParametricFunctionSource vtkTupleInterpolator Create tubes from interpolated points and scalars.
TubesWithVaryingRadiusAndColors vtkTubeFilter Create tubes with varying radius and colors.
VectorOfActors vtkActor Multiple Actors in a Vector.
VectorText vtkVectorText Display high resolution text.
VertexGlyphFilter vtkVertexGlyphFilter Add a vertex to each point.
Visualize2DPoints vtkPolyDataMapper2D, vtkProperty2D Visualize a 2D Set of Points.
VisualizeImageData vtkDataSetMapper Visualize the points of an ImageData.
VisualizeVTP vtkXMLPolyDataReader, vtkPolyDataMapper Visualize a VTP File.
WindowSize vtkRenderWindow:SetSize Change the size of a window.
WindowTitle vtkRenderWindow::SetWindowName Change the title of a window.
Wireframe vtkActor::GetProperty::SetRepresentationToWireframe
a KochSnowflake vtkPolyData, vtkPolyLine, vtkTriangle, vtkLookupTable, Use recursion to represent a Koch snowflake fractal.

Volume Rendering

Example Name Classes Demonstrated Description
HAVS vtkHAVSVolumeMapper
MinIntensityRendering vtkFixedPointVolumeRayCastMapper Min intensity rendering.
SmartVolumeMapper vtkSmartVolumeMapper Smart volume mapper.

User Interaction

Example Name Classes Demonstrated Description
AreaPicking vtkAreaPicker Area Picking.
Assembly vtkAssembly Combine/group actors into an assembly.
CallData vtkCommand Pass an observer a value (via CallData).
CellPicking vtkCellPicker Cell Picking.
ClientData vtkCommand Give an observer access to an object (via ClientData).
DoubleClick vtkInteractorStyleTrackballCamera Catch a double click.
Game vtkInteractorStyleTrackballActor Move a cube into a sphere.
HighlightPickedActor vtkPropPicker Highlight a picked actor.
HighlightSelectedPoints vtkExtractGeometry Highlight Selected Points.
HighlightSelection vtkExtractPolyDataGeometry Highlight selection.
ImageClip vtkImageClip Demonstrates how to interactively select and display a region of an image.
ImageRegion vtkCommand Select a region of an image.
InteractorStyleTerrain vtkInteractorStyleTerrain Terrain mode.
InteractorStyleUser vtkInteractorStyleUser Create a completely custom interactor style (no default functionality is provided)
KeypressEvents vtkInteractorStyleTrackballCamera Handle keypress events.
KeypressObserver vtkCallbackCommand This uses a callback function rather than a derived interactor class. Handle keypress events (lightweight).
MouseEvents vtkInteractorStyleTrackballCamera Subclass the interactor style. Handle mouse events.
MouseEventsObserver vtkCallbackCommand Use an observer. Handle mouse events (light weight).
MoveAGlyph vtkGlyph3D Drag a glyph around.
MoveAVertexUnstructuredGrid vtkPointPicker Click and drag a vertex of a vtkUnstructuredGrid.
ObserverMemberFunction Set observers to be class member functions.
PickableOff vtkActor::PickableOff Disallow interaction with a specific actor.
Picking vtkPropPicker Get the world coordinate of the mouse click (if you clicked an actor)
PointPicker vtkPointPicker Get the coordinates of the closest point in the data set to the mouse click.
RubberBand2DObserver vtkInteractorStyleRubberBand2D RubberBand2D Observer.
RubberBand2D vtkInteractorStyleRubberBand2D
RubberBand3D vtkInteractorStyleRubberBand3D
RubberBandPick vtkInteractorStyleRubberBandPick
RubberBandZoom vtkInteractorStyleRubberBandZoom
SelectAnActor vtkPropPicker Select an actor.
SelectAVertex vtkPointPicker Click and drag a vertex of a vtkPolyData.
ShiftAndControl vtkRenderWindowInteractor::GetControlKey() Hold/holding down a key. Check if shift or control is being held.
StyleSwitch vtkInteractorStyleSwitch Choose between multiple interaction modes.
TrackballActor vtkInteractorStyleTrackballActor Trackball actor mode.
TrackballCamera vtkInteractorStyleTrackballCamera Trackball camera mode.
UserEvent Simple observer. Create, invoke, and handle a custom event.
WorldPointPicker vtkWorldPointPicker Get world coordinates of mouse click.

Working with Images

Example Name Classes Demonstrated Description
Actor2D vtkActor2D vtkMapper2D 2D actor and mapper.
BackgroundImage vtkImageCanvasSource2D Display an image as the background of a scene.
BorderPixelSize vtkImageSliceMapper Set the size of border pixels.
CannyEdgeDetector Perform Canny edge detection on an image.
Cast vtkImageCast Cast an image to a different type.
DotProduct vtkImageDotProduct Compute the pixel-wise dot product of two vector images.
DrawOnAnImage vtkImageCanvasSource2D Drawing on an image.
DrawShapes vtkImageCanvasSource2D Drawing shapes in an image.
ExtractComponents vtkImageExtractComponents Extract components of an image. This can be used to get, for example, the red channel of an image.
FillWindow vtkCamera Fit imageSetup the camera to fill the window with an image.
ImageAccumulateGreyscale vtkImageAccumulate, vtkBarChartActor Display a greyscale histogram.
ImageCheckerboard vtkImageCheckerboard Visually Compare Two Images.
ImageCityBlockDistance vtkImageCityBlockDistance Compute the Manhattan distance from every point to every black point in a binary image.
ImageDilateErode3D vtkImageDilateErode3D Dilate or erode an image.
ImageExport vtkImageExport Export an image to a C array.
ImageGridSource vtkImageGridSource Create a image of a grid.
ImageHybridMedian2D vtkImageHybridMedian2D Median filter an image.
ImageIdealHighPass vtkImageIdealHighPass High pass filter an image.
ImageImport vtkImageImport Import an image from a C array.
ImageIslandRemoval2D vtkImageIslandRemoval2D Remove small patches from an image.
ImageMagnify vtkImageMagnify Supersample and stretch an image.
ImageMandelbrotSource vtkImageMandelbrotSource Create a Mandelbrot image.
ImageMask vtkImageMask Mask a region of an image.
ImageMathematics vtkImageMathematics Perform mathematical operations on an image.
ImageMedian3D vtkImageMedian3D Median filter a 3d or 2d image.
ImageMirrorPad vtkImageMirrorPad Pad the edges of an extended image by mirror existing pixels.
ImageNonMaximumSuppression vtkImageNonMaximumSuppression Find peaks in an image using non maximum suppression.
ImageOpenClose3D vtkImageOpenClose3D Open or close (morphologically) an image.
ImageRFFT vtkImageRFFT Inverse FFT.
ImageRange3D vtkImageRange3D Replace every pixel with the range of its neighbors according to a kernel.
ImageRotate vtkImageSlice, vtkImageResliceMapper Rotate a 2D image. This is even more powerful than vtkImageSliceMapper. It can also do oblique slices.
ImageSeparableConvolution vtkImageSeparableConvolution Convolve a separable kernel with an image.
ImageShiftScale vtkImageShiftScale Shift and scale an image.
ImageSinusoidSource vtkImageSinusoidSource Create a sinusoidal image.
ImageSliceMapper vtkImageSlice, vtkImageSliceMapper Visualize and interact with an image. This is the new way to do this. It is much more powerful.
ImageSlice vtkImageSlice, vtkImageResliceMapper Visualize and interact with an image. This is even more powerful than vtkImageSliceMapper. It can also do oblique slices.
ImageStack vtkImageStack Display layers of images.
ImageStencil vtkImageStencil, vtkImageToImageStencil Copy one image into another image.
ImageText vtkFreeTypeUtilities, vtkImageBlend Draw text in an image.
ImageThreshold vtkImageThreshold Threshold an image.
ImageToPolyDataFilter vtkImageToPolyDataFilter, vtkImageQuantizeRGBToIndex Convert a vtkImageData to a vtkPolyData.
ImageToStructuredPoints vtkImageToStructuredPoints Convert a vtkImageData to a vtkStructuredPoints.
InteractWithImage vtkImageActor, vtkInteractorStyleImage Visualize and interact with an image.
Interpolation vtkImageSlice, vtkImageProperty Set the interpolation type for the display of an image. If pixels look blurry instead of sharp when zoomed in, change this.
MarkKeypoints vtkVectorText, vtkFollower Mark keypoints in an image.
NegativeIndices vtkImageData A very powerful feature of vtkImageData is that you can use negative indices.
PickPixel2 vtkPropPicker Picking a pixel 2 - modified version for exact pixel values.
PickPixel vtkPropPicker Picking a pixel.
RTAnalyticSource vtkRTAnalyticSource An image source that can be used for regression testing
StaticImage vvtkImageViewer2 This will display the image, but not allow you to interact with it.
Transparency vtkImageMapToColors, vtkLookupTable Make part of an image transparent.

Image Processing

Example Name Classes Demonstrated Description
Colored2DImageFusion vtkImageMapToColors Blending 2D images with different color maps.
CenterAnImage vtkImageChangeInformation Center an image.
CombineImages vtkImageBlend Combine two images.
CombiningRGBChannels vtkImageAppendComponents Combine layers into an RGB image.
ImageMagnitude vtkImageMagnitude grayscaleConvert RGB image to greyscale.
Flip vtkImageFlip Flip an image.
Gradient vtkImageGradient Compute the gradient vector at every pixel.
ImageAccumulate vtkImageAccumulate Histogram
ImageAnisotropicDiffusion2D vtkImageAnisotropicDiffusion2D Anisotropic diffusion (2D).
ImageContinuousDilate3D vtkImageContinuousDilate3D Dilate an image.
ImageContinuousErode3D vtkImageContinuousErode3D Erode an image.
ImageConvolve vtkImageConvolve Convolve an image with a kernel.
ImageCorrelation vtkImageCorrelation Correlate two images.
ImageDifference vtkImageDifference Compute the difference image of two images.
ImageDivergence vtkImageDivergence Divergence of a vector field.
ImageEllipsoidSource vtkImageEllipsoidSource Create an image of an ellipsoid.
ImageFFT vtkImageFFT Compute the FFT of an image.
ImageGaussianSmooth vtkImageGaussianSmooth Smooth an image.
ImageGradientMagnitude vtkImageGradientMagnitude Compute the magnitude of the gradient at each pixel of an image.
ImageLaplacian vtkImageLaplacian Compute the Laplacian of an image.
ImageLuminance vtkImageLuminance Convert RGB image to greyscale (luminance).
ImageMapToColors vtkImageMapToColors Use a lookup table to map scalar (grayscale) values to colorsConvert greyscale image to RGB.
ImageNoiseSource vtkImageNoiseSource Create an image of noise.
ImagePermute vtkImagePermute Switch axes of an image.
ImageShrink3D vtkImageShrink3D Resample an image.
ImageSobel2D vtkImageSobel2D Sobel edge detection 2D.
ImageValueRange vtkImageData Get the range of image pixel values (min/max).
ImageVariance3D vtkImageVariance3D Construct a new image consisting of the variance of the input image at each pixel.
RGBToHSV vtkImageRGBToHSV Convert RGB to HSV.
RescaleAnImage vtkImageShiftScale Rescale an image
ResizeImage vtkImageResize vtkImageSincInterpolator Resize an image using a sinc interpolator.

Widgets

Example Name Classes Demonstrated Description
PolygonalSurfacePointPlacer vtkPolygonalSurfacePointPlacer Used in conjuntion with vtkContourWidget to draw curves on a surface.
AffineWidget vtkAffineWidget Apply an affine transformation interactively.
AngleWidget2D vtkAngleWidget, vtkAngleRepresentation2D vtkAngleWidget + vtkAngleRepresentation2D.
AngleWidget vtkAngleWidget
BalloonWidget vtkBalloonWidget
BiDimensionalWidget vtkBiDimensionalWidget When would you use this?
BorderWidget vtkBorderWidget 2D selection, 2D box.
BoxWidget2 vtkBoxWidget2
BoxWidget vtkBoxWidget
CaptionWidget vtkCaptionWidget
CheckerboardWidget vtkCheckerboardWidget, vtkCheckerboardRepresentation Compare two images using a checkerboard.
ContourWidget vtkContourWidget Create a contour from a set of points and dynamically change the contour using the points as control points.
Cursor2D vtkCursor2D
DistanceWidget vtkDistanceWidget
HoverWidget vtkHoverWidget How to detect a hover?
ImagePlaneWidget vtkImagePlaneWidget
ImageTracerWidgetInsideContour vtkImageTracerWidget Highlight pixels inside a non-regular region scribbled on an image.
ImageTracerWidgetNonPlanar vtkImageTracerWidget Draw on a non-planar surface.
ImageTracerWidget vtkImageTracerWidget Scribble on an image.
ImplicitPlaneWidget2 vtkImplicitPlaneWidget2 Clip polydata with an implicit plane.
LineWidget2 vtkLineWidget2
LogoWidget vtkLogoWidget Logo widget.
OrientationMarkerWidget vtkOrientationMarkerWidget Display a polydata as an orientation icon.
PlaneWidget vtkPlaneWidget Interact with a plane.
RectilinearWipeWidget vtkImageRectilinearWipe, vtkRectilinearWipeWidget, vtkRectilinearWipeRepresentation Compare two images.
SeedWidgetImage vtkImageViewer2, vtkSeedWidget How to start the interaction?
SeedWidget vtkSeedWidget Seed widget.
Slider2D vtkSliderWidget, vtkSliderRepresentation2D 2D Slider.
Slider vtkSliderWidget, vtkSliderRepresentation3D 3D Slider.
SphereWidget2 vtkSphereWidget2
SphereWidgetEvents vtkSphereWidget Sphere widget events.
SphereWidget vtkSphereWidget Sphere widget.
SplineWidget vtkSplineWidget
TextWidget vtkSeedWidget
TexturedButtonWidget vtkButtonWidget,vtkTexturedButtonRepresentation2D Create a textured 2D buttonx.

Plotting

Example Name Classes Demonstrated Description
BarChart vtkChartXY Bar chart.
BoxChart vtkChartBox Box plot.
Diagram
LinePlot vtkChartXY Line plot.
ParallelCoordinates vtkChartParallelCoordinates Parallel coordinates.
PieChart vtkChartPie, vtkPlotPie Pie chart.
ScatterPlot vtkPlotPoints Scatter plot.
SpiderPlot vtkSpiderPlotActor Spider plot.
StackedBar vtkPlotBar Stacked bar.
StackedPlot vtkPlotStacked Stacked plot.

Animation

Example Name Classes Demonstrated Description
AnimateActors vtkAnimationScene, vtkAnimationCue Animate actors.
Animation vtkRenderWindowInteractor::CreateRepeatingTimer Move a sphere across a scene.
AnimationScene vtkAnimationScene, vtkAnimationCue Animation (the right way). Zoom in on a sphere.
DataAnimation vtkCallbackCommand, vtkProgrammableFilter Data Animation. Update points in a dataset every specified interval.
DataAnimationSubclass vtkCommand, vtkProgrammableFilter Update points in a dataset every specified interval (using a vtkCommand subclass instead of a callback function.

Geographic Visualization (Geovis)

Example Name Classes Demonstrated Description
CompassWidget vtkCompassWidget Compass Widget.
EarthSource vtkEarthSource Create the Earth.
GeoAssignCoordinates vtkGeoAssignCoordinates Convert lat/long coordinates to world coordinates.

Information Visualization (Infovis)

Example Name Classes Demonstrated Description
ParallelCoordinatesView vtkParallelCoordinatesView Parallel coordinates.
TreeMapView vtkTreeMapView Tree map.

Qt

Click here for a tutorial on how to setup Qt.

Example Name Classes Demonstrated Description
BorderWidgetQt vtkBorderWidget, QApplication
QtBarChart vtkQtBarChart
ShowEvent Use QMainWindow::showEvent event to do things that you might want to do in the constructor
EventQtSlotConnect vtkEventQtSlotConnect Connect a VTK event to a Qt slot.
ImageDataToQImage Convert a vtkImageData to a QImage.
QImageToImageSource vtkQImageToImageSource Convert a QImage to a vtkImageData.
RenderWindowNoUiFile QVTKWidget This is a very basic example that shows how to create a Qt window. Typically, one would want to design a form in the QtDesigner (this is shown in [[/Qt/RenderWindowUi
RenderWindowUIMultipleInheritance QMainWindow Using a QVTKWidget with the Qt Multiple Inheritance model.
RenderWindowUISingleInheritance QMainWindow Using a QVTKWidget with the Qt Single Inheritance model.
ShareCameraQt (http://www.vtk.org/doc/nightly/html/classVTKWidgets.html)] Share the camera between QVTKWidgets.
SideBySideRenderWindowsQt QApplication Side by side render windows.

Matlab

You must turn on VTK_USE_MATLAB_MEX to use these.

Example Name Classes Demonstrated Description
MatlabEngineFilter vtkMatlabEngineFilter

Databases

SQL

If you have any trouble or errors with the following examples, please troubleshoot using these instructions.

Example Name Classes Demonstrated Description
ConnectAndRead vtkMySQLDatabase, vtkSQLQuery Connect to and read a MySQL database.
CreateDatabase vtkMySQLDatabase Create a MySQL database.
WriteToDatabase vtkSQLQuery, vtkMySQLDatabase Write to a MySQL database.

RenderMan

RenderMan is a high quality rendering system created by Pixar. VTK can export RenderMan RIB files for rendering by prman. In the spring of 2015, Pixar released a non-commercial version of its RenderMan products.

Example Name Classes Demonstrated Description
PolyDataRIB vtkRIBExporter Apply a RenderMan Shader to a PolyData.

Remote Modules

Remote modules are user contributed code that is not distributed with VTK. A description of a remote module and the location of its repository is listed in the VTK/Remote directory with the extension .remote.cmake. Once enabled, a remote module is treated like any other VTK module. Each of the remote module examples describes how to enable the example. More information about remote modules is here.

Example Name Classes Demonstrated Description
FrenetSerretFrame vtkFrenetSerretFrame Compute tangent and normal vectors to a polyline.
FrenetSerretFrameDemo vtkFrenetSerretFrame Uses vtkSplineWidget to interact with a spline. Shows how to control a pipeline inside a callback.