[scikit-image] 1. rgb2hedによるカラーデコンボリューション

python

はじめに

本記事では、scikit-imageライブラリの中のrgb2hed関数を用いたカラーデコンボリューション(color deconvolution)について解説します。カラーデコンボリューションは、主に病理画像処理において、染色された組織画像から染色成分を分離する技術です。この技術により、特定の染色成分のみを抽出して解析することが可能になり、医療画像解析や研究において非常に重要なツールとなっています。

コード

コードをダウンロード(.pyファイル)

コードをダウンロード(.ipynbファイル)

解説

モジュールのインポート

カラーマップの作成

LinearSegmentedColormap.from_listで、[色1,色2]のように指定すると、色1から色2へ均等に遷移するカラーマップが生成されます。最初の引数mycmapは、生成されるカラーマップの名前になります。

画像の読み込み

hedへの変換

RGBをHaematoxylin-Eosin-DAB (HED) に変換します。その他にも、色々な色変換があります。

skimage.color — skimage 0.26.0rc0.dev0 documentation

画像の表示

ImageGridで画像を均等に表示します。図の順番は左上が0,右上が1, 左下が2, 右下が3となる。それぞれに作成したカラーマップを適用して表示しました。

分離した画像の操作

ある特定の色の画像のみを抽出して、再表示することができます。

rescale_intensityは画像のコントラストを調整するメソッドで、out_rangeパラメータにより出力画像の強度レベルを設定できます。また、np.dstack()関数は複数の2次元配列を3次元方向に結合する役割を果たします。

まとめ

scikit-imageのrgb2hed関数を使ったカラーデコンボリューションは、病理画像から各染色成分を効果的に分離することができます。この技術により、医療画像解析における特定構造の検出や定量化が可能になり、診断支援や研究において重要な役割を果たしています。適切な前処理と組み合わせることで、より正確な解析結果を得ることができるでしょう。

参考

Separate colors in immunohistochemical staining — skimage 0.25.2 documentation
matplotlib.colors.LinearSegmentedColormap — Matplotlib 3.10.6 documentation
skimage.exposure — skimage 0.26.0rc0.dev0 documentation
numpy.dstack — NumPy v2.3 Manual

コメント