Skip to main content

Utility package for processing and visualizing 3D datasets

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pan3d-1.2.0.tar.gz (4.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pan3d-1.2.0-py3-none-any.whl (4.3 MB view details)

Uploaded Python 3

File details

Details for the file pan3d-1.2.0.tar.gz.

File metadata

  • Download URL: pan3d-1.2.0.tar.gz
  • Upload date:
  • Size: 4.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pan3d-1.2.0.tar.gz
Algorithm Hash digest
SHA256 caf0aff2a4924a703bea26b1ff4069f671ec52c266d74312506008081c15f461
MD5 6b5b2860330875ac8b0529689e53b9f4
BLAKE2b-256 40a04d861ef45e9ad42900790c7e3963d4046622d1deec9fbaf84ce4d319bd14

See more details on using hashes here.

Provenance

The following attestation bundles were made for pan3d-1.2.0.tar.gz:

Publisher: test_and_release.yml on Kitware/pan3d

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pan3d-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: pan3d-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 4.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pan3d-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 096f7155731f31694071d5a8460b6a792ddab7c1fdeb502e96253eecbdbc9198
MD5 c269964831c4d763b9434f57969a969f
BLAKE2b-256 3298b2f4aa1de7c450f50675371046362303078657c67b32a5412a89969a6068

See more details on using hashes here.

Provenance

The following attestation bundles were made for pan3d-1.2.0-py3-none-any.whl:

Publisher: test_and_release.yml on Kitware/pan3d

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page