Skip to content
/ pan3d Public

Python library for easily loading, interacting and visualizing XArray dataset using VTK and trame.

License

Notifications You must be signed in to change notification settings

Kitware/pan3d

Repository files navigation

Pan3D

Kitware Logo

Documentation Status Binder Build Status PyPI Version License

Pan3D aims to be an utility package for viewing and processing a wide variety of multidimensional datasets. Any dataset that can be interpreted with xarray can be explored and rendered with Pan3D. Read The Doc is available for additional information.

XArray Viewer is a Pan3D application focused on geospatial rendering use cases. This is a graphical user interface leveraging the Pan3D infrastructure to help geospatial scientists explore data.

For an introduction to this project, check out our blog post.

Installation

To install requirements for the Pan3D VTK mesh builder class only:

pip install pan3d

To install requirements for the graphical user interface (viewers + explorers):

pip install "pan3d[viewer]"

Optional: to install requirements for Pangeo and ESGF catalogs, respectively:

pip install "pan3d[pangeo]"

pip install "pan3d[esgf]"

Recommended: To install all requirements, including optional packages:

pip install "pan3d[all]"

Quick Start

xr-viewer is the main entrypoint for launching XArray Viewer locally. Below are some example usages.

To launch XArray Viewer without a target dataset to browse XArray examples:

xr-viewer

To launch XArray Viewer with a local path to a target dataset:

xr-viewer --xarray-file ./examples/example_dataset.nc

To launch XArray Viewer with a remote URL to a target dataset:

xr-viewer --xarray-url https://host.org/link/to/dataset.zarr

To launch XArray Viewer with a compatible configuration file (see examples):

xr-viewer --import-state ./examples/example_config_xarray.json

To launch the Catalog browser will allow you to query the Pangeo and ESGF Dataset Catalogs (see Catalogs Tutorial) depending on the available dependencies:

xr-catalog

You may have to install the required dependencies:

pip install "pan3d[pangeo]"
pip install "pan3d[esgf]"

The xr-viewer entrypoint will automatically launch your default browser to open localhost:8080.

To launch without opening your browser, add the --server argument to your command.

Explorers

Another key component of Pan3D is its modular, web-based 3D visualization system built using trame. This system powers a suite of focused tools called Explorers, designed to be modular, reusable, and easily extended. Each Explorer is built around a specific task—think of them as "one-trick ponies" with clean interfaces tailored to their purpose. This avoids the clutter and complexity of general-purpose tools.

Pan3D currently includes four Explorer tools:

  • Slice Explorer – Navigate through 3D datasets by extracting 2D slices along any axis. Features interactive slice controls, dual 2D/3D view modes, and the ability to visualize slices within their 3D context using transparency and outlines. Perfect for exploring internal structures of volumetric data.

  • Globe Explorer – Visualize geographic data on a realistic 3D Earth. Projects latitude/longitude data onto a spherical surface with various texture options (satellite imagery, topography), continental outlines, and terrain elevation effects. Includes specialized camera controls optimized for globe navigation.

  • Contour Explorer – Generate smooth contour visualizations with color-banded regions between isolevels. Creates both filled contour bands and contour lines, with automatic surface refinement for publication-quality results. Ideal for visualizing scalar fields and identifying data patterns through isosurfaces.

  • Analytics Explorer – Combines interactive 3D visualization with statistical analysis powered by xCDAT. Provides multiple plot types including zonal averages, time series, and global statistics. Features a side panel with Plotly charts that update based on your 3D data selection, enabling deep data exploration through both visual and quantitative analysis

Launching the Explorers

Similar to the main XArray Viewer (xr-viewer), each explorer can be launched from the command line:

# Launch Slice Explorer
xr-slicer

# Launch Globe Explorer
xr-globe

# Launch Contour Explorer
xr-contour

# Launch Analytics Explorer
xr-analytics

Each explorer will automatically open your default browser to localhost:8080. To launch without opening your browser, add the --server argument to any command.

Tutorials

Examples

Pan3D comes with a set of example configuration files and example Jupyter notebooks in the examples folder. You can checkout the repository to run these locally, or you can use the Pan3D Binder instance to run these examples.

About

Python library for easily loading, interacting and visualizing XArray dataset using VTK and trame.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 9

Languages