Skip to main content
Version: 3.10

New Architecture

New Architecture

  • Viewport-Centric Architecture

    • Previous: Segmentations were tied to toolGroups
    • Now: Segmentations are tied directly to viewports
    • Impact: More granular control but requires significant code changes
  • Representation Management

    • Previous: Required managing segmentation representation UIDs
    • Now: Uses simpler segmentationId + type combination
    • Impact: Simplified but requires API updates

If you are not familiar with the difference between a segmentation and a segmentation representation, below

Read More

In Cornerstone3DTools, we have decoupled the concept of a Segmentation from a Segmentation Representation. This means that from one Segmentation we can create multiple Segmentation Representations. For instance, a Segmentation Representation of a 3D Labelmap, can be created from a Segmentation data, and a Segmentation Representation of a Contour can be created from the same Segmentation data. This way we have decouple the presentational aspect of a Segmentation from the underlying data.

Similar relationship structure has been adapted in popular medical imaging softwares such as 3D Slicer with the addition of polymorph segmentation.

Architecture Overview

The new architecture in Cornerstone3D 2.0 makes a clear distinction between:

  • A segmentation (the data structure containing segments)
  • A segmentation representation (how that segmentation is visualized in a specific viewport)

Let's now review what has changed