The core developers of Mayavi are academics. Therefore they justify time and resources spent developing Mayavi by the number of citations of the software. If you publish scientific articles using Mayavi, please cite the following article (bibtex entry citation.bib):
Ramachandran, P. and Varoquaux, G., `Mayavi: 3D Visualization of Scientific Data` IEEE Computing in Science & Engineering, 13 (2), pp. 40-51 (2011)
Most of the user and developer discussion for Mayavi occurs on the Enthought OSS developers mailing list (enthought-dev@mail.enthought.com). This list is also available via gmane from here: http://dir.gmane.org/gmane.comp.python.enthought.devel
Discussion and bug reports are also sometimes sent to the mayavi-users mailing list (Mayavi-users@lists.sourceforge.net). We recommend sending messages to the enthought-dev list though.
The Mayavi wiki page: https://svn.enthought.com/enthought/wiki/MayaVi
is a trac page where one can also enter bug reports and feature requests.
If this manual, the Mayavi web page, the wiki page and google are of no help feel free to post on the enthought-dev mailing list for help.
You can easily run the Mayavi test suite using mayavi2 -t from the command line. Running tests is useful to find out if Mayavi works well on your particular system. Indeed, the systems can vary from one to another: in addition to the variety of existing operating systems, different versions of the libraries can be installed. The Mayavi developers do their best to support many different configuration, but you can help them by running the test suite and reporting any errors.
ETS uses nose to gather and run tests. You can also run the unit tests of both packages by doing the following from the root of the Mayavi source directory:
$ nosetests
----------------------------------------------------------------------
Ran 170 tests in 39.254s
OK (SKIP=1)
If you get an “ERROR” regarding the unavailability of coverage you may safely ignore it. If for some reason nose is having difficulty running the tests, the tests may be found inside enthought/tvtk/tests and mayavi/tests. You can run each of the test_*.py files in these directories manually, or change your current directory to these directories and run nosetests there.
In addition to these unit tests mayavi also has several integration tests. These are in the integrationtests/mayavi directory of the source distribution. You may run the tests there like so:
$ ./run.py
These tests are intrusive and will create several mayavi windows and also take a while to complete. Some of them may fail on your machine for various reasons.
We are always on the lookout for people to help this project grow. If you need a functionality added to Mayavi, just pitch in on the enthought-dev mailing and we’ll help you code it.
To help improve Mayavi, you first need to install the development version (see The bleeding edge: Git). You can then modify your local installation of Mayavi to add the functionality you are interested in (make sure the tests still run after your modifications). To keep track of your changes, you need to use subversion, if you have never used it, see http://svnbook.red-bean.com/en/1.1/ch01s07.html. Once you are done, you can generate a path that sums up your changes by executing the following command in the root of the Mayavi source:
svn diff > my_patch.patch
Feel free to send us patches via the mailing list. Thanks!
Documentation of a project is incredibly important. It also takes a lot of time to write and improve. You can easily help us with documentation.
For that, you can check out only the subversion tree of Mayavi, using:
svn co http://svn.enthought.com/svn/enthought/Mayavi/trunk/ mayavi
You will find the documentation sources in docs/sources/mayavi. The documentation is written in sphinx. It is easy to edit the .rst files to modify or extend the text. Once you have done your modifications, you can build the documentation using by running:
python setup.py build_docs
in the base directory of your checkout. You will need sphinx installed for that. The documentation is then built as an HTML documentation that you can find in the sub directory build/docs/html/mayavi. Once you are comfortable with the modifications, just generate an SVN patch using:
svn diff > my_patch.patch
And send us the patch via the mailing list. Thanks!