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