search
LoginSignup
2

posted at

ImageJ と cellpose を使って、細胞画像の輝度値を測定する。(4)

目的

顕微鏡撮影した細胞画像から、細胞膜領域と細胞質基質領域の範囲を選び、その平均輝度値を求めたい!

使用するアプリケーションは、以下の通りです。

  • Fiji (ImageJ)     
    -画像解析ソフト
  • anaconda               
    -Python を動かすところ
  • cellpose           ←今回は、これを動かしてみます!
    -Python で書かれた細胞画像の分節化に特化した、deep-leaning に基づくアルゴリズム

上記アプリケーション(プラグインを含む)のインストールや、解析に必要なマクロを記録していきます。

PC の環境

Windows 10

この記事の範囲

cellpose で細胞画像のSegmentation を行う。

前準備(imagej_roi_converter を Fiji にインストールする)

cellpose で細胞画像の Segmentation をした後、ImageJ (Fiji) に結果を持ってきて、更なる解析を行いたいと思います。
例えば、不要な領域を消去したり、作成した関心領域(ROI)の平均輝度値を求めるなど。
そのため、cellpose の結果をImageJ の ROI Manager に登録させるプラグインをインストールする必要があります。

まず、以下のリンクに行きます。

Github での cellpose のページ

このページには、cellpose のアップデート情報や困ったときのヒントが載っています。
ここに、上記の ImageJ に結果を登録させるプラグインもあるので、ここからダウンロードをします。

  1. ページの右上にある、緑色の[Code▼]をクリックして、Download ZIP をクリックし、ダウンロードします。

  2. ZIP ファイルを展開します。フォルダは、どこでも大丈夫です。

  3. 展開した "cellpose-master" フォルダの中にある、[imagej_roi_converter.py] を、C:\Users[your name]\Fiji.app\plugins に格納します。
    なぜ、このフォルダに入れるのか、については、
    ImageJ と Cellpose を使って、細胞画像の輝度値を測定する。(1)
    に、記載しています。

  4. Fiji を起動して、メニューバーの Plugins を見ると、一番下に[imagej_roi_converter] が追加されています。

cellpose で Segmentation をやってみる。

注意!

2022年3月時点での最新版 cellpose (v1.0) で操作しています。cellpose をアップデートすると、画面構成が変わることがあります。

  1. cellpose を起動します。
    cellpose の起動の仕方は、ImageJ と Cellpose を使って、細胞画像の輝度値を測定する。(3) に記載しています。

  2. Segmentation をさせたい画像を、cellpose にドラッグ&ドロップします。
    この操作で、画像を load することができます。

  3. 下に表示されている赤い丸は、細胞の大きさを示します。画像の中の細胞の大きさに合わせる必要があります。条件設定の画面の中央らへんに、cell diameter (pixels) (click ENTER) とあるので、細胞のおおよその大きさ (pixel数) を入力して Enter を押します。この値は、計算結果に大きく影響します。

  4. モデルを設定します。細胞質を Segmentation したい場合は、cyto もしくは cyto2 を選択します。核を Segmentation したい場合は、nuclei を選択します。

  5. Segmentaion をさせたい細胞や核の領域が、背景より暗い場合は、invert grayscale にチェックを入れます。

  6. run segmentation をクリックすると、計算を始めます。結果が予想と異なる場合は、条件を変えて試してみます。

  7. 計算結果を保存する場合は、File > Save Outlines as text for imageJ を選択します。すると、元画像のあるフォルダに [元画像のファイル名_cp_outlines.txt] が保存されます。

  • 今回は、グレースケールの画像を用いた場合の設定について記載しました。RGB のマルチチャンネル画像にも対応しているようですので、その場合は設定を変更させてください。

cellpose の結果を Fiji に反映させる

上記で得られた Segmentation の結果を、Fiji の ROI Manager に出力させます。

  1. Fiji で、Segmentation に用いた画像を開きます。

  2. Fiji のメニューバーから、Plugin > imagej_roi_converter をクリックします。

  3. cellpose で出力した、[元画像のファイル名_cp_outlines.txt] を選択します。

  4. ROI Manager に Segmentation 結果が ROI として登録されます。

不要な ROI は消去し、細胞領域もしくは核領域の平均輝度値を求めることなどができます。

良好な Segmentation 結果を得るために

cellpose での設定の仕方(cell diameter など)もとても大事ですが、他の deep-leaning による画像認識と同様、cellpose も画像のコントラストなどに大きく影響を受けます。

よって、cellpose に画像を load する前に、Fiji で画像を前処理しておくことをおすすめします。

例えば、Fiji のメニューバーから Process > Enhance Contrast... を起動し、輝度値の分布を標準化させたり、ヒストグラムを平坦化させたりし、コントラストを強調させることで、良好な Segmentation 結果が得られることがあります。

また、メディアンフィルタをかけて背景のノイズ消去をしたり、ガウシアンフィルタをかけて画像の輪郭を滑らかにしたりすることも有効だと思います。

次回、細胞領域の Segmentation 結果から、細胞膜領域を選択する Macro を記載する予定です。

以上!

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
2