
Security News
ECMAScript 2025 Finalized with Iterator Helpers, Set Methods, RegExp.escape, and More
ECMAScript 2025 introduces Iterator Helpers, Set methods, JSON modules, and more in its latest spec update approved by Ecma in June 2025.
A scientific visualisation tool with a python interface for fast and flexible visual analysis.
Documentation available here LavaVu Documentation
LavaVu development is supported by ACCESS-NRI. Prior development was funded by the Monash Immersive Visualisation Plaform at Monash eResearch and the Simulation, Analysis & Modelling component of the NCRIS AuScope capability.
The acronym stands for: lightweight, automatable visualisation and analysis viewing utility, but "lava" is also a reference to its primary application as a viewer for geophysical simulations. It was also chosen to be unique enough to find the repository with google.
The project started as a replacement rendering library for the gLucifer1 framework, visualising geodynamics simulations. The new OpenGL visualisation code was re-implemented as a more general purpose visualisation tool. gLucifer continues as a set of sampling tools for Underworld simulations as part of the Underworld2 code. LavaVu provides the rendering library for creating 2d and 3d visualisations to view this sampled data, inline within interactive Jupyter notebooks and offline through saved visualisation databases and images/movies.
As a standalone tool it is a scriptable 3D visualisation tool capable of producing publication quality high res images and video output from time varying data sets along with HTML5 3D visualisations in WebGL. Rendering features include correctly and efficiently rendering large numbers of opaque and transparent points and surfaces and volume rendering by GPU ray-marching. There are also features for drawing vector fields and tracers (streamlines).
Control is via python and a set of simple verbose scripting commands along with mouse/keyboard interaction. GUI components can be generated for use from a web browser via the python "control" module and a built in web server.
Widgets for interactive use in the Jupyter notebook environment allow use for remote visualisation, eg: on supercomputing environments.
A native data format called GLDB is used to store and visualisations in a compact single file, using SQLite for storage and fast loading. A small number of other data formats are supported for import (OBJ surfaces, TIFF stacks etc). Further data import formats are supported with python scripts, with the numpy interface allowing rapid loading and manipulation of data.
This is the public source code repository for all development on the project. Development happens in the "master" branch with stable releases tagged, so if you just check out master, be aware that things can be unstable or broken from time to time.
It's now in the python package index, so you can install with pip:
python -m pip install lavavu
Currently binary wheels are provided for Linux x86_64, MacOS x86_64 and ARM64 and Windows x86_64.
To try it out:
python
> import lavavu
> lv = lavavu.Viewer() #Create a viewer
> lv.test() #Plot some sample data
> lv.interactive() #Open an interactive viewer window
Alternatively, clone this repository with git and build from source:
git clone https://github.com/lavavu/LavaVu
cd LavaVu
python -m pip install .
or
make -j4
If all goes well the viewer will be built, try running with: ./lavavu/LavaVu
For further documentation / examples, see the online documentation
In order to avoid as many external dependencies as possible, the LavaVu sources include files from the following public domain or open source libraries, many thanks to the authors for making their code available!
1 Stegman, D.R., Moresi, L., Turnbull, R., Giordani, J., Sunter, P., Lo, A. and S. Quenette, gLucifer: Next Generation Visualization Framework for High performance computational geodynamics, 2008, Visual Geosciences
2 Ruijters, Daniel & ter Haar Romeny, Bart & Suetens, Paul. (2008). Efficient GPU-Based Texture Interpolation using Uniform B-Splines. J. Graphics Tools. 13. 61-69.
FAQs
Python interface to LavaVu OpenGL 3D scientific visualisation utilities
We found that lavavu demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
ECMAScript 2025 introduces Iterator Helpers, Set methods, JSON modules, and more in its latest spec update approved by Ecma in June 2025.
Security News
A new Node.js homepage button linking to paid support for EOL versions has sparked a heated discussion among contributors and the wider community.
Research
North Korean threat actors linked to the Contagious Interview campaign return with 35 new malicious npm packages using a stealthy multi-stage malware loader.