簡単にできる(はずの)体積測定
共焦点顕微鏡やCTなどのデータは画像を重ね合わせたスタックとして扱うことで3次元的なデータを表現します。
当然、体積の測定もできるはずで、ImageJを使えば簡単にできる、と思いきや、つまずいた方はいませんか?
原理的には単純で簡単にできる体積測定ですが、実際に行う際のコツや気をつける点をまとめてみます。
デモデータ
今回はデモ用に蛍光ビーズのzスタック画像を用意しました。ここからダウンロードできます。
データをImageJで読み込み、表示すると真っ暗で何も見えなかったりするかもしれませんが、[Image -> Adjust -> Brightness/Contrast...]
とクリックしてコントラストを調整するパネルを表示し、調整することでくっきりと8つの蛍光ビーズが見えるはずです。さらに、
背景ノイズを確認するために弱いシグナルを可視化するようにコントラストを調整すると、以下の写真のようにバックグラウンドノイズが乗っている
いることが分かります。
解析操作
計測時には測定対象を決めるためのセグメンテーションをしますが、セグメンテーションの際にはノイズが邪魔になります。
データ表示で確認したバックグランドノイズを取り除くために、解析前に簡単な画像処理をしましょう。
ノイズを取り除くためには様々な処理がありますが、今回はメディアンフィルタを使います。メディアンフィルタは
細かなノイズを取り除くとともにもともとの構造(輪郭)を比較的保存することが知られており、今回のような処理にはうってつけです。
[Process -> Filters -> Median...] とクリックするとパネルが出てくるので、フィルタの大きさを決めてOKボタンを押します。
今回はradiusを2.0にしました。
フィルタをかけた後、測定を行います。体積を測れるImageJのプラグインはいくつかありますが、
Fijiのメニュー[Analyze]に組み込まれている3D Object Counterを使ってみます。
このプラグインはフランス国立科学研究所のFabrice Cordelièresによって作成されています。
蛍光ビーズのデータファイルを開いたまま、[Analyze -> 3D Object Counter]をクリックすると以下のパネルが出ます。
パネルではデータをみながら測定対象とするセグメントを定義する閾値を決めます。
一つの画像で閾値を決めても別のSlice(別の深さの画像)で適切かどうかは保証できません。
全てのSliceで意図に合った閾値となる値を探してください。そのような値がない場合は、
計測の前にフィルタなどの画像処理を施す必要があります。
パネル内の"Size filter:"のパラメータは測定対象とする範囲を定め、対象外は測定結果に含めません。単位はvoxelです。
"Exclude objects on edges"のチェックは画像の縁に触れるもの(画面からはみ出しているもの)を測定結果から除外するかどうかを決めます。
"Maps to show:"以後のチェックは下に示す測定結果を表示するかどうかで、以下の解析結果の説明で示します。
解析結果
パラメータを設定してOKボタンを押すと、しばらく計算時間がとられ(何も表示がないので不安になりますが、待てば結果が出るはずです!)
なにやらウィンドウがいくつか出現します。以下、簡単に解説をします。