まずは、事例を見てみましょう。
実行すると、以下のようになります。(下のウィンドウをご覧下さい。)
前回と同様に、getImageによって、画像情報を取得し、impに代入しています。
しかし、今回は、impに含まれている項目についてより詳細な情報を取り出しています。
全部で8項目ありますね。
しかし、今回は、impに含まれている項目についてより詳細な情報を取り出しています。
全部で8項目ありますね。
ここで、{}という記号に、何やら沢山の情報が書かれていて見慣れないと思いますので、簡単に紹介します。
{}とは、辞書リストというもので、ちょうど辞書のようにページ番号に対して紐づいた内容を
表示するもので、{要素:中身}という順番で記述し、中身の情報を出力する時は[要素:中身]と記述します。
ここでは、print "image type:",types[imp.type]とありますので、typesという辞書リストの中で、対応する画像の種類を表示します。今回の場合は、カラー画像だったので、ImagePlus.COLOR_RGBに対応しており、image type: RGBと表示されます。
ところで、試しにどんな画像でもよいので、画像ファイルのプロパティを見てみましょう。
ほぼ同じような情報が表示されていることが分かると思います。
次に、チュートリアルのObtaining pixel statistics of an image (and your first function)をご覧下さい。
次に紹介するのは、幅とか画像の種類とか、簡単に分かる情報だけでなく、最も高い値、平均の値、中央値などの統計情報について取得する方法です。以下のコードをご覧下さい。
{}とは、辞書リストというもので、ちょうど辞書のようにページ番号に対して紐づいた内容を
表示するもので、{要素:中身}という順番で記述し、中身の情報を出力する時は[要素:中身]と記述します。
ここでは、print "image type:",types[imp.type]とありますので、typesという辞書リストの中で、対応する画像の種類を表示します。今回の場合は、カラー画像だったので、ImagePlus.COLOR_RGBに対応しており、image type: RGBと表示されます。
ところで、試しにどんな画像でもよいので、画像ファイルのプロパティを見てみましょう。
ほぼ同じような情報が表示されていることが分かると思います。
次に、チュートリアルのObtaining pixel statistics of an image (and your first function)をご覧下さい。
次に紹介するのは、幅とか画像の種類とか、簡単に分かる情報だけでなく、最も高い値、平均の値、中央値などの統計情報について取得する方法です。以下のコードをご覧下さい。
こちらのコードを実行すると、以下のような情報を得ることが出来ます。
まず、冒頭の宣言の中で、from ij.process import ImageStatistics as IS という項目があります。
このImageStatisticsは、扱う画像の統計情報に関するClassを示しています。ijというImageJの機能をまとめた
モジュールを扱う過程で、統計情報を使いますよということを言っています。as ISというのは、ISという形で書くと
いう意味です。
具体的には、例えば、画像の一部を関心領域(ROI)とした時に、その中のヒストグラム等の統計量を調べています。
ここでは、options = IS.MEAN | IS.MEDIAN | IS.MIN_MAX とあるように、MEAN(平均値)、MEDIAN(中央値)、MIN_MAX(最小値・最大値)という3つの項目について情報を取得するよと言っています。
それから、stats = IS.getStatistics(ip, options, imp.getCalibration())という形で統計情報を取得し、
return ~で情報を出力しているのですが、ここでよく見ると、ipというまた見慣れない表記があります。
ここで、皆さん、ipとは一体何だと思いますか?もしimpに近いもの?と思われた方はほぼ正解です!
ipとは、image processorの略で、ここでは2次元の画像を指しています。画像1スライスに対応しています。
impと違うのは、impの場合は奥行きや時間軸など3次元や4次元の情報を持っていることです。
impの場合は、z軸方向のスライスを持つ画像データのこともあります。
さて、これまでの画像解析処理は、画像全体から主な情報を取り出していました。
次回以降は、ピクセル単位で編集を行うような画像解析処理を行います。
以下のコードを見て予習してみて下さい!
このImageStatisticsは、扱う画像の統計情報に関するClassを示しています。ijというImageJの機能をまとめた
モジュールを扱う過程で、統計情報を使いますよということを言っています。as ISというのは、ISという形で書くと
いう意味です。
具体的には、例えば、画像の一部を関心領域(ROI)とした時に、その中のヒストグラム等の統計量を調べています。
ここでは、options = IS.MEAN | IS.MEDIAN | IS.MIN_MAX とあるように、MEAN(平均値)、MEDIAN(中央値)、MIN_MAX(最小値・最大値)という3つの項目について情報を取得するよと言っています。
それから、stats = IS.getStatistics(ip, options, imp.getCalibration())という形で統計情報を取得し、
return ~で情報を出力しているのですが、ここでよく見ると、ipというまた見慣れない表記があります。
ここで、皆さん、ipとは一体何だと思いますか?もしimpに近いもの?と思われた方はほぼ正解です!
ipとは、image processorの略で、ここでは2次元の画像を指しています。画像1スライスに対応しています。
impと違うのは、impの場合は奥行きや時間軸など3次元や4次元の情報を持っていることです。
impの場合は、z軸方向のスライスを持つ画像データのこともあります。
さて、これまでの画像解析処理は、画像全体から主な情報を取り出していました。
次回以降は、ピクセル単位で編集を行うような画像解析処理を行います。
以下のコードを見て予習してみて下さい!
また、参考までにFijiのドキュメント(http://javadoc.imagej.net/Fiji/)と、FijiのAPI(http://imagej.nih.gov/ij/developer/api/index.html)について紹介しておきます。
どんな関数やクラスがあるのか見てみると面白いと思います。
どんな関数やクラスがあるのか見てみると面白いと思います。
13 件