CSharp Examples


This table shows the VTK classes covered by the examples.


This table shows VTK classes that do not have an example. Please add examples in your area of expertise!

Example Name Classes Demonstrated Description Image

Simple Operations

Example Name Classes Demonstrated Description Image
DistanceBetweenPoints vtkMath Computes the distance between two point Distance between two points
DistancePointToLine vtkLine Distance between a point and a line
GaussianRandomNumber vtkMath Generates Gaussian random number Random number (Gaussian distribution)
PerspectiveTransform vtkPerspectiveTransform Apply a perspective transformation to a point
ProjectPointPlane vtkPlane Project a point onto a plan Project a point onto a plane
RandomSequence vtkMinimalStandardRandomSequence This is the preferred way to generate random numbers Random sequence
UniformRandomNumber vtkMath Generates uniform random number Random number (uniform distribution)

Input and Output

Graph Formats

3D File Formats

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

Standard Formats

Example Name Classes Demonstrated Description Image
DEMReader vtkDEMReader Read DEM (elevation map) files
ReadDICOMSeries vtkDICOMImageReader This example demonstates how to read a series of DICOM images and scroll through slice Convert a series of DICOM files into a VTI File
ReadPDB vtkPDBReader Read Protein Data Bank Files Read Protein Data Bank files (.pdb) files
ReadPLOT3D vtkPLOT3DReader Read CFD (computational fluid dynamics) data produced by PLOT3D Read PLOT3D (.bin) files
ReadPLY vtkPLYReader Read PLY (.ply) files
ReadSTL vtkSTLReader Read stereo lithography STL (.stl) files
SimplePointsReader vtkSimplePointsReader Read a simple "xyz" file of points
VRML vtkVRMLImporter Read a VRML (WRL) file

VTK Formats

Example Name Classes Demonstrated Description Image
ParticleReader vtkParticleReader Read an ASCII file
ReadImageData vtkXMLImageDataReader Read a image data (.vti) file
ReadOBJ vtkOBJReader Read a Wavefront OBJ file
ReadPlainText Read a plain text 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 Demonstrates how to read a .vtu fil Read an unstructured grid (.vtu) file
Example Name Classes Demonstrated Description Image
WriteVTI vtkXMLImageDataWriter VTI is an "ImageData" Write a .vti file
WriteVTP vtkXMLPolyDataWriter VTP is a "PolyData". This format allows for the most complex geometric objects to be stored Write a .vtp file
WriteVTU vtkXMLUnstructuredGridWriter VTU is an "Unstructured Grid". This format allows for 3D data to be stored Write a .vtu file
XMLStructuredGridWriter vtkXMLStructuredGridWriter Write a .vts file from a vtkStructuredGrid

Image Formats


Example Name Classes Demonstrated Description Image
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 Read most standard image formats.
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


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

Geometric Objects

