Skip to content

Commit 9d3ca11

Browse files
committed
fix(docs): Adding explorer documentation
1 parent 560c570 commit 9d3ca11

7 files changed

Lines changed: 248 additions & 0 deletions

File tree

docs/README.md

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,11 +81,69 @@ You may have to install the required dependencies:
8181
> To launch without opening your browser, add the `--server` argument to your
8282
> command.
8383
84+
## Explorers
85+
86+
Another key component of Pan3D is its modular, web-based 3D visualization system
87+
built using trame. This system powers a suite of focused tools called Explorers,
88+
designed to be modular, reusable, and easily extended. Each Explorer is built
89+
around a specific task—think of them as "one-trick ponies" with clean interfaces
90+
tailored to their purpose. This avoids the clutter and complexity of
91+
general-purpose tools.
92+
93+
Pan3D currently includes four Explorer tools:
94+
95+
- **Slice Explorer** – Navigate through 3D datasets by extracting 2D slices
96+
along any axis. Features interactive slice controls, dual 2D/3D view modes,
97+
and the ability to visualize slices within their 3D context using transparency
98+
and outlines. Perfect for exploring internal structures of volumetric data.
99+
100+
- **Globe Explorer** – Visualize geographic data on a realistic 3D Earth.
101+
Projects latitude/longitude data onto a spherical surface with various texture
102+
options (satellite imagery, topography), continental outlines, and terrain
103+
elevation effects. Includes specialized camera controls optimized for globe
104+
navigation.
105+
106+
- **Contour Explorer** – Generate smooth contour visualizations with
107+
color-banded regions between isolevels. Creates both filled contour bands and
108+
contour lines, with automatic surface refinement for publication-quality
109+
results. Ideal for visualizing scalar fields and identifying data patterns
110+
through isosurfaces.
111+
112+
- **Analytics Explorer** – Combines interactive 3D visualization with
113+
statistical analysis powered by xCDAT. Provides multiple plot types including
114+
zonal averages, time series, and global statistics. Features a side panel with
115+
Plotly charts that update based on your 3D data selection, enabling deep data
116+
exploration through both visual and quantitative analysis
117+
118+
### Launching the Explorers
119+
120+
Similar to the main XArray Viewer (`xr-viewer`), each explorer can be launched
121+
from the command line:
122+
123+
```bash
124+
# Launch Slice Explorer
125+
xr-slicer
126+
127+
# Launch Globe Explorer
128+
xr-globe
129+
130+
# Launch Contour Explorer
131+
xr-contour
132+
133+
# Launch Analytics Explorer
134+
xr-analytics
135+
```
136+
137+
Each explorer will automatically open your default browser to `localhost:8080`.
138+
To launch without opening your browser, add the `--server` argument to any
139+
command.
140+
84141
## Tutorials
85142

86143
- [How to use XArray Viewer](tutorials/dataset_viewer.md)
87144
- [XArray Viewer command line](tutorials/command_line.md)
88145
- [Catalogs Tutorial](tutorials/catalogs.md)
146+
- [How to use Pan3D Explorers](tutorials/explorers.md)
89147
- [How to use Pan3D in a Jupyter notebook](tutorials/jupyter_notebook.md)
90148

91149
## Examples

docs/images/AnalyticsExplorer.png

Lines changed: 3 additions & 0 deletions
Loading

docs/images/ContourExplorer.png

Lines changed: 3 additions & 0 deletions
Loading

docs/images/GlobeExplorer.png

Lines changed: 3 additions & 0 deletions
Loading

docs/images/SliceExplorer.png

Lines changed: 3 additions & 0 deletions
Loading

docs/images/common.png

Lines changed: 3 additions & 0 deletions
Loading

docs/tutorials/explorers.md

