VTK applications are largely constructed by connecting vtkAlgorithms together. Each algorithm (a.k.a. filter) inspects the dataset or datasets it is given and produces some derived data for the algorithm (or algorithms) connected to it. The connected set of filters forms a data-flow network. VTK uses reference counting heavily to eliminate redundant memory consumption and timestamps in the demand-driven network to eliminate redundant computation. Algorithms are strongly type-checked to enforce compatible filter connectivity.
VTK has hundreds of algorithms with which to work, from the vtkAbstractMapper to the vtkXMLWriter. Some algorithms are extremely focused in what they can do, while others are completely general such as the vtkPythonAlgorithm.
Some representative algorithms for visualizing N-valued fields are:
- Scalar (N=1) algorithms
- Vector (N=3) algorithms
- Tensor (N=6) algorithms