状态
SegmentationState
存储有关 Segmentation
和 SegmentationRepresentation
当前状态的所有信息。在2.x版本中,我们将 Segmentation
与其表示分离,并使系统专注于视口而非工具组。通过 Segmentation
,可以创建多种表示(目前支持标签图、轮廓和表面)。
色彩查找表(ColorLUT)
SegmentationState
存储一个 colorLUT
数组,用于渲染分割表示。Cornerstone3DTools
初始添加了255种颜色([[0,0,0,0], [221, 84, 84, 255], [77, 228, 121, 255], ...]
)作为该数组的第一个索引。默认情况下,所有分割表示使用第一个 colorLUT
。然而,通过在配置中使用色彩API,您可以将更多颜色添加到全局 colorLUT
,并/或在特定视口中更改特定分割表示的 colorLUT
。
分割
SegmentationState
将所有分割存储在一个数组中。每个 Segmentation
对象存储用于创建 SegmentationRepresentation
的所需信息。
每个分割对象具有以下属性:
{
segmentationId: 'segmentation1',
label: 'segmentation1',
segments: {
0: {
segmentIndex: 0,
label: 'Segment 1',
active: true,
locked: false,
cachedStats: {}
},
1: {
segmentIndex: 1,
label: 'Segment 2',
active: false,
locked: false,
cachedStats: {}
}
},
representationData: {
Labelmap: {
volumeId: 'segmentation1'
},
Contour: {
geometryIds: ['contourSet1', 'contourSet2']
},
Surface: {
geometryId: 'surface1'
}
}
}
segmentationId
: 消费者提供的必填字段。它是分割的唯一标识符。label
: 分割的标签。segments
: 包含每个分割的相关信息的对象,包括其标签、活动状态、锁定状态和缓存的统计信息。representationData
: 最重要的部分,这是存储每种类型的SegmentationRepresentation
创建数据的地方。例如,在Labelmap
表示中,所需的信息是缓存的volumeId
。