The MayaVi Data Visualizer
Mayavi2: the next generation
MayaVi is not dead! Mayavi2 is
the next generation of MayaVi.
Mayavi2, is a full rewrite of the original MayaVi and
provides far more scriptability, easier usage for common
patterns, and easy embedding in Python applications.
Mayavi2 has been under very active development for a while
now and has many more features than Mayavi-1.x. Please
consult the Mayavi2 home page at http://code.enthought.com/projects/mayavi
for more installation instructions and a user guide.
The following information and the information on this site
pertains to the older MayaVi-1.x versions. Note that MayaVi-1.x
is no longer under active development.
MayaVi1: the past
MayaVi1 is a free, easy to use scientific data visualizer.
It is written in Python and
uses the amazing Visualization
Toolkit (VTK) for the graphics. It provides a GUI written
Tkinter. MayaVi is free and distributed under the
license. It is also cross platform and should run on any
platform where both Python and VTK are available (which is
almost any *nix, Mac OSX or Windows).
Latest version: 1.5
Release date: 13 September, 2005
Fairly stable CVS snapshots of MayaVi are obtainable from
the download link on the left.
And a lot more! MayaVi can be easily modified to do things
- An easy to use GUI.
- Can be imported as a Python module from other Python
programs and can also be scripted from the Python
- Provides modules to:
- Visualize computational grids.
- Visualize scalar, vector and tensor data.
- Quite a few data filters are also provided.
- Supports volume visualization of data via texture and
ray cast mappers.
- Support for any VTK dataset using the VTK data
format. Works for rectilinear, structured, unstructured
grid data and also for polygonal data. Both the original
VTK data formats and the new XML formats are supported.
- Support for PLOT3D data. Only the binary structured
grid format works because of current limitations in VTK's
vtkPLOT3DReader. Simple support for multi-block data is
- Support for EnSight data. EnSight6 and EnSightGold
formats are supported. Only single parts are supported at
- Multiple datasets can be used simultaneously. Multiple
modules can be viewed simultaneously.
- Support for data files belonging to a time series.
- A pipeline browser
with which you can browse and edit objects in the VTK
pipeline. A segmented pipeline browser is used to make it
easier to look at parts of the VTK pipeline.
- Support for importing a simple VRML or 3D Studio scene.
Texturing in VRML is not yet supported due to limitations in
- A modular design so you can add your own modules and
- A Lookup Table editor to customize your lookup tables
easily while visualizing data!
- An interactive data picker that lets you probe your
- A light manipulation kit that lets you modify the
lighting of the visualization.
- The visualization (or a part of it) can be saved and
reused in the future.
- Export the visualized scene to a Post Script file,
PPM/BMP/TIFF/JPEG/PNG image, Open Inventor, Geomview OOGL,
VRML files, Wavefront OBJ or RenderMan RIB files. It is
also possible to save the scene to a vector graphic via GL2PS. This is only
available if VTK is built with GL2PS support.
MayaVi is pronounced as a single name as "Ma-ya-vee". It is
not pronounced as "Maya" + "Vi". MayaVi has nothing to do
with either Maya (the graphics/modelling tool) or Vi (the
In Sanskrit "mayavi" means magician. The name wasn't exactly
chosen for its meaning but was the result of a long and hard
search with the author pestering a lot of people for
suggestions. My sincere thanks to all of those who offered
Earlier, the author had developed a similar visualization tool
called VTK-CFD. This tool was originally intended for a
Computational Fluid Dynamics (CFD) audience but had features
that made it more of a generic data visualizer. After the
VTK-CFD 0.6 version, it was completely redesigned, rewritten
and renamed. The new design makes MayaVi a general scientific
Last modified: 26 May 2007