Python tools for 3d rendering of volumes like mricrogl or matlab's vol3d?


Hi all,

A colleague of mine is looking for Python tools for 3-d rendering of volumetric data the way mricrogl or matlab’s vol3d works:

Does anyone have any suggestions?




You have a few approaches. Here are the ones I use:

  1. Use fsleyes. The recent releases (e.g. 0.24.4) contain nice rendering capabilities (e.g view/3Dview menu item). The advantage of this approach is that FSLeyes wraps everything in Python. This should give you complete control.

  2. Download a recent version of MRIcroGL (e.g. v1.0.20180614) that includes the ability to run python scripts. Recent versions of MRIcroGL can run scripts run either in Python or its own Pascal-based scripting language. While MRIcroGL is a natively compiled application, the scripting language gives you pretty comprehensive control of the behavior. You can also launch MRIcroGL with a custom script from most programming languages.

  3. You may also want to try the Python scripting for the latest Surfice. Whereas FSLeyes and MRIcroGL are voxel-based volume renderers, Surfice is a mesh-based surface renderer. Depending on your application, this might be a better choice. The wiki describes this tool.


Mayavi could be of use. See:


You may want to have a look into VisualQC:

I’ll ping Pradeep to chime in.


VisualQC or its backned mrivis ( does not implement this volumetric rendering yet! I’d be happy to work with you to implement a fully-native python implementation in mrivis.

I am curious to learn of use cases for this particular type of visualizaion.