Fiji (ImageJ) の中で、cellpose を動かす




# 目的
顕微鏡撮影した細胞画像から、細胞領域の範囲を選び、その平均輝度値を求めたい！

使用するアプリケーションは、以下の通りです。
- Fiji (ImageJ)　　　　　        
-画像解析ソフト
- anaconda 　　　　　　　　　　　　　　
-Python を動かすところ
- cellpose　　　　　　　　　　　
-Python で書かれた細胞画像の分節化に特化した、deep-leaning に基づくアルゴリズム

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

#### 1年半以上前に記事にした、[ImageJ と cellpose を使って、細胞画像の輝度値を測定する。（４）](https://qiita.com/Naka24-sun/items/f7d47171657629431a45) では、cellpose を anaconda から立ち上げていましたが、現在は Fiji の中でcellpose を動かしているので、その方法を紹介します。


### PC の環境
Windows 10

# この記事の範囲
Fiji の中で、cellpose による Segmentation を行う。

# 前準備（ Fiji に、プラグインをインストールする）
### cellpose wrapper のインストールと初期設定
##### 注意！
[cellpose wrapper] は、既にインストールされている cellpose を、Fiji の中から動かすためのプラグインです。
つまり、これだけをインストールしても、cellpose が正常に動く環境がなければ意味がありません。cellpose のインストールの方法は、以下の記事を参照ください。
[ImageJ と Cellpose を使って、細胞画像の輝度値を測定する。（２）](https://qiita.com/Naka24-sun/items/df672b12e2daa016e8cb)
[ImageJ と Cellpose を使って、細胞画像の輝度値を測定する。（３）](https://qiita.com/Naka24-sun/items/a717d2dc1b3519112fff)

##### 手順
1) Fiji のメニューバーから、Help>Update... を選択します。
2) ImageJ Updater というウインドウが現れるので、左下の"Manage update sites" をクリック。
3) "PTBIOP" の名前を探し、左側のチェックボックスをクリックして、Close をクリック。
4) ImageJ Updater ウインドウに、"PTBIOP" が追加されているので、Apply changes をクリックして、インストールスタート。
5) Fiji を再起動し、メニューバーの Plugins を開くと、BIOP > Cellpose が追加されています。
6) Plugins > BIOP > Cellpose > Cellpose setup... を開きます。
7) CellposeEnvDirectory に、cellpose の仮想環境の path を入れます。（例えば、C:\anaconda\envs\cellpose など）
8) EnvType は、python のインストール方法に合わせて conda か venv を選びます。
9) 計算の方法やcellpose のバージョンなどを選択して、OK をクリック。

以上の手順は、[GitHub のページ](https://github.com/BIOP/ijl-utilities-wrappers)にあります。ご参照ください。


蛇足ですが、BIOP のプラグインには他にも便利なプラグインがいっぱい入っています。例えば、[Multi Stack Montage] は、複数の stack 画像をつなげて montage 画像にすることができます！



### LabelsToROIs のインストール
以前の [ImageJ と Cellpose を使って、細胞画像の輝度値を測定する。（４）](https://qiita.com/Naka24-sun/items/f7d47171657629431a45) では cellpose の計算結果を Fiji の ROI Manager に登録するのに [imagej_roi_converter] というプラグインを使いましたが、今回は他のプラグイン [Labels To ROIs] を使うので、それを予めインストールします。

##### 手順
[LabelsToROIs のページ ](https://labelstorois.github.io/)からzip ファイルをダウンロードし、中に入っている [Labels_To_Rois.py] ファイルを Fiji の pluginsフォルダに入れます。

Fiji の pluginsフォルダってどこ？ という方は、[ImageJ と Cellpose を使って、細胞画像の輝度値を測定する。（１）](https://qiita.com/Naka24-sun/items/e1cec6febf3a0cac3859#fiji-%E3%81%B8%E3%81%AE%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E8%BF%BD%E5%8A%A0%E3%81%AE%E6%96%B9%E6%B3%95) をご参照ください。

# Fiji の中で、cellpose を動かす

1. Segmentation をさせたい画像を Fiji で開きます。
良好な Segmentation 結果を得るための画像のヒントについては、[コチラ](https://qiita.com/Naka24-sun/items/f7d47171657629431a45#%E8%89%AF%E5%A5%BD%E3%81%AA-segmentation-%E7%B5%90%E6%9E%9C%E3%82%92%E5%BE%97%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AB) をご参照ください。

2. 細胞のおおよその直径を測定します。
Fiji のツールバーにある、"Straight Line" ツールを使い、おおよその直径を把握します。


3. Cellpose Wrapper を開きます。
Plugins > BIOP > Cellpose > Cellpose Advanced を開きます。

4. Diameter に、2. で測定した細胞の直径を入れます。

5. Model を選択します。細胞質を Segmentation したい場合は、`cyto`　もしくは `cyto2` を選択します。核を Segmentation したい場合は、`nuclei` を選択します。

6. 必要に応じて他の条件を変更し、OK をクリックすると計算が始まります。計算途中の経過は、Window > Console から見れます。

7. 計算が終了すると、Segmentation 結果が表示されます。この結果を任意の名前で保存します。



# Segmentation 結果を ROI Manager に登録する

上記で得られた Segmentation の結果を、ROI Manager に登録します。

1. Plugins > LabelsToROIs-master > Labels To Rois をクリックし、起動します。

2. 現れたポップアップウインドウから、"Single Image" を選択します。

3. Path to label image の Browse を押し、上記で保存した Segmentation 結果のファイルを選択し、Next をクリック。

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

5. 一様に細胞の内側領域を ROI としたい場合（ROI を収縮させたい場合）は、"LabelsToRoi - ROI erotion" ウインドウの、"Number of pixels to erode" に収縮させたい pixel 数を入れ、"Update ROIs" をクリックすると、反映されます。




以上！