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 the Monash Immersive Visualisation Plaform 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 in the gLucifer1 framework for visualising geodynamics simulations. The OpenGL visualisation module was separated from the simulation and sampling libraries and became 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 IPython 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.

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.

A CAVE2 virtual reality mode is provided by utilising Omegalib (http://github.com/uic-evl/omegalib) to allow use in Virtual Reality and Immersive Visualisation facilities, such as the CAVE2 at Monash, see (https://github.com/mivp/LavaVR). Side-by-side and quad buffer stereoscopic 3D support is also provided for other 3D displays.

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:

pip install --user lavavu

If you don't have pip available, you can try sudo easy_install pip or just install Anaconda, which comes with pip and a whole lot of other useful packages for scientific work with python. Once in anaconda pip install lavavu will install the package.

Currently no binaries are provided and the installer needs to compile the library, so on Linux you may need some developer tools and headers first, eg: for Ubuntu: sudo apt install build-essential libgl1-mesa-dev libx11-dev zlib1g-dev

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
  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 2.7+ and NumPy
  • For video output, requires: 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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

Uploaded CPython 3.12 Windows x86-64

lavavu-1.8.81-cp312-cp312-manylinux_2_28_x86_64.whl (31.6 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.28+ x86-64

lavavu-1.8.81-cp312-cp312-macosx_11_0_arm64.whl (1.8 MB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

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

Uploaded CPython 3.11 Windows x86-64

lavavu-1.8.81-cp311-cp311-manylinux_2_28_x86_64.whl (31.5 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.28+ x86-64

lavavu-1.8.81-cp311-cp311-macosx_11_0_arm64.whl (1.8 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

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

Uploaded CPython 3.10 Windows x86-64

lavavu-1.8.81-cp310-cp310-manylinux_2_28_x86_64.whl (31.5 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.28+ x86-64

lavavu-1.8.81-cp310-cp310-macosx_11_0_arm64.whl (1.8 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

lavavu-1.8.81-cp39-cp39-win_amd64.whl (30.0 MB view details)

Uploaded CPython 3.9 Windows x86-64

lavavu-1.8.81-cp39-cp39-manylinux_2_28_x86_64.whl (31.5 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.28+ x86-64

lavavu-1.8.81-cp39-cp39-macosx_11_0_arm64.whl (1.8 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

lavavu-1.8.81-cp38-cp38-win_amd64.whl (30.0 MB view details)

Uploaded CPython 3.8 Windows x86-64

lavavu-1.8.81-cp38-cp38-manylinux_2_28_x86_64.whl (31.5 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.28+ x86-64

lavavu-1.8.81-cp38-cp38-macosx_11_0_arm64.whl (1.8 MB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: lavavu-1.8.81-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/5.1.1 CPython/3.12.7

File hashes

Hashes for lavavu-1.8.81-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 cb41b8976a0e86413c76c5fc1b809fb7f2ae984c64cea72bbbcfee5227ba7ddb
MD5 d836899069b6987902a0ea6f4fa37383
BLAKE2b-256 034a71ff3e8f5afc3ae9cc0f4cda84db2c65fdfc6cd62f6d3c0e59acd6640b03

See more details on using hashes here.

Provenance

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

Publisher: wheel_deploy.yaml on lavavu/LavaVu

Attestations:

File details

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

File metadata

File hashes

Hashes for lavavu-1.8.81-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 420fd9e27b8e6de5991f56ac5a182b5ceeb638ae52f7cfb18164d98dc5032f3e
MD5 09cf5707b8af6c6e58c25e078bec41cf
BLAKE2b-256 37cbcfc6771979ab6887120801a9695751e2b235542c5f5dce8e249632d1aeaf

See more details on using hashes here.

Provenance

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

Publisher: wheel_deploy.yaml on lavavu/LavaVu

Attestations:

File details

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

File metadata

File hashes

Hashes for lavavu-1.8.81-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 521d1a796e40d2978dfd9b9f2a1ed65cf35566110fadd49fade9fd37f4d2b0d2
MD5 bb57d36b2d950a879d85fe6e5999cf8a
BLAKE2b-256 6059bda610befe6f0fdb4ac3a32d031dae53cdf05db910578772594a842b0be6

See more details on using hashes here.

Provenance

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

Publisher: wheel_deploy.yaml on lavavu/LavaVu

Attestations:

File details

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

File metadata

  • Download URL: lavavu-1.8.81-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/5.1.1 CPython/3.12.7

File hashes

Hashes for lavavu-1.8.81-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e934af4d7581774ebb531908c244eaa63e6ee4039467ad5cd7ea983e029684d6
MD5 2f98af171084d2b0ad40430653f3f7d4
BLAKE2b-256 a11482a8b5202ce607744edfe669ae5b174e4f44bddda5a343fed924000d1265

See more details on using hashes here.

Provenance

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

Publisher: wheel_deploy.yaml on lavavu/LavaVu

Attestations:

File details

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

File metadata

File hashes

Hashes for lavavu-1.8.81-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8029c261b9887987118e5ceb0fe94fd2bdae3143d7d1ef4acc19d50fe4f8a4b1
MD5 da5f6bb1f85ebc3e77b0519754c2b1ff
BLAKE2b-256 20f818d4cfc7eba8d012c0dc5419def1033f51831b55d26e1635f0045fd109b6

See more details on using hashes here.

Provenance

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

Publisher: wheel_deploy.yaml on lavavu/LavaVu

Attestations:

File details

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

File metadata

File hashes

Hashes for lavavu-1.8.81-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0ab4b4c7faad6cf409feea3c4a5eb4cc024935b7d521611cf0e57791c80d3897
MD5 d9d200d9dcb29667c9a32eb8492cc5bd
BLAKE2b-256 a002becb089a340b4d6244b4e2fff6932b1ed3edffe4073bee8239c4b02681ea

See more details on using hashes here.

Provenance

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

Publisher: wheel_deploy.yaml on lavavu/LavaVu

Attestations:

File details

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

File metadata

  • Download URL: lavavu-1.8.81-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/5.1.1 CPython/3.12.7

File hashes

Hashes for lavavu-1.8.81-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 d2712b6d11302e06ea200bbccd7d8fd369e946598276400df4aed7e02f7d7595
MD5 580fb9a989f91120d7ff14d64bd239ac
BLAKE2b-256 a98c89f7759cc2ffcc8dcb8a4f006fe3d62587eb8a2757a6679154305e21fd74

See more details on using hashes here.

Provenance

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

Publisher: wheel_deploy.yaml on lavavu/LavaVu

Attestations:

File details

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

File metadata

File hashes

Hashes for lavavu-1.8.81-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b237b52b2f8da07b38b2e45551c326642589545e59eb6006003f3214d390723c
MD5 9e295758c39a15dffbbeb17bd7d7932e
BLAKE2b-256 cecea1ac4c873ea7974cff8ca72d77d270f98a7a567ee3b968c2be64d99c1527

See more details on using hashes here.

Provenance

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

Publisher: wheel_deploy.yaml on lavavu/LavaVu

Attestations:

File details

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

File metadata

File hashes

Hashes for lavavu-1.8.81-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 434e514d30be742678db7c327cc27c45dab057b3896c6d1f1accc7feba3719ba
MD5 4bbe6c10802af90313d798883e7863b6
BLAKE2b-256 206809db3b6b6a4a8654f4dc666660e9f5aaa2fca07d149d0e65e26d5d0d3be6

See more details on using hashes here.

Provenance

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

Publisher: wheel_deploy.yaml on lavavu/LavaVu

Attestations:

File details

Details for the file lavavu-1.8.81-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: lavavu-1.8.81-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 30.0 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for lavavu-1.8.81-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 1b5bdf81b405d151c7aa9f5b45ed2379dcbec72ccc8786af99416057a8bb9d5b
MD5 49d7aea64af267ea59144328965be671
BLAKE2b-256 8f9bec113ca1ace68c9226d2e59e8484e488e8d586a4f661f0de2c2ba29c203c

See more details on using hashes here.

Provenance

The following attestation bundles were made for lavavu-1.8.81-cp39-cp39-win_amd64.whl:

Publisher: wheel_deploy.yaml on lavavu/LavaVu

Attestations:

File details

Details for the file lavavu-1.8.81-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for lavavu-1.8.81-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6c3c33ab4769a30af4b25e25490c30e0f3bfac7c3d14b2e9d25e4b598f901ef7
MD5 aed9b3005e166aa27324c6ccbfa56c50
BLAKE2b-256 2d8d80c47fe8e721bf9b7e3d72897e70c53ba6679a3216b1817276281cfd89cb

See more details on using hashes here.

Provenance

The following attestation bundles were made for lavavu-1.8.81-cp39-cp39-manylinux_2_28_x86_64.whl:

Publisher: wheel_deploy.yaml on lavavu/LavaVu

Attestations:

File details

Details for the file lavavu-1.8.81-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for lavavu-1.8.81-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0690932060a607cadc3e7c77c69a03eb5a8f62c7b16345a30209e2e6afc1eea1
MD5 e5a4c215e2bfded5970ff0436a1a7aa6
BLAKE2b-256 c4aaea59861cd88eca2a2f77b4497789cc8e51a3e7dbeda1ded363e02b28aaab

See more details on using hashes here.

Provenance

The following attestation bundles were made for lavavu-1.8.81-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: wheel_deploy.yaml on lavavu/LavaVu

Attestations:

File details

Details for the file lavavu-1.8.81-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: lavavu-1.8.81-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 30.0 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for lavavu-1.8.81-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 2b33b72a26be2655db36f16f6a9c09b96090661ccf3113efa42fc2bc8cdb58e8
MD5 9002b7f13a30a04c2aaf3788fdda8a42
BLAKE2b-256 de7a2d11a5f804aa87c2b511f674afb35187e825ff2686a94d33f36cb47355df

See more details on using hashes here.

Provenance

The following attestation bundles were made for lavavu-1.8.81-cp38-cp38-win_amd64.whl:

Publisher: wheel_deploy.yaml on lavavu/LavaVu

Attestations:

File details

Details for the file lavavu-1.8.81-cp38-cp38-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for lavavu-1.8.81-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 33c919f1337130fe84df879d98decbeec989bcc7df4e41c8d39bded6d8db258d
MD5 5756e152fe031403dd6eb89918b3f514
BLAKE2b-256 3640a1f3e7f79bba36256d46a58e4fb80ef0d2290e29b67ebed2636732a79a83

See more details on using hashes here.

Provenance

The following attestation bundles were made for lavavu-1.8.81-cp38-cp38-manylinux_2_28_x86_64.whl:

Publisher: wheel_deploy.yaml on lavavu/LavaVu

Attestations:

File details

Details for the file lavavu-1.8.81-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for lavavu-1.8.81-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 82cfd7f5d9760b17e14b357d51c492b41f1a100ed63da57458170e803aeaff3e
MD5 14f301c49b00725119547e30a9c27510
BLAKE2b-256 6ef3494fd395a3fa8269243b98d2f0b4727da0a61277cdb316bc1f7e7e3c85a8

See more details on using hashes here.

Provenance

The following attestation bundles were made for lavavu-1.8.81-cp38-cp38-macosx_11_0_arm64.whl:

Publisher: wheel_deploy.yaml on lavavu/LavaVu

Attestations:

Supported by

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