状态
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。