Code Monkey home page Code Monkey logo

jupyterview's Introduction

jupyterview

Github Actions Status Lite Binder GitHub license PyPI version Conda Version

VTK Data visualization extension for JupyterLab

jupyterview is an extension that adds the VTK data visualization capability to JupyterLab.

Powered by Kitware's vtk.js and itk-wasm library, jupyterview is a pure frontend extension, it does not require any kernel to operate and fully supports the Real-Time Collaboration feature of JupyterLab.

jupyterview is fully compatible with jupyterlite, it is available online at jupyterview demo link.

Features

  • Visualize structured and unstructured data (.vtu, .vtp, .vtk flies).

vtu

  • Visualize and animate .pvd files.

pvd

  • Visualize mesh supported by meshio library. Full list of supported formats is available at https://github.com/nschloe/meshio. To open med files, h5py need to be installed.
jv3.mp4
  • Multiple display modes: Surface, Surface with Edge, Wireframe and Points
  • Color scale and isocolor effet.
  • Warp by scalar effet.

Requirements

  • JupyterLab >= 3.0

Install

To install the extension, execute:

pip install jupyterview

or with mamba/conda

  conda install -c conda-forge  jupyterview

Contributing

Development install

Note: You will need NodeJS to build the extension package.

The jlpm command is JupyterLab's pinned version of yarn that is installed with JupyterLab. You may use yarn or npm in lieu of jlpm below.

# Clone the repo to your local environment
# Change directory to the jupyterview directory
# Install package in development mode
pip install -e .
# Link your development version of the extension with JupyterLab
jupyter labextension develop . --overwrite
# Rebuild extension Typescript source after making changes
jlpm run build

You can watch the source directory and run JupyterLab at the same time in different terminals to watch for changes in the extension's source and automatically rebuild the extension.

# Watch the source directory in one terminal, automatically rebuilding when needed
jlpm run watch
# Run JupyterLab in another terminal
jupyter lab

With the watch command running, every saved change will immediately be built locally and available in your running JupyterLab. Refresh JupyterLab to load the change in your browser (you may need to wait several seconds for the extension to be rebuilt).

By default, the jlpm run build command generates the source maps for this extension to make it easier to debug using the browser dev tools. To also generate source maps for the JupyterLab core extensions, you can run the following command:

jupyter lab build --minimize=False

Development uninstall

pip uninstall jupyterview

In development mode, you will also need to remove the symlink created by jupyter labextension develop command. To find its location, you can run jupyter labextension list to figure out where the labextensions folder is located. Then you can remove the symlink named jupyterview within that folder.

Packaging the extension

See RELEASE

Thanks

The following libraries / open-source projects were used or inspired in the development of jupyterview:

jupyterview's People

Contributors

allcontributors[bot] avatar dependabot[bot] avatar github-actions[bot] avatar jtpio avatar trungleduc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jupyterview's Issues

JupyterHub extension does not appear

I successfully installed the extension via pip as stated in README. Then, I restarted the service (and the server afterward when the extension was not working). The extension is listed in the extension list (see below) but it does not appear in JupyterHub GUI. Double clicking one of the sample files from this repo gives an error (see screenshot below). May I ask for help?

jupyter-XXX-singleuser@jupyter:~$ jupyter labextension list
JupyterLab v3.6.3
/var/lib/private/XXX/.local/share/jupyter/labextensions
        jupyter-matplotlib v0.11.3 enabled OK
        @jupyter-widgets/jupyterlab-manager v3.1.4 enabled OK (python, jupyterlab_widgets)

/home/jupyter/mambaforge/envs/jupyter/share/jupyter/labextensions
        jupyterlab_pygments v0.2.2 enabled OK (python, jupyterlab_pygments)
        jupyter-threejs v2.4.1 enabled OK (python, pythreejs)
        nbdime-jupyterlab v2.1.1 enabled OK
        jupyter_cadquery v2.0.2 enabled OK (python, jupyter_cadquery_widgets)
        ipyparallel-labextension v8.6.1 enabled OK
        jupyterview v0.5.1 enabled OK (python, jupyterview)
        jupyterlab-datawidgets v7.1.2 enabled OK
        webgui_jupyter_widgets v0.2.5 enabled OK (python, webgui_jupyter_widgets)
        @jupyterlab/git v0.41.0 enabled OK (python, jupyterlab-git)
        @lckr/jupyterlab_variableinspector v3.0.9 enabled OK (python, lckr_jupyterlab_variableinspector)

Other labextensions (built into JupyterLab)
   app dir: /home/jupyter/mambaforge/envs/jupyter/share/jupyter/lab

obrazek

Problem loading .pvd file

I have a .pvd file (size 6,5ย kB) , which I want to load with jupyterview. However, upon opening the file it gets stuck on loading forever. Other file formats such as .vtu load just fine, since I have the same data in .vtu as well. If I open the .pvd file in Paraview, it does work and it shows everything correctly. I would greatly appreciate any help or advice on how to fix this :)

image

Read mesh files

Hi,

I just discovered your amazing extensions and installed it with ananonda/python39/win. I can read vtu/vtk files but when it comes to others mesh files (gmsh msh or mesh Medit files) the viewer enter an infinite loop. Jupyterview relies on meshio to read various mesh files, i can manually use meshio. What's wrong ?

Best regards.

JupyterView Roadpath

@trungleduc Thanks for jupyterview, it's pretty darn awesome ๐Ÿ˜

Just thought I'd share with you jupyterview visualising some AWI-CM FESOM climate data, where each vtk mesh consists of 126,859 cells and 2,283,462 points ๐Ÿ‘

Also, I have a couple of questions:

  1. I was just wondering what the roadpath is for jupyterview? Do you have any plans that you're able to share?
  2. Are there plans to extend jupyterview to allow more than one VTK object to be added to the scene? Or, if that's already possible, how do you do it?
  3. Is it easy for you to share instructions on how to publish jupyterview and run with jupyterlite?

Ping @koldunovn (yeah, I know it's not the triangulated version of the mesh, but still very cool!)

fesom-jupyterview.mp4

Visualize multiple files together.

Hello, thanks for this nice extension.
I have not figured a way to open multiple mesh files in one window (.obj files for exemple).
Can you provide a way to do this or could you add this as feature, i figured it very simular to Glance and should not be very complicated.

Thank you in advance

0.5.0 Release Plan

This is an issue for 0.5.0 release planning. Please feel free to submit feature requests you want to have in the next release.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.