2017年3月11日 更新

ImageJを使った体積測定

共焦点顕微鏡が普及している現在、簡単にできそうな体積の測定ですが、意外に手こずることがあります。 「面積は簡単だったから体積だって!」という方、読んでみてください。

1,562 view お気に入り 0

簡単にできる(はずの)体積測定

共焦点顕微鏡や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]をクリックすると以下のパネルが出ます。
ObjectCounterパネル

ObjectCounterパネル

パネルではデータをみながら測定対象とするセグメントを定義する閾値を決めます。 一つの画像で閾値を決めても別のSlice(別の深さの画像)で適切かどうかは保証できません。 全てのSliceで意図に合った閾値となる値を探してください。そのような値がない場合は、 計測の前にフィルタなどの画像処理を施す必要があります。 パネル内の"Size filter:"のパラメータは測定対象とする範囲を定め、対象外は測定結果に含めません。単位はvoxelです。 "Exclude objects on edges"のチェックは画像の縁に触れるもの(画面からはみ出しているもの)を測定結果から除外するかどうかを決めます。 "Maps to show:"以後のチェックは下に示す測定結果を表示するかどうかで、以下の解析結果の説明で示します。

解析結果

パラメータを設定してOKボタンを押すと、しばらく計算時間がとられ(何も表示がないので不安になりますが、待てば結果が出るはずです!) なにやらウィンドウがいくつか出現します。以下、簡単に解説をします。
30 件

関連する記事 こんな記事も人気です♪

シリーズ6.マクロ言語を使った画像処理の応用編~ノイズ軽減② 空間フィルタ処理~

シリーズ6.マクロ言語を使った画像処理の応用編~ノイズ軽減② 空間フィルタ処理~

【記事の目標】 画像を触ったことがない人を対象として、適切な画像解析を施すまでのImageJのマクロ言語を用いた学習過程を示す。
総括① ImageJマクロ言語による画像処理―画像の基礎から二値化処理まで―

総括① ImageJマクロ言語による画像処理―画像の基礎から二値化処理まで―

多くのライフサイエンスの研究領域では顕微鏡で撮像した画像から輝度値や面積など各種統計量の計測や画像に写っている細胞数や粒子数の計数化などの定量化がImageJを用いて行われています。 ImageJマクロシリーズの記事では、このようなライフサイエンスの研究で実際によく使われる画像処理をマクロ言語で自動化することを目標に学習を進めてきました。本稿では総括①としてImageJのマクロ言語を用いた画像解析の学習シリーズ1~5までで学んだ内容をまとめました。
シリーズ6.マクロ言語を使った画像処理の応用編~ノイズ軽減① 空間フィルタ処理~

シリーズ6.マクロ言語を使った画像処理の応用編~ノイズ軽減① 空間フィルタ処理~

【記事の目標】 画像を触ったことがない人を対象として、適切な画像解析を施すまでのImageJのマクロ言語を用いた学習過程を示す。 今回の記事から応用編としてさらに詳しく画像処理を学んでいきます。最初のテーマはノイズ軽減です。
YoutubeでImageJ チュートリアル1 - インストール・セットアップ・プラグイン

YoutubeでImageJ チュートリアル1 - インストール・セットアップ・プラグイン

Fiji(ImageJにあらかじめ様々なプラグインがインストールされているもの)のインストールの仕方。新しいプラグインのインストールの方法を動画として紹介します。
北村 旭 | 445 view
ImageJ Plugin で数値計算をしてみる #5

ImageJ Plugin で数値計算をしてみる #5

非情報科学研究者 (特に生物系研究者) が ImageJ plugin を作るために超えるべき壁やTipsをまとめます。今回は、面積の平均値や中央値、分散を出力するためのコードをご紹介します。
湖城 恵 | 1,154 view

この記事のキーワード

この記事のキュレーター

塚田 祐基 (Yuki Tsukada) 塚田 祐基 (Yuki Tsukada)