Skip to main content


Basic usage

Basic Stack Viewport UsageDisplays a single image in a Stack Viewport.
Stack Viewport APIDemonstrates how to interact with a Stack viewport (e.g. Set VOI Range, Next/Previous Images, Flip H/V, Rotate, Invert, Zoom/Pan, Reset)
Stack Viewport EventsDemonstrates the Events that are fired during interaction with a Stack Viewport
Stack Viewport Canvas-to-WorldDemonstrates how to obtain the coordinates in the 3D world from a coordinate on the canvas.
Basic Volume Viewport UsageDisplays a set of DICOM images in a Volume Viewport.
Volume Viewport APIDemonstrates how to interact with a Volume viewport (e.g. Set VOI Range, Change Camera Position / Orientation, Change Slab Thickness, Flip H/V, Rotate, Invert, Zoom/Pan, Reset)
Volume Viewport EventsDemonstrates the Events that are fired during interaction with a Volume Viewport
Multiple Volumes in a Volume ViewportDemonstrates how to interact with a Volume viewport when using multiple volumes (e.g. for PET/CT fusion).
Multiple Volume Canvas-to-WorldDemonstrates how to use the canvasToWorld API to find the intensity value of each volume on mouse hover
Poly Data Actor in a Volume ViewportDemonstrates how to render poly data with a Volume viewport
Legacy DICOMweb (WADO-URI) SupportDemonstrates how to support retrieval of entire Part 10 DICOM files directly via URL
Load Web images of PNG or JPG formatDemonstrates how render web images in a stack viewport

Basic usage of Tools library

Multiple Tool GroupsDemonstrates the usage of multiple tool groups for a set of viewports.
Stack Manipulation ToolsDemonstrates several manipulation tools (window/level, pan, zoom) as well as Stack Viewport-specific scrolling
Annotation Tool ModesDemonstrates the various tool modes for annotation tools (active, passive, enabled, disabled)
DICOM P10 from the local file systemProvides an interface to load a DICOM P10 image from your local file system to the Cornerstone3D
DICOM P10 from the local file system using CPUCornerstone3D uses WebGL for rendering by default (if available) and a fallback to CPU. This example force rendering on CPU for debugging purposes.
Stack Annotation ToolsDemonstrates usage of various annotation tools (Probe, Rectangle ROI, Elliptical ROI, Bidirectional measurements) on a Stack Viewport.
Volume Annotation Tools Demonstrates annotation using the Length tool in a Volume Viewport (on axial, sagittal, and oblique views)
Annotation Selection and LockingDemonstrates how to toggle the Locked and Selected states for Annotations
Viewports Reset CameraDemonstrates various options that are available for resetting camera on viewports
Annotation changing visibilityDemonstrates how to toggle the Visibility state for Annotations
Binding Tools with Modifier KeysDemonstrates how to bind a tool to a keyboard and mouse combination (e.g. shift+click, ctrl+click)
Magnify ToolDemonstrates the usage of the magnification tool
CINE ToolDemonstrates the usage of the CINE tool
Labelmap Segmentation RenderingDemonstrates how to add a Labelmap to the viewports for rendering
Segmentation SwappingDemonstrate how to display segmentations on a volume viewport, and swap which segmentation is being displayed
Freehand ROI ToolDemonstrates drawing of both open and closed freehand ROIs (contour tool) on stack and volume viewports
Global Segmentation ConfigurationDemonstrates how to set a global configuration for segmentation representations
ToolGroup Specific Segmentation ConfigurationDemonstrate how to change the configuration of how a specific tool group displays segmentations through via segmentation representations
Segment-specific Segmentation ConfigurationDemonstrates how to change the configuration of a specific segment
Segmentation Tools - Brush, ScissorsDemonstrates how to use manual segmentation tools to modify the segmentation data
Segmentation SwappingDemonstrate how a segment can be locked such that it cannot be edited by segmentation tools
Manipulation Tools with Poly Data in a Volume Viewport APIDemonstrates how to interact with a Volume viewport (Pan, Zoom, Rotate) by mouse events
Volume Viewport OrientationDemonstrates you can switch between different orientation of a volume viewport
Referencing CursorsDemonstrates how to synchronize the cursor between multiple viewports

Advanced usage

Prioritizing Slices during Volume LoadingDemonstrates how to customize the slice loading order using the streaming-image volume loader

Advanced usage of Tools library

Maximum Intensity Projection (MIP) - Jump to ClickDemonstrates how to obtain the location of the maximum value along the ray in a MIP view, and then navigate another set of viewports to this location.
CrosshairsHere we demonstrate crosshairs linking three orthogonal views of the same data
Reference LinesDemonstrate reference line tool for rendering viewports location with respect to each other
PET-CT Fusion + MIPLayoutPT-CT fusion layout with Crosshairs, and synchronized cameras, CT W/L and PET threshold
Shared Tool StateDemonstrates that annotations are stored on frame of reference, and can therefore be shared between Stack and Volume Viewports.
StackViewport <--> VolumeViewport Demonstrates how annotations are preserved and rendered correctly even when a stack viewport is converted to a volume viewport and vice versa. This is an advanced usage for MPR
Volume Viewport SynchronizationDemonstrates how to set up synchronization between viewports for viewport-level (e.g. camera) and actor-level (e.g. VOI) properties.
Rendering Labelmap Segmentations with Different ResolutionsDemonstrates that the segmentation resolution need not to be the same as the source data
Rectangle ROI Threshold SegmentationDemonstrates how to use the rectangle roi tool to perform threshold segmentation
Cancel Annotation DrawingDemonstrates how to use the keyboard (ESC) key to cancel annotation drawing.