2017年3月5日 更新

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

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

62,421 view お気に入り 0
open("C:\\Users\\Hiro\\Downloads\\Rat_Hippocampal_Neuron2.zip");
run("Split Channels") ;
selectWindow("C3-Rat_Hippocampal_Neuron2.tif");
run("8-bit");
run("Options...", "iterations=1 count=1 black");//*1
run("8-bit");
getStatistics(area, mean, min, max, std, histogram); //*2
print(“mean=”, mean);
setAutoThreshold("Otsu"); //*3
//run("Threshold...");
setAutoThreshold("Otsu dark"); //*4
//setThreshold(90, 255);
run("Convert to Mask");
run("Analyze Particles...", "size=5-Infinity show=Outlines display summarize"); //*5
パターン①蛍光画像

パターン②明視野画像

 (3425)

Black Backgroundの✓をはずす、,Dark Backgroundの✓をはずす

run("Embryos (42K)");
run("8-bit");
run("Options...", "iterations=1 count=1");//*1
getStatistics(area, mean, min, max, std, histogram); //*2
print(“mean=”, mean);
setAutoThreshold("Otsu"); //*3
//setThreshold(0, 103);
setOption("BlackBackground", false); //*4
run("Convert to Mask");
//setTool("polygon");
makePolygon(3,3,3,1194,867,1188,864,1017,1584,1026,1590,6);
run("Analyze Particles...", "size=100-Infinity show=Outlines display summarize");//*5
パターン②明視野画像
注釈では各行に記載されたスクリプトの意味を示します。
*1;ImageJ背景の設定
*2;統計量取得
*3;自動閾値設定
*4;背景と二値化処理との対応
*5;粒子解析
最後にこれまで書いてきた記事とその概要を以下に示しました。シリーズ6からはより応用的な内容になっていますので1から5を理解しておくと記事が読みやすいと思います。
マクロの文法のまとめは以下のリンク先も参考にしてみてください。
(シリーズ5.ImageJマクロ言語を用いた画像解析~マクロ言語のまとめ~https://lp-tech.net/articles/q0ii2)

シリーズ1.ImageJの基礎~画像とは~

https://lp-tech.net/articles/Myfdc
【概要】
画像の種類とピクセル、bit深度、座標などこれからImageJを用いて画像処理を実行していくために必要な基本的な知識を紹介しました。

シリーズ2.ImageJの基礎~自動処理用開発言語 (マクロ)

https://lp-tech.net/articles/4fqE3
【概要】
マクロとはImageJで使われる自動処理用開発言語です。この言語で画像処理の操作を記述するとマニュアルでやっていた画像処理を自動化することが可能になります。ひとつひとつの画像処理のステップをマクロで記述する方法についはBuilt-in Macro Functionsに掲載されていますが、その多くはrun(“操作の命令文“);という書き方で実行することができます。

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

https://lp-tech.net/articles/X31Q9
【概要】
ImageJでは解析対象となる画像からさまざまな統計量 (面積 (単位はpixels) 、平均値、標準偏差、歪度、尖度、平均値)を取得することができます。特にライフサイエンス領域の研究では画像から、面積や輝度値を解析することが重要になります。

シリーズ3.ImageJマクロ言語を用いた画像解析~②二値化処理-1~

https://lp-tech.net/articles/wIEoF
【概要】
二値化処理は画像を白と黒の2色で表現し、領域を前景と背景の2つに分ける手法です。画像を二値化処理することによって数や面積、形態の測定などの画像解析が可能になります。二値化にはOtsu法やPercentile法に代表される自動二値化と解析者が設定する固定値を閾値とした二値化があります。
68 件

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

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

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

【記事の目標】 画像を触ったことがない人を対象として、適切な画像解析を施すまでのImageJのマクロ言語を用いた学習過程を示す。
ImageJを使った体積測定

ImageJを使った体積測定

共焦点顕微鏡が普及している現在、簡単にできそうな体積の測定ですが、意外に手こずることがあります。 「面積は簡単だったから体積だって!」という方、読んでみてください。
シリーズ6.マクロ言語を使った画像処理の応用編~ノイズ軽減① 空間フィルタ処理~

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

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

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

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

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

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

この記事のキーワード

この記事のキュレーター

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