# Filters

Filters transform the data, but do not display it. They are used as an intermediate between the data sources and the modules.

Here is a list of the Mayavi Filters.

> CellDerivatives

>   Computes derivatives from input point scalar and vector data and produces cell data on the gradients. Can be used to approximately calculate the vorticity for example.

> CellToPointData

>   Transforms cell attribute data to point data by averaging the cell data from the cells at the point.

> Contour

>   A contour filter that wraps around the Contour component to generate iso-surfaces on any input dataset.

> CutPlane

>   This filter represents a cut plane that can be used to slice through any dataset. It also provides a 3D widget interface to position and move the slice interactively.

> DataSetClipper

>   This filter clips the dataset in an area. The area can be defined interactively as a box, a sphere…

> DecimatePro

>   Reduces the number of triangles in a triangular mesh by approximating the original mesh.

> Delaunay2D

>   Performs a 2D Delaunay triangulation.

> Delaunay3D

>   Performs a 3D Delaunay triangulation.

> ElevationFilter

>   Creates scalar data corresponding to the elevation of the points along a line.

> ExtractEdges

>   This filter extracts cell edges from any input data.

> ExtractGrid

>   Allows a user to select a part of a structured grid.

> ExtractTensorComponents

>   Wraps the TVTK `ExtractTensorComponents` filter to extract components from a tensor field.

> ExtractUnstructuredGrid

>   Allows a user to select a part of an unstructured grid.

> ExtractVectorNorm

>   Computes the norm (Euclidean) of the input vector data (with optional scaling between [0, 1]). This is useful when the input data has vector input but no scalar data for the magnitude of the vectors.

> ExtractVectorComponents

>   Wraps the TVTK ExtractVectorComponents filter to extract components of a vector. This is useful for analyzing individual components of a vector data.

> GaussianSplatter

>   This filter splat points into a volume with an elliptical, Gaussian distribution. This is useful to estimate a density field from a set of scattered points.

> GreedyTerrainDecimation

>   Approximates a height field (2D image data) with a triangle mesh, keeping the number of triangles minimum.

> ImageChangeInformation

>   A filter that can be used to change the origin, spacing and extents of an input image data dataset without changing the data itself.

> ImageDataProbe

>   A filter that can be used to probe any dataset using a Structured Points dataset. The filter also allows one to convert the scalar data to an unsigned short array so that the scalars can be used for volume visualization.

> MaskPoints

>   Selectively passes the input points downstream. This can be used to subsample the input points. Note that this does not pass geometry data, this means all grid information is lost.

> PointToCellData

>   Does the inverse of the CellToPointData filter: converts data located on the points to data located on the cells.

> PolyDataNormals

>   Computes normals from input data. This gives meshes a smoother appearance. This should work for any input dataset. Note: this filter is called “Compute Normals” in Mayavi2 GUI (Visualize/Filters/Compute Normals).

> QuadricDecimation

>   Reduce triangles in a mesh, forming a good approximation of the original mesh.

> SelectOutput

>   A filter that allows a user to select one among several of the outputs of a given input. This is typically very useful for a multi-block data source.

> SetActiveAttribute

>   This filter lets a user set the active data attribute (scalars, vectors and tensors) on a VTK dataset. This is particularly useful if you need to do something like compute contours of one scalar on the contour of another scalar.

> Stripper

>   Create triangle strips and/or poly-lines. Useful for regularizing broken up surfaces, such as those created by the Tube filter.

> Threshold

>   A simple filter that thresholds on input data.

> TransformData

>   Performs a linear transformation to input data.

> Tube

>   Turns lines into tubes.

> UserDefined

>   This filter lets the user define their own filter dynamically/interactively.

> Vorticity

>   This filter computes the vorticity of an input vector field. For convenience, the filter allows one to optionally pass-through the given input vector field. The filter also allows the user to show the component of the vorticity along a particular cartesian co-ordinate axes. It produces point data on output which is ready to visualize.

> WarpScalar

>   Warps the input data along a particular direction (either the normals or a specified direction) with a scale specified by the local scalar value. Useful for making carpet plots. The scalar value of a dataset can be, for instance, converted in elevation.

> WarpVector

>   Warps the input data along the point vector attribute scaled as per a scale factor. Useful for showing flow profiles or displacements.