All Projects → maartenbreddels → Ipyvolume

maartenbreddels / Ipyvolume

Licence: mit
3d plotting for Python in the Jupyter notebook based on IPython widgets using WebGL

Programming Languages

python
139335 projects - #7 most used programming language
typescript
32286 projects
GLSL
2045 projects
javascript
184084 projects - #8 most used programming language
Vue
7211 projects
Jupyter Notebook
11667 projects

Projects that are alternatives of or similar to Ipyvolume

Patches
Patches is a visual programming editor for building WebVR and WebGL experiences.
Stars: ✭ 164 (-90.33%)
Mutual labels:  webgl, threejs, virtual-reality
Bokeh
Interactive Data Visualization in the browser, from Python
Stars: ✭ 15,822 (+832.9%)
Mutual labels:  jupyter, plotting, visualisation
Worlds2
Building Virtual Reality Worlds using Three.js
Stars: ✭ 34 (-98%)
Mutual labels:  webgl, threejs, virtual-reality
Partykals
Particles system library for THREE.js
Stars: ✭ 109 (-93.57%)
Mutual labels:  webgl, threejs
Solar System Threejs
The Solar System: Modeled to scale with Three.js
Stars: ✭ 107 (-93.69%)
Mutual labels:  webgl, threejs
Three.meshline
Mesh replacement for THREE.Line
Stars: ✭ 1,644 (-3.07%)
Mutual labels:  webgl, threejs
Scipy2017 Jupyter Widgets Tutorial
Notebooks for the SciPy 2017 tutorial "The Jupyter Interactive Widget Ecosystem"
Stars: ✭ 102 (-93.99%)
Mutual labels:  jupyter-notebook, jupyter
Decoraki
🏠 3D Simulator for interior design
Stars: ✭ 110 (-93.51%)
Mutual labels:  webgl, threejs
Nb pdf template
A more accurate representation of jupyter notebooks when converting to pdfs.
Stars: ✭ 109 (-93.57%)
Mutual labels:  jupyter-notebook, jupyter
Webxr Handtracking
👐 WebXR hand tracking examples
Stars: ✭ 116 (-93.16%)
Mutual labels:  webgl, threejs
Analyzing neural time series
python implementations of Analyzing Neural Time Series Textbook
Stars: ✭ 117 (-93.1%)
Mutual labels:  jupyter-notebook, jupyter
Morph
Morph is a free and open-source tool for creating designs, animations or interactive visualizations from data.
Stars: ✭ 107 (-93.69%)
Mutual labels:  webgl, dataviz
Giojs
🌏 A Declarative 3D Globe Data Visualization Library built with Three.js
Stars: ✭ 1,528 (-9.91%)
Mutual labels:  webgl, threejs
Prml
PRML algorithms implemented in Python
Stars: ✭ 10,206 (+501.77%)
Mutual labels:  jupyter-notebook, jupyter
Gdl
GDL - GNU Data Language
Stars: ✭ 104 (-93.87%)
Mutual labels:  scientific-visualization, plotting
Spark R Notebooks
R on Apache Spark (SparkR) tutorials for Big Data analysis and Machine Learning as IPython / Jupyter notebooks
Stars: ✭ 109 (-93.57%)
Mutual labels:  jupyter-notebook, jupyter
Lba2remake
A Little Big Adventure 2 / Twinsen's Odyssey reimplementation in JavaScript / Three.js / React
Stars: ✭ 116 (-93.16%)
Mutual labels:  webgl, threejs
Thehallaframe
WebVR demo that displays art
Stars: ✭ 120 (-92.92%)
Mutual labels:  webgl, threejs
Learn jupyter
This is a jupyter practical tutorial. Welcome to edit together!
Stars: ✭ 123 (-92.75%)
Mutual labels:  jupyter-notebook, jupyter
Irkernel
R kernel for Jupyter
Stars: ✭ 1,379 (-18.69%)
Mutual labels:  jupyter-notebook, jupyter

ipyvolume

Join the chat at https://gitter.im/maartenbreddels/ipyvolume Documentation Version Anaconda-Server Badge Coverage Status Build Status

Try out in mybinder: Binder

3d plotting for Python in the Jupyter notebook based on IPython widgets using WebGL.

Ipyvolume currenty can

  • Do (multi) volume rendering.
  • Create scatter plots (up to ~1 million glyphs).
  • Create quiver plots (like scatter, but with an arrow pointing in a particular direction).
  • Render isosurfaces.
  • Do lasso mouse selections.
  • Render in the Jupyter notebook, or create a standalone html page (or snippet to embed in your page).
  • Render in stereo, for virtual reality with Google Cardboard.
  • Animate in d3 style, for instance if the x coordinates or color of a scatter plots changes.
  • Animations / sequences, all scatter/quiver plot properties can be a list of arrays, which can represent time snapshots.
  • Stylable (although still basic)
  • Integrates with

Ipyvolume will probably, but not yet:

  • Render labels in latex.
  • Show a custom popup on hovering over a glyph.

Documentation

Documentation is generated at readthedocs: Documentation

Screencast demos

Animation

screencast

(see more at the documentation)

Volume rendering

screencast

Glyphs (quiver plots)

screencast quiver

Installation

If you want to use Jupyter Lab, please use version 3.0.

Using pip

Advice: Make sure you use conda or virtualenv. If you are not a root user and want to use the --user argument for pip, you expose the installation to all python environments, which is a bad practice, make sure you know what you are doing.

$ pip install ipyvolume

Conda/Anaconda

$ conda install -c conda-forge ipyvolume

Pre-notebook 5.3

If you are still using an old notebook version, ipyvolume and its dependend extension (widgetsnbextension) need to be enabled manually. If unsure, check which extensions are enabled:

$ jupyter nbextention list

If not enabled, enable them:

$ jupyter nbextension enable --py --sys-prefix ipyvolume
$ jupyter nbextension enable --py --sys-prefix widgetsnbextension

Pip as user: (but really, do not do this)

You have been warned, do this only if you know what you are doing, this might hunt you in the future, and now is a good time to consider learning virtualenv or conda.

$ pip install ipyvolume --user
$ jupyter nbextension enable --py --user ipyvolume
$ jupyter nbextension enable --py --user widgetsnbextension

Developer installation

$ git clone https://github.com/maartenbreddels/ipyvolume.git
$ cd ipyvolume
$ pip install -e .
$ jupyter nbextension install --py --overwrite --symlink --sys-prefix ipyvolume
$ jupyter nbextension enable --py --sys-prefix ipyvolume
# for jupyterlab (>=3.0), symlink share/jupyter/labextensions/bqplot-image-gl
$ jupyter labextension develop . --overwrite

Developer workflow

Jupyter notebook (classical)

Note: There is never a need to restart the notebook server, nbextensions are picked up after a page reload.

Start this command:

$ (cd js; npm run watch)

It will

  • Watch for changes in the sourcecode and run the typescript compiler for transpilation of the src dir to the lib dir.
  • Watch the lib dir, and webpack will build (among other things), ROOT/ipyvolume/static/index.js.

Refresh the page.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].