viser
viser copied to clipboard
Web-based 3D visualization + Python
pip install viser
•
Documentation
viser
is a library for interactive 3D visualization + Python, inspired by
tools like Pangolin,
rviz,
meshcat, and
Gradio. It's designed to support
applications in 3D vision and robotics.
As a standalone visualization tool, viser
features include:
- Python API for visualizing 3D primitives in a web browser.
- Python-configurable GUI elements: buttons, checkboxes, text inputs, sliders, dropdowns, and more.
- A meshcat and tf-inspired coordinate frame tree.
The viser.infra
backend can also be used to build custom web applications. It
supports:
- Websocket / HTTP server management, on a shared port.
- Asynchronous server/client communication infrastructure.
- Client state persistence logic.
- Typed serialization; synchronization between Python dataclass and TypeScript interfaces.
Installation
You can install viser
with pip
:
pip install viser
To run examples:
# Clone the repository.
git clone https://github.com/nerfstudio-project/viser.git
# Install the package.
# You can also install via pip: `pip install viser`.
cd ./viser
pip install -e .
# Run an example.
pip install -e .[examples]
python ./examples/02_gui.py
After an example script is running, you can connect by navigating to the printed
URL (default: http://localhost:8080
).
See also: our development docs.
Examples
Point cloud visualization
https://github.com/nerfstudio-project/viser/assets/6992947/df35c6ee-78a3-43ad-a2c7-1dddf83f7458
Source: ./examples/07_record3d_visualizer.py
Gaussian splatting visualization
https://github.com/nerfstudio-project/viser/assets/6992947/c51b4871-6cc8-4987-8751-2bf186bcb1ae
Source: WangFeng18/3d-gaussian-splatting and heheyas/gaussian_splatting_3d.
SMPLX visualizer
https://github.com/nerfstudio-project/viser/assets/6992947/78ba0e09-612d-4678-abf3-beaeeffddb01
Source: ./example/08_smpl_visualizer.py