======================================================
Mayavi: 3D visualization of scientific data in Python
======================================================
Mayavi docs: http://docs.enthought.com/mayavi/mayavi/
TVTK docs: http://docs.enthought.com/mayavi/tvtk
.. image:: https://img.shields.io/pypi/v/mayavi.svg
:target: https://pypi.org/project/mayavi/
:alt: Package on PyPI
.. image:: https://img.shields.io/badge/License-BSD%203--Clause-blue.svg
:target: https://opensource.org/licenses/BSD-3-Clause
:alt: BSD 3 Clause
Vision
======
Mayavi seeks to provide easy and interactive visualization of 3D data. It does
this by the following:
- an (optional) rich user interface with dialogs to interact with all data
and objects in the visualization.
- a simple and clean scripting interface in Python, including one-liners,
a-la mlab, or object-oriented programming interface.
- harnesses the power of the VTK toolkit without forcing you to learn it.
Additionally Mayavi strives to be a reusable tool that can be embedded in your
applications in different ways or combined with the envisage
application-building framework to assemble domain-specific tools.
Mayavi is part of the Enthought Tool Suite (ETS).
Features
===========
Mayavi is a general purpose, cross-platform tool for 2-D and 3-D scientific
data visualization. Its features include:
* Visualization of scalar, vector and tensor data in 2 and 3 dimensions
* Easy scriptability using Python
* Easy extendability via custom sources, modules, and data filters
* Reading several file formats: VTK (legacy and XML), PLOT3D, etc.
* Saving of visualizations
* Saving rendered visualization in a variety of image formats
* Convenient functionality for rapid scientific plotting via mlab (see mlab
documentation)
* See the Mayavi Users Guide for more information.
Unlike its predecessor MayaVi1_, Mayavi has been designed with scriptability
and extensibility in mind from the ground up. While the mayavi2 application
is usable by itself, it may be used as an Envisage plugin which allows it to
be embedded in user applications natively. Alternatively, it may be used as a
visualization engine for any application.
.. _MayaVi1: http://mayavi.sf.net
Quick start
===========
If you are new to Mayavi it is a good idea to read the `online user manual`_
which should introduce you to how to install and use it.
If you have installed Mayavi as described in the next section, you should be
able to launch the ``mayavi2`` application and also run any of the examples
in the examples directory.
.. _online user manual: http://docs.enthought.com/mayavi/mayavi/
Installation
=============
By itself Mayavi is not a difficult package to install but its dependencies
are unfortunately rather heavy. However, many of these dependencies are now
available as wheels on PyPI. The two critical dependencies are,
1. VTK_
2. A GUI toolkit, either PyQt4_, PySide_, PySide2_, PyQt5_ or wxPython_.
The latest VTK wheels are available on all the major platforms (Windows,
MacOS, and Linux), but only for 64 bit machines. Python 3.x is fully supported
on all these operating systems and Python 2.7.x on MacOS and Linux. If you are
out of luck, and your platform is not supported then you will need to install
VTK yourself using your particular distribution as discussed in the `General
Build and Installation instructions
<http://docs.enthought.com/mayavi/mayavi/installation.html#installing-ready-made-distributions>`_
On Python 3.x you will need to install PyQt5_ and wheels are available for
this. On 2.7.x you have more options, and can use PySide_, PyQt4_, and
wxPython_. These can be installed from pip or from your package manager.
Currently, Mayavi itself should work with the new wxPython 4.x. However,
traitsui_, pyface_, and other ETS packages do not yet support it so the UI
will not work correctly. Older versions should work. PyQt/PySide/PySide2
should work largely out of the box.
.. _PyQt5: https://pypi.org/project/PyQt5/
.. _PySide: https://pypi.org/project/PySide
.. _PySide2: https://wiki.qt.io/Qt_for_Python
.. _PyQt4: https://pypi.org/project/PyQt4/
.. _wxPython: https://pypi.org/project/wxPython/
.. _VTK: https://www.vtk.org
.. _traitsui: https://github.com/enthought/traitsui
.. _pyface: https://github.com/enthought/pyface
Latest stable release
-----------------------
As of the latest release, i.e. 4.6.0 and above, if you are using Python 3.x
and are on a 64 bit machine, installation via pip_ is the easiest and is as
follows::
$ pip install mayavi
$ pip install PyQt5
Thats it!
If you are unable to do this, read the documentation above and find a way to
install VTK and a suitable UI toolkit and then repeat the above.
If you are interested in the jupyter notebook support as well, do the
following (after ensuring that you have jupyter installed of course.
**Note, the Jupyter notebook function is only supported starting mayavi
version 4.5.0**)::
$ jupyter nbextension install --py mayavi --user
$ jupyter nbextension enable --py mayavi --user
You will also need to have ipywidgets_ and ipyevents_ installed. These can be
installed via pip_ or your favorite package manager.
.. _pip: https://pip.pypa.io/en/stable/
.. _ipywidgets: https://ipywidgets.readthedocs.io
.. _ipyevents: https://github.com/mwcraig/ipyevents
Bleeding edge
--------------
If you want to install the latest version of Mayavi from github, you can
simply do the following::
$ git clone https://github.com/enthought/mayavi.git
$ cd mayavi
$ pip install -r requirements.txt
$ pip install PyQt5 # replace this with any supported toolkit
$ python setup.py install # or develop
Add the jupyter nbextensions using the instructions in the section above and
you should be good to go.
Documentation
==============
More documentation is available in the `online user manual`_ or in ``docs``
directory of the sources. This includes a man page for the ``mayavi2``
application, a users guide in HTML and PDF format and documentation for
``mlab``.
More documentation in the form of workshop/tutorial material is available
here:
- https://github.com/prabhuramachandran/mayavi-tutorial
- https://github.com/prabhuramachandran/mayavi-workshop
Tutorial Videos
===============
Here are some tutorial videos that you can watch to learn Mayavi:
- SciPy 2018 Mayavi tutorial (3 hrs):
- Video: https://www.youtube.com/watch?v=r6OD07Qq2mw
- Material: https://github.com/prabhuramachandran/mayavi-tutorial
Examples
========
Examples are all in the ``examples`` directory of the source or the git clone.
The docs and examples do not ship with the binary eggs. The examples directory
also contains some sample data.
Test suite
==========
The basic test suites for tvtk and mayavi can be run using nose::
nosetests -v tvtk/tests
nosetests -v mayavi
The integration tests::
cd integrationtests/mayavi
python run.py
Bug tracker, mailing list etc.
==============================
The bug tracker is available in `github
<https://github.com/enthought/mayavi/issues>`_ Please provide info and details
on platform, python, vtk and gui backends and their versions. If possible, a
small example replicating the the problem.
If you have questions you could ask on the `Mayavi-users mailing list
<https://sourceforge.net/p/mayavi/mailman/mayavi-users/>`_. This is used by
some folks and is not too active. Another mailing list that may be of use is
the `ETS Users mailing list
<https://groups.google.com/forum/#!forum/ets-users>`_. This is a more general
list where a lot of folks experienced with the Enthought Tool Suite are
available.
Authors and Contributors
========================
* Core contributors:
Prabhu Ramachandran: primary author.
* Previous contributors:
Gaƫl Varoquaux: mlab, icons, many general improvements and maintenance.
Deepak Surti: Upgrade to VTK 5.10.1, VTK 6.x with new pipeline.
* Support and code contributions from Enthought Inc.
* Patches from many people (see the release notes), including K K Rai and
R A Ambareesha for tensor support, parametric source and image data.
Many thanks to all those who have submitted bug reports and suggestions for
further enhancements.
Raw data
{
"_id": null,
"home_page": "http://docs.enthought.com/mayavi/mayavi/",
"name": "mayavi",
"maintainer": "ETS Developers",
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "mayavi-users@lists.sf.net",
"keywords": null,
"author": "Prabhu Ramachandran, et al.",
"author_email": "prabhu@aero.iitb.ac.in",
"download_url": "https://files.pythonhosted.org/packages/ee/49/f6038f0539e11e52d389f161e5ad78212d5680d9a9725b18d108562db124/mayavi-4.8.2.tar.gz",
"platform": "Windows",
"description": "======================================================\nMayavi: 3D visualization of scientific data in Python\n======================================================\n\nMayavi docs: http://docs.enthought.com/mayavi/mayavi/\nTVTK docs: http://docs.enthought.com/mayavi/tvtk\n\n.. image:: https://img.shields.io/pypi/v/mayavi.svg\n :target: https://pypi.org/project/mayavi/\n :alt: Package on PyPI\n\n.. image:: https://img.shields.io/badge/License-BSD%203--Clause-blue.svg\n :target: https://opensource.org/licenses/BSD-3-Clause\n :alt: BSD 3 Clause\n\nVision\n======\n\nMayavi seeks to provide easy and interactive visualization of 3D data. It does\nthis by the following:\n\n - an (optional) rich user interface with dialogs to interact with all data\n and objects in the visualization.\n\n - a simple and clean scripting interface in Python, including one-liners,\n a-la mlab, or object-oriented programming interface.\n\n - harnesses the power of the VTK toolkit without forcing you to learn it.\n\nAdditionally Mayavi strives to be a reusable tool that can be embedded in your\napplications in different ways or combined with the envisage\napplication-building framework to assemble domain-specific tools.\n\nMayavi is part of the Enthought Tool Suite (ETS).\n\n\nFeatures\n===========\n\nMayavi is a general purpose, cross-platform tool for 2-D and 3-D scientific\ndata visualization. Its features include:\n\n * Visualization of scalar, vector and tensor data in 2 and 3 dimensions\n\n * Easy scriptability using Python\n\n * Easy extendability via custom sources, modules, and data filters\n\n * Reading several file formats: VTK (legacy and XML), PLOT3D, etc.\n\n * Saving of visualizations\n\n * Saving rendered visualization in a variety of image formats\n\n * Convenient functionality for rapid scientific plotting via mlab (see mlab\n documentation)\n\n * See the Mayavi Users Guide for more information.\n\nUnlike its predecessor MayaVi1_, Mayavi has been designed with scriptability\nand extensibility in mind from the ground up. While the mayavi2 application\nis usable by itself, it may be used as an Envisage plugin which allows it to\nbe embedded in user applications natively. Alternatively, it may be used as a\nvisualization engine for any application.\n\n.. _MayaVi1: http://mayavi.sf.net\n\n\nQuick start\n===========\n\nIf you are new to Mayavi it is a good idea to read the `online user manual`_\nwhich should introduce you to how to install and use it.\n\nIf you have installed Mayavi as described in the next section, you should be\nable to launch the ``mayavi2`` application and also run any of the examples\nin the examples directory.\n\n\n.. _online user manual: http://docs.enthought.com/mayavi/mayavi/\n\nInstallation\n=============\n\nBy itself Mayavi is not a difficult package to install but its dependencies\nare unfortunately rather heavy. However, many of these dependencies are now\navailable as wheels on PyPI. The two critical dependencies are,\n\n 1. VTK_\n 2. A GUI toolkit, either PyQt4_, PySide_, PySide2_, PyQt5_ or wxPython_.\n\nThe latest VTK wheels are available on all the major platforms (Windows,\nMacOS, and Linux), but only for 64 bit machines. Python 3.x is fully supported\non all these operating systems and Python 2.7.x on MacOS and Linux. If you are\nout of luck, and your platform is not supported then you will need to install\nVTK yourself using your particular distribution as discussed in the `General\nBuild and Installation instructions\n<http://docs.enthought.com/mayavi/mayavi/installation.html#installing-ready-made-distributions>`_\n\nOn Python 3.x you will need to install PyQt5_ and wheels are available for\nthis. On 2.7.x you have more options, and can use PySide_, PyQt4_, and\nwxPython_. These can be installed from pip or from your package manager.\n\nCurrently, Mayavi itself should work with the new wxPython 4.x. However,\ntraitsui_, pyface_, and other ETS packages do not yet support it so the UI\nwill not work correctly. Older versions should work. PyQt/PySide/PySide2\nshould work largely out of the box.\n\n\n.. _PyQt5: https://pypi.org/project/PyQt5/\n.. _PySide: https://pypi.org/project/PySide\n.. _PySide2: https://wiki.qt.io/Qt_for_Python\n.. _PyQt4: https://pypi.org/project/PyQt4/\n.. _wxPython: https://pypi.org/project/wxPython/\n.. _VTK: https://www.vtk.org\n.. _traitsui: https://github.com/enthought/traitsui\n.. _pyface: https://github.com/enthought/pyface\n\nLatest stable release\n-----------------------\n\nAs of the latest release, i.e. 4.6.0 and above, if you are using Python 3.x\nand are on a 64 bit machine, installation via pip_ is the easiest and is as\nfollows::\n\n $ pip install mayavi\n\n $ pip install PyQt5\n\nThats it!\n\nIf you are unable to do this, read the documentation above and find a way to\ninstall VTK and a suitable UI toolkit and then repeat the above.\n\nIf you are interested in the jupyter notebook support as well, do the\nfollowing (after ensuring that you have jupyter installed of course. \n**Note, the Jupyter notebook function is only supported starting mayavi\nversion 4.5.0**)::\n\n $ jupyter nbextension install --py mayavi --user\n $ jupyter nbextension enable --py mayavi --user\n\nYou will also need to have ipywidgets_ and ipyevents_ installed. These can be\ninstalled via pip_ or your favorite package manager.\n\n.. _pip: https://pip.pypa.io/en/stable/\n.. _ipywidgets: https://ipywidgets.readthedocs.io\n.. _ipyevents: https://github.com/mwcraig/ipyevents\n\nBleeding edge\n--------------\n\nIf you want to install the latest version of Mayavi from github, you can\nsimply do the following::\n\n $ git clone https://github.com/enthought/mayavi.git\n $ cd mayavi\n $ pip install -r requirements.txt\n $ pip install PyQt5 # replace this with any supported toolkit\n $ python setup.py install # or develop\n\nAdd the jupyter nbextensions using the instructions in the section above and\nyou should be good to go.\n\nDocumentation\n==============\n\nMore documentation is available in the `online user manual`_ or in ``docs``\ndirectory of the sources. This includes a man page for the ``mayavi2``\napplication, a users guide in HTML and PDF format and documentation for\n``mlab``.\n\nMore documentation in the form of workshop/tutorial material is available\nhere:\n\n- https://github.com/prabhuramachandran/mayavi-tutorial\n- https://github.com/prabhuramachandran/mayavi-workshop\n\nTutorial Videos\n===============\n\nHere are some tutorial videos that you can watch to learn Mayavi:\n\n- SciPy 2018 Mayavi tutorial (3 hrs):\n\n - Video: https://www.youtube.com/watch?v=r6OD07Qq2mw\n - Material: https://github.com/prabhuramachandran/mayavi-tutorial\n\n\nExamples\n========\n\nExamples are all in the ``examples`` directory of the source or the git clone.\nThe docs and examples do not ship with the binary eggs. The examples directory\nalso contains some sample data.\n\n\nTest suite\n==========\n\nThe basic test suites for tvtk and mayavi can be run using nose::\n\n nosetests -v tvtk/tests\n nosetests -v mayavi\n\nThe integration tests::\n\n cd integrationtests/mayavi\n python run.py\n\n\nBug tracker, mailing list etc.\n==============================\n\nThe bug tracker is available in `github\n<https://github.com/enthought/mayavi/issues>`_ Please provide info and details\non platform, python, vtk and gui backends and their versions. If possible, a\nsmall example replicating the the problem.\n\nIf you have questions you could ask on the `Mayavi-users mailing list\n<https://sourceforge.net/p/mayavi/mailman/mayavi-users/>`_. This is used by\nsome folks and is not too active. Another mailing list that may be of use is\nthe `ETS Users mailing list\n<https://groups.google.com/forum/#!forum/ets-users>`_. This is a more general\nlist where a lot of folks experienced with the Enthought Tool Suite are\navailable.\n\nAuthors and Contributors\n========================\n\n* Core contributors:\n\n Prabhu Ramachandran: primary author.\n\n* Previous contributors:\n\n Ga\u00ebl Varoquaux: mlab, icons, many general improvements and maintenance.\n\n Deepak Surti: Upgrade to VTK 5.10.1, VTK 6.x with new pipeline.\n\n* Support and code contributions from Enthought Inc.\n\n* Patches from many people (see the release notes), including K K Rai and\n R A Ambareesha for tensor support, parametric source and image data.\n\n Many thanks to all those who have submitted bug reports and suggestions for\n further enhancements.\n",
"bugtrack_url": null,
"license": "BSD",
"summary": "3D scientific data visualization library and application",
"version": "4.8.2",
"project_urls": {
"Download": "https://www.github.com/enthought/mayavi",
"Homepage": "http://docs.enthought.com/mayavi/mayavi/"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "ee49f6038f0539e11e52d389f161e5ad78212d5680d9a9725b18d108562db124",
"md5": "7a792b840a63efa0fc30e9eaa4fe5bcb",
"sha256": "b10fe9145f21c48e4902f0e746b3603b3cb694d11456515a46820f21a0a74229"
},
"downloads": -1,
"filename": "mayavi-4.8.2.tar.gz",
"has_sig": false,
"md5_digest": "7a792b840a63efa0fc30e9eaa4fe5bcb",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 7100132,
"upload_time": "2024-05-23T18:17:47",
"upload_time_iso_8601": "2024-05-23T18:17:47.039753Z",
"url": "https://files.pythonhosted.org/packages/ee/49/f6038f0539e11e52d389f161e5ad78212d5680d9a9725b18d108562db124/mayavi-4.8.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-05-23 18:17:47",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "enthought",
"github_project": "mayavi",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"lcname": "mayavi"
}