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


#1

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:

http://www.mccauslandcenter.sc.edu/mricrogl/home

Does anyone have any suggestions?

Thanks,

Dylan


#2

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.


#3

Mayavi could be of use. See: http://docs.enthought.com/mayavi/mayavi/auto/example_mri.html


#4

You may want to have a look into VisualQC: https://github.com/raamana/visualqc

I’ll ping Pradeep to chime in.


#5

VisualQC or its backned mrivis (github.com/raamana/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.