VTK Data Filters

"Filters" are VTK components that receive data from other components, modify the data in some way, and then deliver the modified data as output to be used by other components. Filters may extract some portion of a large data set, subsample data sets to coarser resolution, interpolate data sets to a finer resolution, merge multiple inputs into a combined output, split compound inputs into component parts, or a wide variety of other transformations. User-written procedures can also function as filters. Filters are an optional component of the VTK pipeline, although in practice most pipelines include at least one filter, and often three or more.

Filters are easy to confuse with mappers. In order to understand the difference, one must know that VTK conceptually divides the pipeline into two segments: A data processing segment consisting of sources and filters, and a rendering segment, consisting of actors, renderers, and windows. Mappers serve as the transition between the two segments of the pipeline. So if the output of a component is being used as the input to an actor, then it is a mapper, but if the output is being read by some other type of component ( either a mapper or another filter ), then it is a filter.

See page 277 of the VTK users guide for a long list of useful VTK filters. Some of the ones that were used in this tutorial's sample programs are discussed here: