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.84-cp312-cp312-win_amd64.whl (30.0 MB view details)

Uploaded CPython 3.12 Windows x86-64

lavavu-1.8.84-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.84-cp312-cp312-macosx_11_0_arm64.whl (1.8 MB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

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

Uploaded CPython 3.11 Windows x86-64

lavavu-1.8.84-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.84-cp311-cp311-macosx_11_0_arm64.whl (1.8 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

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

Uploaded CPython 3.10 Windows x86-64

lavavu-1.8.84-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.84-cp310-cp310-macosx_11_0_arm64.whl (1.8 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

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

Uploaded CPython 3.9 Windows x86-64

lavavu-1.8.84-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.84-cp39-cp39-macosx_11_0_arm64.whl (1.8 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

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

Uploaded CPython 3.8 Windows x86-64

lavavu-1.8.84-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.84-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.84-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: lavavu-1.8.84-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.84-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 93a520269c4ade7498cdd2609c3ef6591e9c9e760f6d00e9ec2dd28d484f1721
MD5 4d695d89d84a61295ad38ddd70703367
BLAKE2b-256 7868b72d8ace7790198419fab659d4f0ac856f95ca9c2aa11afc2944527be9ea

See more details on using hashes here.

Provenance

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

Publisher: wheel_deploy.yaml on lavavu/LavaVu

Attestations:

File details

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

File metadata

File hashes

Hashes for lavavu-1.8.84-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3369ac047669b36087021095c2b814f722f3d375be5821447a128ce5f762145c
MD5 c426003c006af1e4f237d3a635632eaa
BLAKE2b-256 e1ee4dd27252a2da7222339dbabca9097829622ee99890363a7bbbfa002b335b

See more details on using hashes here.

Provenance

The following attestation bundles were made for lavavu-1.8.84-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.84-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for lavavu-1.8.84-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 deeca74fc4c0251353eeaa6f3e2eca9ced83bf914880c0b5d2d4b3d02f37b9e2
MD5 ce11c2ed9048e1204443f6b765e0357e
BLAKE2b-256 aab83c6e06aa08fc495acab4eef00f41ae14f9fe27915b211e7f56f74a892460

See more details on using hashes here.

Provenance

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

Publisher: wheel_deploy.yaml on lavavu/LavaVu

Attestations:

File details

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

File metadata

  • Download URL: lavavu-1.8.84-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.84-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ab3df5bfed0b2c936fdb77e39d6dc0a9e242e1588ecd72468cf370f7a8a9ca93
MD5 2f372264d6e54075a332ef2564ec746a
BLAKE2b-256 547bec817d4d77b6b1473bde9f54178e535c48ec6d8c7deaa3dae4c39e1eeff3

See more details on using hashes here.

Provenance

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

Publisher: wheel_deploy.yaml on lavavu/LavaVu

Attestations:

File details

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

File metadata

File hashes

Hashes for lavavu-1.8.84-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a26d0896f6fb790bcd0ebff651b5fffe6f55f2f37a0702bbb3c3cc53d87ef072
MD5 25749c0662b6487700fe4caaa4d31a53
BLAKE2b-256 431e60d937491c13c5a375579aa76bf03d7489285e3d37f353ef5e7fed7f707a

See more details on using hashes here.

Provenance

The following attestation bundles were made for lavavu-1.8.84-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.84-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for lavavu-1.8.84-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 68a1b9f74c9cda523e223e116e9039fdc673f6feeb55adcb7b3b20689c942f7b
MD5 5fb16cb479f1fe246e21409e980278c9
BLAKE2b-256 e1d873366fd65dc44c3a1688df08e0427c1be77f338827128eb77166b93535bf

See more details on using hashes here.

Provenance

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

Publisher: wheel_deploy.yaml on lavavu/LavaVu

Attestations:

File details

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

File metadata

  • Download URL: lavavu-1.8.84-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.84-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 2529aa9b3a373d30b9b760bac7167beeb395f72119c1e8d865705275e6c020c8
MD5 7e9d249557b6aead6d2e159aa904f9c1
BLAKE2b-256 3585b86d71a232eebaec9b38795dd6190527bff702c71cf5634a3a3bbf46c045

See more details on using hashes here.

Provenance

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

Publisher: wheel_deploy.yaml on lavavu/LavaVu

Attestations:

File details

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

File metadata

File hashes

Hashes for lavavu-1.8.84-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 685b4b3f8cc5d50e2110b34a5c709e950effeeda63df5605006fcfe4bf2ac592
MD5 c124924de726690aa016eca0a14acc5f
BLAKE2b-256 5b5ed7eb07c94812e9e7a6df38050b2c4f61434dd2daadc007ac33558ea7845d

See more details on using hashes here.

Provenance

The following attestation bundles were made for lavavu-1.8.84-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.84-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for lavavu-1.8.84-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e7c4d2c551fc06dc92a09a22ada5151864fa34badde275df4c66e3cb702575d5
MD5 9c0e3cb72c6c3e3252414e1a4e7d906e
BLAKE2b-256 21bb9a60aee6bd70a6b91cdff06710d443bc49376a1f23469e2b4bc161f77977

See more details on using hashes here.

Provenance

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

Publisher: wheel_deploy.yaml on lavavu/LavaVu

Attestations:

File details

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

File metadata

  • Download URL: lavavu-1.8.84-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.84-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 cf67fd36fc6e759dfc4c1d6f5fa633c25144ca2a137036f4654d23f580a8bade
MD5 f21a93fa67889f2be948074a2f5c949f
BLAKE2b-256 6d574203d29858d37f11bae673a4b1a466cc1f58d47409737f1bf8384a36b37a

See more details on using hashes here.

Provenance

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

Publisher: wheel_deploy.yaml on lavavu/LavaVu

Attestations:

File details

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

File metadata

File hashes

Hashes for lavavu-1.8.84-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6e9105b3f4e90366fbb4fa5d69a214215c74091231866aa639a25046f6c90174
MD5 baf524056520bc1138b6af341d19e005
BLAKE2b-256 477df33298c3ea6507b64c5fd310bc6eab5360986bf4170fa163145eb96d1771

See more details on using hashes here.

Provenance

The following attestation bundles were made for lavavu-1.8.84-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.84-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for lavavu-1.8.84-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7e5869632349e1b61da4b81e3ce44e38c055d3b72149226093c3284aecaa4f63
MD5 05b157ccc0143424a08975333e6545c3
BLAKE2b-256 594a8d7353615ea32ea73db28b62b6d1e393644d72ea4beeeb6a89f7deda8b37

See more details on using hashes here.

Provenance

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

Publisher: wheel_deploy.yaml on lavavu/LavaVu

Attestations:

File details

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

File metadata

  • Download URL: lavavu-1.8.84-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.84-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 fe8b7e492e2f5fd738f8dd2777fd7bcd27a63a9c40f6ccf00776013e5c7cbac3
MD5 0ecd276dfee53e288726fe5356761d09
BLAKE2b-256 c526579c147c2741aea5899b35fe9251dafe79f95402959bdc9d7f47fbd26e37

See more details on using hashes here.

Provenance

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

Publisher: wheel_deploy.yaml on lavavu/LavaVu

Attestations:

File details

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

File metadata

File hashes

Hashes for lavavu-1.8.84-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6845a472cbe7c2c23d995b7ce77463b33c9bcc98b2000a53b4742638c1f3e085
MD5 b6e15e79c0ccca0da7237e2095136911
BLAKE2b-256 8e3d262257bd343988f23d63f0817e1706e0c05430d6f6a98656342c1bf74550

See more details on using hashes here.

Provenance

The following attestation bundles were made for lavavu-1.8.84-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.84-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for lavavu-1.8.84-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 33b2f53db634da808ade27154379064e679e0c42ed03e373e7010c2c3e8932ce
MD5 5f75a69544faa93cc90cf8c65665bf25
BLAKE2b-256 b54d3dd13c1f452d82299dd2c9ade8772f52e24b9fcfc455213ae71da9128725

See more details on using hashes here.

Provenance

The following attestation bundles were made for lavavu-1.8.84-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