Examples
Basic usage
Example | Description |
---|---|
Basic Stack Viewport Usage | Displays a single image in a Stack Viewport. |
Stack Viewport API | Demonstrates 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 Events | Demonstrates the Events that are fired during interaction with a Stack Viewport |
Stack Viewport Canvas-to-World | Demonstrates how to obtain the coordinates in the 3D world from a coordinate on the canvas. |
Basic Volume Viewport Usage | Displays a set of DICOM images in a Volume Viewport. |
Volume Viewport API | Demonstrates 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) |
3D Volume Rendering | Demonstrates how to 3D render a volume and apply a preset |
Volume Viewport Events | Demonstrates the Events that are fired during interaction with a Volume Viewport |
Multiple Volumes in a Volume Viewport | Demonstrates how to interact with a Volume viewport when using multiple volumes (e.g. for PET/CT fusion). |
Multiple Volume Canvas-to-World | Demonstrates how to use the canvasToWorld API to find the intensity value of each volume on mouse hover |
Poly Data Actor in a Volume Viewport | Demonstrates how to render poly data with a Volume viewport |
Legacy DICOMweb (WADO-URI) Support | Demonstrates how to support retrieval of entire Part 10 DICOM files directly via URL |
Basic Volume using streaming WADOURI | Demonstrates how to displays a DICOM series (via URL) in a Volume viewport |
Load Web images of PNG or JPG format | Demonstrates how render web images in a stack viewport |
Basic usage of Tools library
Example | Description |
---|---|
Multiple Tool Groups | Demonstrates the usage of multiple tool groups for a set of viewports. |
Stack Manipulation Tools | Demonstrates several manipulation tools (window/level, pan, zoom) as well as Stack Viewport-specific scrolling |
Stack Manipulation Tools Touch | Demonstrates several manipulation tools (window/level, pan, zoom) as well as Stack Viewport-specific scrolling for mobile touch |
Annotation Tool Modes | Demonstrates the various tool modes for annotation tools (active, passive, enabled, disabled) |
DICOM P10 from the local file system | Provides an interface to load a DICOM P10 image from your local file system to the Cornerstone3D |
DICOM P10 from the local file system using CPU | Cornerstone3D uses WebGL for rendering by default (if available) and a fallback to CPU. This example force rendering on CPU for debugging purposes. |
Stack Annotation Tools | Demonstrates 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 Locking | Demonstrates how to toggle the Locked and Selected states for Annotations |
Viewports Reset Camera | Demonstrates various options that are available for resetting camera on viewports |
Annotation changing visibility | Demonstrates how to toggle the Visibility state for Annotations |
Binding Tools with Modifier Keys | Demonstrates how to bind a tool to a keyboard and mouse combination (e.g. shift+click, ctrl+click) |
Magnify Tool | Demonstrates the usage of the magnification tool |
CINE Tool | Demonstrates the usage of the CINE tool |
Labelmap Segmentation Rendering | Demonstrates how to add a Labelmap to the viewports for rendering |
Contour Segmentation Representation | Demonstrates how to use the Contour Segmentation Representation |
Surface Segmentation Representation | Demonstrates how to use the Surface Segmentation Representation |
Segmentation Swapping | Demonstrate how to display segmentations on a volume viewport, and swap which segmentation is being displayed |
Freehand ROI Tool | Demonstrates drawing of both open and closed freehand ROIs (contour tool) on stack and volume viewports |
Global Segmentation Configuration | Demonstrates how to set a global configuration for segmentation representations |
ToolGroup Specific Segmentation Configuration | Demonstrate how to change the configuration of how a specific tool group displays segmentations through via segmentation representations |
Segment-specific Segmentation Configuration | Demonstrates how to change the configuration of a specific segment |
Segmentation Tools - Brush, Scissors | Demonstrates how to use manual segmentation tools to modify the segmentation data |
Segmentation Swapping | Demonstrate how a segment can be locked such that it cannot be edited by segmentation tools |
Manipulation Tools with Poly Data in a Volume Viewport API | Demonstrates how to interact with a Volume viewport (Pan, Zoom, Rotate) by mouse events |
Volume Viewport Orientation | Demonstrates you can switch between different orientation of a volume viewport |
Referencing Cursors | Demonstrates how to synchronize the cursor between multiple viewports |
Double Click With Stack Annotation Tools | Demonstrates double click detection before/during/after using various annotation tools on a stack viewport. |
Advanced usage
Example | Description |
---|---|
Prioritizing Slices during Volume Loading | Demonstrates how to customize the slice loading order using the streaming-image volume loader |
Advanced usage of Tools library
Example | Description |
---|---|
Maximum Intensity Projection (MIP) - Jump to Click | Demonstrates 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. |
Crosshairs | Here we demonstrate crosshairs linking three orthogonal views of the same data |
Reference Lines | Demonstrate reference line tool for rendering viewports location with respect to each other |
PET-CT Fusion + MIPLayout | PT-CT fusion layout with Crosshairs, and synchronized cameras, CT W/L and PET threshold |
Shared Tool State | Demonstrates 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 Synchronization | Demonstrates 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 Resolutions | Demonstrates that the segmentation resolution need not to be the same as the source data |
Rectangle ROI Threshold Segmentation | Demonstrates how to use the rectangle roi tool to perform threshold segmentation |
Cancel Annotation Drawing | Demonstrates how to use the keyboard (ESC) key to cancel annotation drawing. |