この記事では、CaImAn(Calcium Imaging Analysis)というツールを紹介します。
公式サイト(https://github.com/flatironinstitute/CaImAn)
このソフトでは、カルシウムイメージングの動画のモーションコレクションから、細胞の取り出し、信号のデコンボリューションまでする様々な機能があります。現在のカルシウムイメージングの解析ツールのスタンダードであると思われます。
CaImAnはPython版とMATLAB版がありますが、Python版のインストール方法が煩雑で日本語資料が無いので以下にまとめます。
(MATLAB版の方が使い方が簡単なので、MATLABを持っている方にはそちらがお勧めです。)
##CaImAnのインストール
インストール方法はリンク先のInstallationにある通りです。Python 3.6推奨で、AnacondaもしくはMinicondaが必要です。macやlinuxはbashのコマンドを実行するだけでインストールできますが、windowsの場合は少し複雑です。
以下windowsで2018年末ごろに試して上手くいった場合になります。
まず前提として、Visual Studio 2017の”C++によるデスクトップ開発Tools”、”C/C++ CLI Tools”をインストールする必要があります。
マイクロソフトのホームページからVisual Studioの2017をダウンロードしましょう。Community Editionは無料です。
そのあとインストーラーを起動して、”C++によるデスクトップ開発Tools”と”C/C++ CLI Tools”の2つのワークロードにチェックを入れてインストールしましょう。
次にAnacondaにCaImAn用の仮想環境を作成します。
anaconda promptでコマンドを実行していきましょう。
git clone https://github.com/flatironinstitute/CaImAn
cd CaImAn
conda env create -f environment.yml -n caiman
これでAnacondaにcaimanという仮想環境が作られました。次にC:\Users(ユーザー名)\Anaconda3\envs\caiman\以下のフォルダにある2つファイルの操作をしましょう。
- 「keras_activate.bat」を開いて、KERAS_BACKENDという環境変数をtheanoからtensorflowにする。
- 「vs2015_compiler_vars.bat」というを削除する。
そうしたらCaImAnをインストールしましょう。
conda install -n caiman vs2017_win-64
activate caiman
pip install .
copy caimanmanager.py ..
conda install numba
cd ..
次に実行スクリプトや解析データを入れるフォルダを作りましょう。
caimanmanager.py install
これでカレントディレクトリにcaiman_dataというフォルダができました。解析はこのフォルダ内で行うのがいいと思います。
##デモのコードを実行してみる
\caiman_data\demos\generalにあるdemo_caiman_basic.pyがデモコードとして使えます。
実行して動くかどうかを確認しましょう。
cd caiman_data\demos\general
demo_caiman_basic.py
実行すると以下のような画面が出てきます。
これは細胞の形を抽出したものです。番号が振られています。
そしてこちらは各細胞の輝度変化、つまり電気活動の変化を表しています。方向キーで細胞を切り替えて表示できます。
このデモコードでは動画(example_moviesフォルダにあるdemoMovie.tif)から点滅する細胞を抽出したということになります。コード内のパラメーターを調整することで結果も変化します。
##終わりに
これで、Python版のCaImAnが使えるようになりました。
MATLAB版の使い方やデコンボリューションの方法を別記事にする予定です。
細胞抽出のアルゴリズムですが、CNMF(条件付きの非負値行列因子分解)を用いて候補領域を取り出した後、CNN(畳み込みニューラルネットワーク)を用いて細胞かどうかの判定を行っているようです。