|
| 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 | + |
| 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 | + |
| 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 | + |
| 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 | + |
| 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 | + |
| 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