vol_label_overlay — VOLCOLOR colorize op

• 数据种类:voxel × labels → rgbvolume

• 调用: import fullseye as fs; fs.ledger.vol_label_overlay(vol, labels, seed: 'int' = 0, alpha: 'float' = 0.5, vmin=None, vmax=None, mode: 'str' = 'fill')(要直接调用实现,import volcolor; volcolor.vol_label_overlay(vol, labels, seed: 'int' = 0, alpha: 'float' = 0.5, vmin=None, vmax=None, mode: 'str' = 'fill');从台账取用则 opsvolcolor.get("vol_label_overlay"))

用法

在原灰度体上叠加彩色标签,返回 (D, H, W, 3)。

医用 CT / 工业 CT 中实际使用的形式 —— "只有分割的图" 看不出切出的是哪里,"只有原图的图"看不出测的是什么。

*vol* 为 (D, H, W)。显示窗口以 vmin / vmax 明确指定(None 时为 vol 的最小 / 最大)。之所以不隐式决定窗口,是因为窗口不同同一组织就会以不同亮度呈现,与 CT 的 window/level 是同一个理由。

*alpha* 从 0(保持原图)到 1(用颜色涂满)。*mode* 为 "fill"(涂满整个成分)或 "boundary"(只涂 6 邻域中相邻为其他标签的体素 = 轮廓显示,下面的结构完全可见)。

没有 background 参数。本 op 对标签 0 的体素完全不着色(那里就是原图本身),一次也不读取调色板第 0 行。接收了却什么也不做的参数,会变成"指定了背景色却不起作用"这种形式的无声谎言。

实测((24, 48, 48)、16 个成分、带噪声的灰色体,seed=0,mode="fill"):

前景体素上与原图的平均绝对差在 alpha=0.00 时为 0.0000, 0.25 时为 0.0679,0.50 时为 0.1359,0.75 时为 0.2038,1.00 时为 0.2718 —— 相对 alpha 为直线(确认合成是线性的)。背景体素不论 alpha 均为 0.0000(颜色只加在前景上)。

当 *vol* 与 *labels* 形状不同、*vol* 非有限、vmin >= vmax、*alpha* 在 [0, 1] 之外或 *mode* 未知时,抛出 ValueError。

参考(示例数据、文献)

• 示例数据目录(下载 URL / 许可证) —— 2-D 用 skimage.data(BSD/公有领域)加合成图,3-D 给出真实数据源(Stanford/PDS 等)的下载 URL。

• 算子来历与参考文献 —— 该算子族所依据的研究/方法出处。

• 算法的正典(作者、年份)与用途见上面的族使用指南。

可运行的示例(实际调用该算子并已验证的样例)

• voxel_labels_color — py -3.11 examples/voxel_labels_color.py

类型可衔接的下一个算子(可接受 rgbvolume 作为输入)

vol_label_slice_rgb · vol_label_mpr_rgb

同类别(colorize)

vol_colorize_labels


*Provenance: volcolor.py — VOLCOLOR 算子登记表。本条目由 tools/opdocs.py md 自动生成(请勿手工编辑)。*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.