「【ImageJ】細胞の核を数える」シリーズでは、ImageJを使って自動での核の数を数えることを目指しています。
この記事では、輝度閾値で選択した核の領域を分割する方法の模索第二弾として、ImageJプラグインである「Interactive Watershed」を使っていきます。
第一弾はこちら↓
ImageJで使うプラグインを知る
「Interactive Watershed」が公開されているサイトに行くと、プラグインに関する情報が書かれています。
一読しておきましょう。(全て英語です)
まず、Watershedの基本的な考え方について簡単にまとめていきます。
画像の輝度を山・谷で表現すると下のようになります。
次に作った山・谷の低いところから徐々に水を浸水させて(flooding)いき、
二つの最小値が合流したところで二つを分割。
floodingは画像を全て覆った時点で終了します。
ImageJに既に搭載されている「Watershed」についてはこちらの記事にもまとめています。
このプラグインの特徴は、
あらかじめ局所的な輝度の極大値、極小値を探索し、結果の流域を計算しておくので、
パラメーターが更新されると新しいセグメンテーションが迅速に作られることです。
新しく作られたセグメンテーションの結果は画像にオーバーレイされるので値の設定が簡単というメリットがあります。
Interactive Wateshedを使うときに知っておきたい値としては、閾値と局所的な最大値です。
閾値(T)とは、floodingをが終了する値。
floodingは画像全体が覆われるまで行われますが、閾値を設定することで指定した領域だけを分割することができます。
局所的な最大値(H-maxima)とは、隣接する全てのピクセル値が低くなる画像領域のこと。
画像内の多くの局所的な最大値はノイズなので、領域に対する適切な最大値を選択する必要がある。
Interactive Watershedプラグインを使う
基本的な使い方
- 解析したい画像を開く
多次元画像の場合は、一つのチャネル、タイムポイントを切り出す
- メニュー->SCF -> labelling -> Interactive H-Watershedで立ち上げる
二つのウィンドウが開く
- 適切なセグメンテーションができたら、exportボタンを押して、ラベルマップ画像を作る
と言うのが基本的な使い方です。
詳しい使い方について、もう少し見ていきましょう。
コントロールパネルの見方
コントロールパネルは、下のようになっています。
上から見ていきましょう。
- Seed dynamicsを調節すると...
局所的な最大値を変えることができます。局所的な最大値が小さすぎると、いろんな最大値(ノイズも含まれる)を拾ってしまうので、適切な値にすると良い。 - Intensity thresholdを調節すると...
流域停止基準(T)を調節することができます。Tを大きくすると、選択領域のサイズが小さくなっていきます。 - Display Styleを調節すると...
分割がどのように行われているかの表示方法を変えることができます。Imageでは、セグメンテーションのラベルマップをそのまま表示、contour overlayでは領域の輪郭を元画像にオーバーレイ、solid overlayでは領域の形状を元画像にオーバーレイ表示されます。 - export regions maskにチェックを入れると...
二値画像に分割線が入ったものが表示されます。ImageJでさらに解析できる形になります。
Interactive Watershedで細胞を計数する
では、サンプル画像を使って計数してみます。
を、8-bit画像に変換してInteractive Watershedを使って分割し、Analyze Particlesで解析すると...
計数結果は7となりました。人の目で数えると8。
前回記事のAdjustable Watershedで苦労した、3つの核が集まっているところも分け目は違うものの三つにきちんと分かれています。
Interactive Watershedの方がビジュアライズされていてわかりやすいなと言う印象。
次からは、Interactive Watershedを使って細胞を計数するプログラムを組んでいきたいと思います。
ImageJを使って核を計数するシリーズはこちら↓