Example Name Classes Demonstrated Description Image
Arrow vtkArrowSource Arrow
Axes vtkAxesActor Axes
ColoredLines vtkCellData vtkLine Colored Lines
Cone vtkConeSource Cone
Cube vtkCubeSource Cube
Cylinder vtkCylinderSource Cylinder
Disk vtkDiskSource A circle with a hole in it Disk
Frustum vtkFrustumSource Frustum
GeometricObjectsDemo A demonstration of all geometric objects that work the same way
Hexahedron vtkHexahedron Hexahedron
Line vtkLineSource Line
LongLine vtkLine Manually create a polyline
OrientedArrow vtkArrowSource Oriented Arrow
Plane vtkPlaneSource Plane
Planes vtkPlanes Planes
PlanesIntersection vtkPlanesIntersection PlanesIntersection
PlatonicSolid vtkPlatonicSolidSource PlatonicSolid
Point vtkPoints Point
PolyLine vtkPolyLine PolyLine
Polygon vtkPolygon Polygon
PolygonIntersection vtkPolygon IntersectWithLine( Compute the intersection of a line segment with a polygon
Pyramid vtkPyramid Pyramid
Quad vtkQuad Quad
RegularPolygonSource vtkRegularPolygonSource Regular Polygon
Sphere vtkSphereSource Sphere
Tetrahedron vtkTetra Tetrahedron
Triangle vtkTriangle Triangle
TriangleStrip vtkTriangleStrip Triangle strip
Vertex vtkVertex Vertex

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 Image
ParametricObjects vtkParametricBoy, vtkParametricConicSpiral, vtkParametricCrossCap, vtkParametricDini, vtkParametricEllipsoid, vtkParametricEnneper, vtkParametricFigure8Klein, vtkParametricKlein, vtkParametricMobius, vtkParametricRandomHills, vtkParametricRoman, vtkParametricSpline, vtkParametricSuperEllipsoid, vtkParametricSuperToroid, vtkParametricTorus Create and display a parametric object
ParametricObjectsDemo Demonstration of all of the vtkParametric* classes

Implicit Functions and Iso-surfaces

Example Name Classes Demonstrated Description Image
BandedPolyDataContourFilter vtkBandedPolyDataContourFilter BandedPolyDataContourFilter
ExtractLargestIsosurface vtkPolyDataConnectivityFilter Extract largest isosurface
FilledContours vtkContourFilter Create filled contours vtkClipPolyData)
ImplicitSphere vtkSphere An implicit representation of a sphere
IsoContours vtkContourFunction Visualize different isocontours using a slider
MarchingCubes vtkMarchingCubes Create a voxelized spher Marching cubes
MarchingSquares vtkMarchingSquares Create a contour from a structured point set (image Marching squares
SampleFunction vtkSampleFunction Sample and visualize an implicit function

Working with 3D Data

Example Name Classes Demonstrated Description Image
AlignFrames vtkLandmarkTransform Align coordinate frames
ContoursFromPolyData vtkCutter Create contours from PolyData
FindAllArrayNames vtkPolyData Get the names of all of the data arrays
ImplicitBoolean vtkImplicitBoolean Operations include intersection and union.
IterateOverLines vtkCellArray Iterate through the lines of a PolyData
MultiBlockMergeFilter vtkMultiBlockMergeFilter, vtkMultiBlockDataSet Combine MultiBlockDataSets
NullPoint vtkPointData Set everything in PointData at a specified index to NUL NullPoint
PolyDataGetPoint vtkPolyData Get point locations/coordinates from a vtkPolyData
ShrinkPolyData vtkShrinkPolyData Move all items in a PolyData towards their centroid
VectorFieldNonZeroExtraction vtkExtractSelectedThresholds This example shows how to create an imagedata object, associate scalar data with some points and visualize only nonzero scalar value Extract non-zero vectors from a vtkImageData
WarpVector vtkWarpVector vtkWarpVector

Working with Meshes

Example Name Classes Demonstrated Description Image
BoundaryEdges vtkFeatureEdges Find the edges that are used by only one face Finding Boundary Edges
CapClip vtkClipPolyData Cap a clipped polydata with a polygon
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 Colormap, color ma Color a mesh by height
Curvature vtkCurvatures Compute Gaussian, Mean, Min, and Max Curvatures
Decimate vtkDecimatePro Reduce the number of triangles in a mesh Decimation
DijkstraGraphGeodesicPath vtkDijkstraGraphGeodesicPath Find the shortest path between two points on a mesh
ElevationFilter vtkElevationFilter Color a mesh by height
ExtractEdges vtkExtractEdges Extract Edges
FillHoles vtkFillHolesFilter Close holes in a mesh Fill Holes
GreedyTerrainDecimation vtkGreedyTerrainDecimation Create a mesh from an ImageData
HighlightBadCells vtkMeshQuality Highlight Bad Cells
LargestRegion vtkPolyDataConnectivityFilter Extract the largest connected region in a polydata
MatrixMathFilter vtkMatrixMathFilter Compute various quantities on cell and points in a mesh Matrix math filter
OBBDicer vtkOBBDicer Breakup a mesh into pieces OBBDicer
PolygonalSurfaceContourLineInterpolator vtkPolygonalSurfaceContourLineInterpolator Interactively find the shortest path between two points on a mesh
QuadricClustering vtkQuadricClustering Reduce the number of triangles in a mesh Decimation (quadric clustering)
QuadricDecimation vtkQuadricDecimation Reduce the number of triangles in a mesh Decimation (quadric decimation)
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
SolidClip vtkClipPolyData Create a "solid" clip
SpecifiedRegion vtkPolyDataConnectivityFilter Extract a specific (specified) connected region in a polydata
Subdivision vtkButterflySubdivisionFilter, vtkLoopSubdivisionFilter, vtkLinearSubdivisionFilter Increase the number of triangles in a mesh Subdivision
Triangulate vtkTriangleFilter Convert all polygons in a mesh to triangles Triangulate a mesh
WeightedTransformFilter vtkWeightedTransformFilter vtkWeightedTransformFilter
WindowedSincPolyDataFilter vtkWindowedSincPolyDataFilter Smooth a mesh.

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: [http://vtk.org/Wiki/VTK/Tutorials/3DDataTypes]. Image data can represent at typical 2D image, but also, a 3D volume.