ImageJ

ImageJは、アメリカ国立衛生研究所(NIH)によって開発されたオープンソースのJavaベースの画像処理ソフトウェアであり、生物学や医学研究をはじめとする科学的画像データの解析に広く使用されている。このプラットフォームは、顕微鏡画像、時間経過画像、医療画像など、多様な画像タイプの処理と分析をサポートし、閾値設定、フィルタリング、物体のカウント、距離測定などの基本的な画像処理機能から定量的データ分析までを行うことができる。ImageJの大きな特徴はその拡張性であり、ユーザーが開発したプラグインやマクロを通じて機能をカスタマイズできるため、研究者にとって非常に柔軟なツールとなっている。

ImageJの使い方

MatDaCsツール試用レポート:ImageJ

1. はじめに

今回、MatDaCsに掲載されているツール「ImageJ」を試用しました。このレポートでは、ツールの基本情報、使用方法、実際の使用感を報告します。

2. ツールの概要

  • ツール名: ImageJ
  • 提供元: アメリカ国立衛生研究所(NIH)
  • 用途: 画像処理ソフト
  • 主な機能:
    • 閾値測定
    • フィルタリング
    • 物体のカウント
    • 距離測定

今回は物体のカウントの仕方を試してみた結果をまとめました。

3. 使用方法

3.1. インストール手順

1. 公式サイトからダウンロードしました。 https://imagej.net/ij/download.html

 

3.2. 基本的な操作方法

基本的にはGUIで操作しました。今回は使用しませんでしたが、スクリプトを実行する形式も可能です。

  1. メニューからFile -> Openで画像ファイルをひらく
  2. 画像の前処理を行う。Image-> Type -> 8-bitでグレースケールに変更する
  3. カウントしたいオブジェクトが強調表示されるように閾値を設定する。Image -> Adjust -> Thresholdで操作する。最後にApplyを押す。
  4. バイナリ画像の生成。閾値を適用したあと画像を白黒のバイナリに変換する。Process -> Binary -> Make Binary
  5. オブジェクトの解析。Analyze -> Analyze Particlesとする。カウントしたオブジェクトの大きさはSize円に近いものを選ぶ際はCircularityを調整する。カウントされたオブジェクトを強調表示するにはShowからOverlay Masksを指定した。

 

 

(a):物体のカウントのテストに使ったテスト画像。
(b): ImageJにカウントしてもらった結果。確かに5個物体があることをカウントできた。

 

3.3. 少し発展的な操作方法

物体に重なりがある場合に正しくカウントできるかを試してみた。

  1. メニューからFile -> Openで画像ファイルをひらく
  2. 画像の前処理を行う。Image-> Type -> 8-bitでグレースケールに変更する
  3. カウントしたいオブジェクトが強調表示されるように閾値を設定する。Image -> Adjust -> Thresholdで操作する。最後にApplyを押す。
  4. 重なり部分を分解する (watershed)。Process -> Binary -> Watereshed
  5. オブジェクトの解析。Analyze -> Analyze Particlesとする。カウントしたオブジェクトの大きさはSize円に近いものを選ぶ際はCircularityを調整する。カウントされたオブジェクトを強調表示するにはShowからOverlay Masksを指定した。

 

(a):物体のカウントのテストに使ったテスト画像。
(b): ImageJにカウントしてもらった結果。確かに7個物体があることをカウントできた。

4. 実際の使用感

4.1. 使用環境

  •  OS: MacOS

4.2. 操作のしやすさ

  • GUIで感覚的に操作できた。
  • 物体が重なっている場合も自動的に分割できてよかった。

4.3. パフォーマンス

  • 単純なサンプル画像だが思った通りの動作をしてくれた。

5. まとめ

今回試用した「ImageJ」は、直感的に操作できて、重なり部分を自動的に分割するといった便利な機能もあったが印象的でした。実際の研究での画像処理をする際は活用したいと思います。