Skip to main content

Python interface to LavaVu OpenGL 3D scientific visualisation utilities

Project description

# logo

Build Status Deploy Status DOI Binder

A scientific visualisation tool with a python interface for fast and flexible visual analysis.

Documentation available here LavaVu Documentation

examplevis

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 repository

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.

How do I get set up?

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

Dependencies

  • OpenGL and Zlib, present on most systems, headers may need to be installed
  • To use with python requires python 3.6+ and NumPy
  • For video output, requires: PyAV or for built in encoding, libavcodec, libavformat, libavutil, libswscale (from FFmpeg / libav)
  • To build the python interface from source requires swig (http://www.swig.org/)

Who do I talk to?

For further documentation / examples, see the online documentation

Included libraries

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lavavu-1.9.9.tar.gz (3.3 MB view details)

Uploaded Source

Built Distributions

lavavu-1.9.9-cp313-cp313-win_amd64.whl (30.0 MB view details)

Uploaded CPython 3.13Windows x86-64

lavavu-1.9.9-cp313-cp313-manylinux_2_28_x86_64.whl (21.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

lavavu-1.9.9-cp313-cp313-macosx_11_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

lavavu-1.9.9-cp313-cp313-macosx_10_13_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

lavavu-1.9.9-cp312-cp312-win_amd64.whl (30.0 MB view details)

Uploaded CPython 3.12Windows x86-64

lavavu-1.9.9-cp312-cp312-manylinux_2_28_x86_64.whl (21.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

lavavu-1.9.9-cp312-cp312-macosx_11_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

lavavu-1.9.9-cp312-cp312-macosx_10_13_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

lavavu-1.9.9-cp311-cp311-win_amd64.whl (30.0 MB view details)

Uploaded CPython 3.11Windows x86-64

lavavu-1.9.9-cp311-cp311-manylinux_2_28_x86_64.whl (21.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

lavavu-1.9.9-cp311-cp311-macosx_11_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

lavavu-1.9.9-cp311-cp311-macosx_10_9_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

lavavu-1.9.9-cp310-cp310-win_amd64.whl (30.0 MB view details)

Uploaded CPython 3.10Windows x86-64

lavavu-1.9.9-cp310-cp310-manylinux_2_28_x86_64.whl (21.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

lavavu-1.9.9-cp310-cp310-macosx_11_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

lavavu-1.9.9-cp310-cp310-macosx_10_9_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

Details for the file lavavu-1.9.9.tar.gz.

File metadata

  • Download URL: lavavu-1.9.9.tar.gz
  • Upload date:
  • Size: 3.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for lavavu-1.9.9.tar.gz
Algorithm Hash digest
SHA256 7e31c0d18b8bff3690101df3b12d883c2fdfdada3d88b15b082559b77d7c416d
MD5 45411aa21fcd9ef3d4d92c3f052ee422
BLAKE2b-256 3a6d00db6d4fa0269e9a8b9212a20bd6a37d14890857d8458d0f5bb0016a1245

See more details on using hashes here.

Provenance

The following attestation bundles were made for lavavu-1.9.9.tar.gz:

Publisher: wheel_deploy.yaml on lavavu/LavaVu

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lavavu-1.9.9-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: lavavu-1.9.9-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 30.0 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for lavavu-1.9.9-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 7567527585556e6b7a5f64a901bb860f1261990e045b6b7a0c25d62797e612f1
MD5 2c92a86d6f28f13d40cd823715ea256a
BLAKE2b-256 0c43f73d60872c59a6c344279aa73429ddb4f66e5562d4d9216618601bd20ce5

See more details on using hashes here.

Provenance

The following attestation bundles were made for lavavu-1.9.9-cp313-cp313-win_amd64.whl:

Publisher: wheel_deploy.yaml on lavavu/LavaVu

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lavavu-1.9.9-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for lavavu-1.9.9-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 65f88da93931bc4fd17fa733742e3af4b2141c086eea3b705fc86db8645d182d
MD5 485e8c878e0c56979094c47ca63fa5ec
BLAKE2b-256 0ceb40d9a693c2d4763774bdfd981c87cb1c3872faea6ef786ebbc66640dce85

See more details on using hashes here.

Provenance

The following attestation bundles were made for lavavu-1.9.9-cp313-cp313-manylinux_2_28_x86_64.whl:

Publisher: wheel_deploy.yaml on lavavu/LavaVu

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lavavu-1.9.9-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for lavavu-1.9.9-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f6d94cd2356fbfa36887acdb6293588d3ed7f391506cd3d8e6afabcf84e2fa9d
MD5 dc300e54d703d2952dcdb58879e63b21
BLAKE2b-256 82c6a565580fa7ee8d323008bf86dde53aeeea26668f2b784b8e46bedc5a9289

See more details on using hashes here.

Provenance

The following attestation bundles were made for lavavu-1.9.9-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: wheel_deploy.yaml on lavavu/LavaVu

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lavavu-1.9.9-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for lavavu-1.9.9-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 a694cb17b711879af351f8c429264b04cb408c7f840cab8e3bc7bf8a34218808
MD5 1aa420ee93bc955e59853cf8d31b0144
BLAKE2b-256 a565a63c91f50c61f76dd77424e684997db94f482a38a022f3b04495f1766bf6

See more details on using hashes here.

Provenance

The following attestation bundles were made for lavavu-1.9.9-cp313-cp313-macosx_10_13_x86_64.whl:

Publisher: wheel_deploy.yaml on lavavu/LavaVu

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lavavu-1.9.9-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: lavavu-1.9.9-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 30.0 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for lavavu-1.9.9-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 7960d42d22fbab3fb0017177cdf0606c4a65d4d6844aa009014d05441b41c84e
MD5 66a1de6b26714e6b327670546bd385f7
BLAKE2b-256 042d991a5624b0d30d4aebd56c9abaaf9d5062c20e0716cc67677936cdd5148f

See more details on using hashes here.

Provenance

The following attestation bundles were made for lavavu-1.9.9-cp312-cp312-win_amd64.whl:

Publisher: wheel_deploy.yaml on lavavu/LavaVu

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lavavu-1.9.9-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for lavavu-1.9.9-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8d90172f6725c229d1eb485ca57c74e3a3ce11b5dd7a7a8c842922f9b1f6c116
MD5 4a05d868a07f98eb41719ab6f2275b52
BLAKE2b-256 fac06cb38726a7f40ee69df5d746c991c9656cea0980923676353e07f85ce972

See more details on using hashes here.

Provenance

The following attestation bundles were made for lavavu-1.9.9-cp312-cp312-manylinux_2_28_x86_64.whl:

Publisher: wheel_deploy.yaml on lavavu/LavaVu

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lavavu-1.9.9-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for lavavu-1.9.9-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 76f455d461cbb0d3f467b641f620ec75556cad268a54f20805d477b57af79c3f
MD5 2277a55d9e93a1881dddaec578a4bb0e
BLAKE2b-256 2a1f9f026635cdb24dde93c079f6a999f1018ce8887fc50efcb54394dd1d2e0e

See more details on using hashes here.

Provenance

The following attestation bundles were made for lavavu-1.9.9-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: wheel_deploy.yaml on lavavu/LavaVu

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lavavu-1.9.9-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for lavavu-1.9.9-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 47945d7224382cf6caa9d3b85279ad9a625f986759eed261c8afcaf80bdce8ad
MD5 c79f04f963c1f98c75ac62e099ba8d3d
BLAKE2b-256 fdf9ddd04db489d5008eff0f94a041ff5e107bfc1eafd7c860771a1b9b9796d2

See more details on using hashes here.

Provenance

The following attestation bundles were made for lavavu-1.9.9-cp312-cp312-macosx_10_13_x86_64.whl:

Publisher: wheel_deploy.yaml on lavavu/LavaVu

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lavavu-1.9.9-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: lavavu-1.9.9-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 30.0 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for lavavu-1.9.9-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 18a2f2d240abe57c4de3f05d597d34907377730d68a9493f21ff45293b700bce
MD5 fa80b8dbcbfe6bef60aa7c6da02e971e
BLAKE2b-256 02f862a113c75dde866bea8885130bf54bdbb8bd86b6a82b384989efaceee607

See more details on using hashes here.

Provenance

The following attestation bundles were made for lavavu-1.9.9-cp311-cp311-win_amd64.whl:

Publisher: wheel_deploy.yaml on lavavu/LavaVu

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lavavu-1.9.9-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for lavavu-1.9.9-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cb5ac7254a410d4073e7dd353c74396b0c089b1373f01f0cbdbd113fec1f7778
MD5 37cccf84daf3cf88c86befbbee02626d
BLAKE2b-256 24bbf06e8b59f12b59611cd041ca4365229e801ab2b97822f5cefb8e67e10c9a

See more details on using hashes here.

Provenance

The following attestation bundles were made for lavavu-1.9.9-cp311-cp311-manylinux_2_28_x86_64.whl:

Publisher: wheel_deploy.yaml on lavavu/LavaVu

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lavavu-1.9.9-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for lavavu-1.9.9-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6ba0eb49b59cfb133fba6d51e43b31555661430de328c416e5823a138ce66af1
MD5 e4a1567d816e5f99ef2934ec7474b6b6
BLAKE2b-256 c6d4fda8763c0ca1517718f9e90c1fd4014d5d1af6735d384522bcc9552928a8

See more details on using hashes here.

Provenance

The following attestation bundles were made for lavavu-1.9.9-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: wheel_deploy.yaml on lavavu/LavaVu

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lavavu-1.9.9-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for lavavu-1.9.9-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 3576e658eb930047aeb6b247edee240657e4858ab96551b61fb6f36305684f18
MD5 277bbf5bcab547c0eab03e4e0e375af2
BLAKE2b-256 4c07fb85034af82a6b5ea1e1173bc2ad890255b5763725f30f342af88b7d2e62

See more details on using hashes here.

Provenance

The following attestation bundles were made for lavavu-1.9.9-cp311-cp311-macosx_10_9_x86_64.whl:

Publisher: wheel_deploy.yaml on lavavu/LavaVu

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lavavu-1.9.9-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: lavavu-1.9.9-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 30.0 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for lavavu-1.9.9-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 3a0e016ac781cb90ebb0852f6dea3461e37329f6c8ae6fa1bac4c62c6f0300ea
MD5 4b21ba74523404b8c5e27dbdd8ef57f9
BLAKE2b-256 8d8e6f5d2bb16aa2fa3f46b1ac26affecc1be9700323ae6e5c29213ecd8536f5

See more details on using hashes here.

Provenance

The following attestation bundles were made for lavavu-1.9.9-cp310-cp310-win_amd64.whl:

Publisher: wheel_deploy.yaml on lavavu/LavaVu

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lavavu-1.9.9-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for lavavu-1.9.9-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6eaa7022e34ab12aaf16d8b94815343bd1ce482bcca0f43c5ba330d1d3f710e5
MD5 46a5a516f7051dfddb7c0b822dedfb5f
BLAKE2b-256 599ce0b7378543a2652e52604fca3f16eb60343e4848a9798cfdd0e79e51c549

See more details on using hashes here.

Provenance

The following attestation bundles were made for lavavu-1.9.9-cp310-cp310-manylinux_2_28_x86_64.whl:

Publisher: wheel_deploy.yaml on lavavu/LavaVu

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lavavu-1.9.9-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for lavavu-1.9.9-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7445435c0aa99f903ed24fd66860b90b0a855387ed19dc8823bb02895898d68a
MD5 c65169d8445a98e67c32b7dac545b5e7
BLAKE2b-256 3b98160f4910245ba89a7f6b5cbcab348f21f6d2e21f47c691498683faf08b60

See more details on using hashes here.

Provenance

The following attestation bundles were made for lavavu-1.9.9-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: wheel_deploy.yaml on lavavu/LavaVu

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lavavu-1.9.9-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for lavavu-1.9.9-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 9fe8c33ed9dc8f80674f8de05bb0aa5694d539dbfdbd6a64b2f00d7f38671fa2
MD5 00b7cf42825e714e1154be53d72d2e3e
BLAKE2b-256 ae074381519adfcf1703758d6e1154027e82fa5e9634720756b113c0358a3910

See more details on using hashes here.

Provenance

The following attestation bundles were made for lavavu-1.9.9-cp310-cp310-macosx_10_9_x86_64.whl:

Publisher: wheel_deploy.yaml on lavavu/LavaVu

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page