Lines changed: 175 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,175 @@
1+
# Pan3D Explorers Tutorial
2+
3+
## Introduction
4+
5+
Pan3D provides four specialized visualization tools called Explorers, each
6+
designed for specific data exploration tasks. These focused tools offer clean,
7+
intuitive interfaces tailored to their purpose, avoiding the complexity of
8+
general-purpose visualization software.
9+
10+
## Getting Started
11+
12+
Install Pan3D with viewer capabilities:
13+
14+
```bash
15+
pip install "pan3d[viewer]"
16+
```
17+
18+
Each explorer can be launched from the command line with optional data sources:
19+
20+
```bash
21+
# Launch with interactive data selection
22+
xr-slicer
23+
xr-globe
24+
xr-contour
25+
xr-analytics
26+
27+
# Launch with specific data
28+
xr-slicer --xarray-file ./data.nc
29+
xr-globe --xarray-url https://example.com/data.zarr
30+
xr-contour --import-state ./config.json
31+
```
32+
33+
## Slice Explorer
34+
35+
**Purpose**: Navigate through 3D volumes by extracting 2D slices along any axis.
36+
37+
**Best for**: Atmospheric data, medical imaging, geological surveys, or any
38+
volumetric dataset requiring cross-sectional analysis.
39+
40+
![Slice Explorer](../images/SliceExplorer.png)
41+
42+
**Key Features:**
43+
44+
- **Axis Slicing**: Extract 2D slices along X, Y, or Z axes
45+
- **View Modes**: 2D orthogonal or 3D perspective visualization
46+
- **Volume Context**: Display outline and apply transparency to 3D data
47+
- **Dynamic Updates**: Real-time slice rendering as position changes
48+
49+
**Example Use Case**: Explore temperature layers in atmospheric data by slicing
50+
along altitude to understand thermal stratification.
51+
52+
**Launch Command**: `xr-slicer`
53+
54+
## Globe Explorer
55+
56+
**Purpose**: Visualize geographic data on a realistic 3D Earth with accurate
57+
projection.
58+
59+
**Best for**: Climate data, oceanographic measurements, satellite observations,
60+
or any dataset with latitude/longitude coordinates.
61+
62+
![Globe Explorer](../images/GlobeExplorer.png)
63+
64+
**Key Features:**
65+
66+
- **Texture Options**: Satellite imagery, topography, political boundaries
67+
- **Continental Outlines**: Overlay continent boundaries on data
68+
- **Terrain Elevation**: Apply bump mapping for topographic effects
69+
- **Sphere Projection**: Map latitude/longitude data to 3D globe
70+
71+
**Example Use Case**: Visualize global temperature anomalies with continental
72+
context to identify regional climate patterns.
73+
74+
**Launch Command**: `xr-globe`
75+
76+
## Contour Explorer
77+
78+
**Purpose**: Create smooth contour visualizations with color-banded regions
79+
between isolevels.
80+
81+
**Best for**: Scalar fields, topographic data, gradient analysis, or any dataset
82+
requiring isoline visualization.
83+
84+
![Contour Explorer](../images/ContourExplorer.png)
85+
86+
**Key Features:**
87+
88+
- **Banded Regions**: Generate filled areas between contour levels
89+
- **Contour Lines**: Overlay black isolines on banded regions
90+
- **Level Control**: Set number and range of contour values
91+
- **Surface Smoothing**: Apply loop subdivision for refined contours
92+
93+
**Example Use Case**: Analyze ocean temperature at specific depths to identify
94+
thermoclines and current patterns.
95+
96+
**Launch Command**: `xr-contour`
97+
98+
## Analytics Explorer
99+
100+
**Purpose**: Combine 3D visualization with statistical analysis for
101+
comprehensive data exploration.
102+
103+
**Best for**: Time series analysis, spatial statistics, trend detection, or any
104+
dataset requiring both visual and quantitative insights.
105+
106+
![Analytics Explorer](../images/AnalyticsExplorer.png)
107+
108+
**Key Features:**
109+
110+
- **Statistical Plots**: Zonal, temporal, and global analysis charts
111+
- **Temporal Grouping**: Aggregate data by year, month, day, or hour
112+
- **xCDAT Integration**: Leverage climate analysis algorithms
113+
- **Data Synchronization**: 3D view and plots update together
114+
115+
**Example Use Case**: Analyze seasonal temperature patterns by combining 3D
116+
visualization with monthly statistical plots.
117+
118+
**Launch Command**: `xr-analytics`
119+
120+
## Common Features
121+
122+
All explorers share these capabilities:
123+
124+
### Data Management
125+
126+
- Load from files, URLs, or configuration states
127+
- Support for xarray-compatible formats
128+
- State export/import for reproducibility
129+
130+
### Visualization Controls
131+
132+
![Common Controls](../images/common.png)
133+
134+
- **Time Navigation**: Slider, play/pause, step controls for temporal data
135+
- **Color Mapping**: Presets, custom ranges, interactive scalar bar
136+
- **Scale Controls**: Independent X/Y/Z scaling for different unit scales
137+
138+
### Performance Tips
139+
140+
- Use data stepping/striding for large datasets
141+
- Crop to regions of interest
142+
- Start with lower resolution, increase as needed
143+
144+
## Choosing the Right Explorer
145+
146+
| Explorer | Best For |
147+
| ------------- | -------------------------------------------------------- |
148+
| **Slice** | Volumetric data, internal structures, cross-sections |
149+
| **Globe** | Geographic data, global patterns, Earth visualization |
150+
| **Contour** | Value ranges, smooth gradients, publication figures |
151+
| **Analytics** | Statistical analysis, time series, quantitative insights |
152+
153+
## Integration Example
154+
155+
Use explorers in Jupyter notebooks:
156+
157+
```python
158+
from pan3d.explorers.slicer import SliceExplorer
159+
160+
# Create and display explorer
161+
explorer = SliceExplorer()
162+
await explorer.ui.ready
163+
164+
# Launch the interactive explorer within jypyter notebook
165+
explorer.ui
166+
167+
# Export configuration
168+
config = explorer.export_state()
169+
```
170+
171+
## Additional Resources
172+
173+
- [Configuration API Documentation](../api/configuration.md)
174+
- [Jupyter Integration Tutorial](jupyter_notebook.md)
175+
- [Command Line Reference](command_line.md)

0 commit comments

Comments
 (0)