Skip to content

3D Visualization Module Guide

The 3D Visualization module provides an interactive Three.js-based viewer for exploring surface meshes generated from segmentation data. You can rotate, zoom, and pan the mesh, adjust per-class visibility and opacity, and explore internal structures using slice range controls.

For a conceptual overview, see 3D Visualization.

3D Visualization module showing mesh with control panelThe 3D Visualization module displaying a multi-class mesh with per-class controls


Prerequisites

Before using this module, ensure you have:

  • A mesh JSON file generated by the Mesh Generation module
  • Or a compatible Three.js JSON mesh file uploaded to your workspace

Quick Start

  1. Launch module — Click "3D Visualization" from the workspace hub (or "Open in 3D Visualization" from Mesh results)
  2. Select mesh data — Choose a mesh JSON file from recent results or workspace
  3. Explore the mesh — Rotate with click-drag, zoom with scroll wheel
  4. Adjust display — Use class controls to toggle visibility and adjust opacity

Step-by-Step Guide

Step 1: Data Selection

Select the mesh data to visualize.

Step 1 showing mesh file selectionStep 1 data selection with mesh file options

Input Options

SourceDescriptionWhen to Use
Recent ResultsMesh outputs from the Mesh Generation moduleAfter generating a mesh
Workspace FilesPreviously saved mesh JSON filesRevisiting earlier work
UploadCustom mesh JSON filesExternal mesh data

File Requirements

  • Format: Three.js JSON mesh format (.json)
  • Content: Must contain vertex positions, faces, and class information
  • Source: Typically generated by the Mesh Generation module

Original Data Overlay

If the mesh was generated from a TIFF file in your workspace, the original imaging data can be overlaid on the 3D view. The module automatically detects this through data lineage tracking.

For more details, see Mesh Data Selection.

Click "Next: View in 3D" to proceed to Step 2.


Step 2: 3D Viewer

Explore your mesh interactively with full camera and display controls.

Step 2 showing the 3D viewer with controls panelInteractive 3D viewer with canvas and controls panel

Interface Layout

AreaLocationPurpose
3D CanvasLeft/CenterInteractive mesh rendering
Controls PanelRight sidePer-class visibility, opacity, and range controls
ToolbarBottom of canvasReset and expand buttons

Camera Controls

Control how you view the mesh using mouse, keyboard, or touch.

Mouse Controls

ActionHowEffect
RotateLeft-click + dragRotates mesh around X/Y axes
PanCtrl + drag (or Cmd + drag on Mac)Moves mesh in screen space
ZoomMouse wheel scrollZooms camera in/out
ResetDouble-clickResets view to default

Keyboard Controls

KeyEffect
Arrow keysRotate mesh (left/right = yaw, up/down = pitch)
Ctrl + Arrow keysPan mesh in screen space
RReset rotation and position
EscExit expanded/fullscreen mode

Touch Controls (Tablet/Mobile)

GestureEffect
Single finger dragRotate mesh
Two-finger pinchZoom in/out
Two-finger dragPan mesh

Tip: Double-click anywhere on the canvas to quickly reset the view to its default position and rotation.


Class Controls

Each segmented class has its own control panel for customizing its appearance.

Class control panel showing visibility, opacity, and rangePer-class controls for visibility, opacity, and slice range

Visibility Toggle

  • Checkbox next to class name
  • Check to show the class mesh
  • Uncheck to hide it
  • Useful when classes overlap and obscure each other

Opacity Slider

SettingRangeDefault
Opacity10% – 100%80%
  • Drag the slider to adjust transparency
  • Lower opacity reveals structures behind the surface
  • The visual fill shows current opacity level

Slice Range (for slice-based meshes only)

Some meshes support slice range selection to reveal internal structures:

ControlPurpose
Left handleSet minimum visible slice
Right handleSet maximum visible slice
Range indicatorShows percentage of slices visible

Note: Slice range controls only appear for meshes generated with the VoxelSlices format. Standard surface meshes show only visibility and opacity.

For more details, see Visualization Controls.


Original Data Overlay

If your mesh was generated from a TIFF in your workspace, you can overlay the original imaging data.

Original data overlay controlsOriginal imaging data overlay with opacity and range controls

ControlPurpose
VisibilityToggle original data planes on/off
OpacityAdjust transparency (5% – 100%, default 30%)
Slice RangeShow specific depth regions

The original data displays as textured planes that rotate with the mesh, providing anatomical context for the segmentation.


Toolbar Buttons

Located at the bottom of the 3D canvas:

ButtonAction
Reset ViewClears all rotations, pans, and resets controls to defaults
ExpandEnters fullscreen mode for larger viewing area

In expanded mode:

  • The canvas fills the entire viewport
  • Controls panel floats in the top-right corner
  • Click "Collapse" or press Esc to exit

Mouse and Keyboard Reference

InputAction
Left-dragRotate mesh
Ctrl + dragPan mesh
Scroll wheelZoom in/out
Double-clickReset view
Arrow keysRotate mesh
Ctrl + arrowsPan mesh
RReset rotation and position
EscExit expanded mode

Troubleshooting

IssueCauseSolution
Black screen / no meshWebGL not supported or mesh failed to loadCheck browser WebGL support; try refreshing
Mesh appears very smallAuto-scaling issueUse scroll wheel to zoom in
Can't see a classVisibility toggled off or fully transparentCheck visibility checkbox and opacity slider
Controls not respondingFocus may be on input fieldClick on the canvas to restore focus
Slice range not availableMesh format doesn't support slicingOnly VoxelSlices format meshes have range controls
Original data not showingSource TIFF not found via lineageRegenerate mesh from a workspace file

Module Overview:

Step-by-Step:

Part of DFG Priority Programme SPP2332 "Physics of Parasitism"