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¶
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.
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¶
Graph Conversions¶
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¶
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. |