2016年9月30日 更新

シリーズ3.ImageJマクロ言語を用いた画像解析~①輝度の統計量 ~

今回からはマクロ言語を用いた画像処理の実例をご紹介します。

95,290 view お気に入り 1
5、
ROI ManagerのMeasureをクリックする。Resultsが表示されるので、これをFileからエクセルファイルとして保存する。
 (2007)

6、
測定した輝度の分布を確かめるためにHistogramを出力し、保存する。グラムが表示されるので保存する。メニューバーのAnalyze→Histogramをクリックすると下図のようなヒストグラムが表示されるので保存する。
 (2009)

【マクロ言語で記載する】

 (2012)

上記のImageJで画像に施した操作をマクロ言語で書くと以下のようになります。※上記の①~⑥までの操作で輝度統計量は測定できますが、下記のように背景領域を5つ選択し、その輝度の平均値を差し引く操作を追加したスクリプトを作成しました。
◆スクリプト
 (2014)

※1 中心のxy座標が (102, 183) x軸に平行な長さが74、y軸に平行な長さが42

※2 背景輝度を含んだ細胞輝度を変数originalMeanに代入しました。

※3 for文;プログラムにおいて繰り返しを命令するときに用いられる構文のことです。

for(最初に始める数字; 繰り返しの回数; 処理終了後に実行する命令)
{
繰り返しを行う処理に対応する命令文を記載する。
};
*for構文では変数と初期値を必要とし、多くの場合、変数iを0に設定してi=0と書かれることが多いです。例えば10回繰り返すときはfor(i=0; i<10; i++) のように書きます。

※4 背景輝度の合計

※5 背景輝度の平均値

※6 選択した領域の輝度から背景輝度を差分処理しました。

※7 saveAsに記載する保存先は目的のパスを書きます。
◆画像処理の結果
 (2017)

上記のスクリプトを実行すると、手動操作で出力された結果と同じ結果が得られることが確認できます。原画像の輝度値から背景の輝度値を差し引いた細胞の真の輝度値を出力することができましたか?実際の画像解析ではこのように複雑な処理をする場合がよくありますので理解しておくと応用範囲も広がります。

【まとめ】

マクロ言語を用いて輝度統計量を出力する手法が理解できたでしょうか。
今回紹介したスクリプトにはマクロ言語でよく用いられる1行で書かれた命令文だけでなく、新しい変数 (originalMean、backMean、subInt) による数値演算と、for文による繰り返し処理も習いました。
これら上記の処理を併せることでマクロ言語の書き方をより深く理解できたと思います。次回以降も画像解析の実例に加えて、できるだけ多くマクロ言語の書き方を紹介していきたいと思います。次回第二回目はIf文を使った条件分岐で二値化処理を施す手法を紹介します。
30 件

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

ディジタル画像処理~pythonによる空間フィルタリングpart1~ 

ディジタル画像処理~pythonによる空間フィルタリングpart1~ 

ディジタル画像処理を解説します.今回は,代表的な空間フィルタリングをpythonで実行してみました。
亀谷 桃子 | 13,487 view
Julia と画像処理②〜画像のセグメンテーション(Seed Region Growing とFelzenszwalbアルゴリズム)〜

Julia と画像処理②〜画像のセグメンテーション(Seed Region Growing とFelzenszwalbアルゴリズム)〜

プログラミング言語「julia」を用いて画像処理を行います.インストールに続き,今回は画像のセグメンテーションのライブラリを用いて,セグメンテーションを行います.
画像の一部を消すInpainting という技術とその実装 (python)

画像の一部を消すInpainting という技術とその実装 (python)

Python + OpenCVにより,画像の修復の技術,「Inpainting 」の実装を行います.
2月のイベントがアツい・・・「Deep Learning×画像解析」ライトニングトークイベント by LP-tech

2月のイベントがアツい・・・「Deep Learning×画像解析」ライトニングトークイベント by LP-tech

2月のイベントについて告知します! (画像出展:https://i.ytimg.com/vi/czLI3oLDe8M/maxresdefault.jpg)
ImageJ Plugin で数値計算をしてみる #5

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

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

この記事のキーワード

この記事のキュレーター

エルピクセル編集部 エルピクセル編集部