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