vol_label_color_flicker — VOLCOLOR diagnose op

資料種類:voxeltable

呼叫:import volcolor; volcolor.vol_label_color_flicker(vol_binary, axis='z', seed: 'int' = 0, connectivity: 'int' = 26, connectivity_2d: 'int' = 8)(或 opsvolcolor.get("vol_label_color_flicker"))

用法

數出「先分割再上色」與「先上色再分割」的差異。

> 以下的詳細說明為原文 —— 摘要與標題已翻譯。

同じ 2 値ボリュームに対して 2 通りの手順を踏む:

A. スライスごと ―― 各断面を 2-D で連結成分ラベリングし、

:func:imgio.colorize_labels と同じパレットで色を付ける。

断面ごとに番号が振り直されるので、同じ部品でも層が変われば色が変わりうる。

B. ボリュームで ―― :func:volops.vol_label でラベリングしてから

:func:vol_colorize_labels で色を付け、あとで切る。

返りは dict:

`n_components 3-D 成分数 · n_slices` 断面の数 ·

`slices_with_change` A で 1 つ以上の成分の色が変わった断面の本数 ·

`changed_pairs` A で色が変わった (成分, 断面) の組の数 ·

`changed_components` A で一度でも色が変わった成分の数 ·

`volume_slices_with_change / volume_changed_pairs` /

`volume_changed_components` B の同じ量(構造上 0) ·

`pairs_checked` 比較した (成分, 断面) の総数 ·

`flicker_rate changed_pairs / pairs_checked`。

比較の定義:各 3-D 成分 `c について、c` が現れる最初の断面での色を

基準とし、以降の断面で `c` の画素の最頻色が基準と違えば 1 件と数える

(1 つの 3-D 成分が 1 断面で複数の 2-D 片に割れることがあるため、代表は

最頻色。同数の場合は RGB の辞書順で小さい方 = 決定的)。

実測(`(24, 48, 48)`・16 球の参照ファントム、seed=0、axis="z"、

`connectivity=26 / connectivity_2d=8):pairs_checked=108`、

`slices_with_change=20 / 24changed_pairs=62`(57.4 %)、

`changed_components=16 / 16`。B 側は 3 つとも 0 ―― **構造上 0 であって、

たまたま 0 なのではない**(ラベル番号がボリューム全体で一意だから)。

Raises `ValueError` for a bad volume, an unknown *axis*, or a *connectivity*

that is not 6 / 18 / 26 (2-D: 4 / 8).

參考(範例資料・文獻)

• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。

• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。

• 演算法的正典(作者・年份)與用途見上面的族使用指南

可執行的範例(實際呼叫該運算子並已驗證的樣例)

voxel_labels_colorpy -3.11 examples/voxel_labels_color.py

型別可銜接的下一個運算子(可接受 table 作為輸入)

同類別(diagnose)


*Provenance: volcolor.py — VOLCOLOR 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*

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