5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

CaImAnの一連のパイプラインを動かす

Last updated at Posted at 2019-12-28

前の記事(https://qiita.com/takeajioka/items/96effe312ac80f808d9e )では、
MATLAB版CaImAnの内部アルゴリズム(細胞抽出とデコンボリューション)について書きましたが、CaImAnの機能はそれだけではありません。
論文を読むと、Motion Correction機能や大規模データに対応するメモリマッピング機能も存在します。
wikiを見たところ、run_pipeline.mで全ての機能を使用することができるようです。
https://github.com/flatironinstitute/CaImAn-MATLAB/wiki/Complete-analysis-pipeline

##run_pipeline.m動かしてみる
Motion Correction機能を使うには「CaImAn」とは別に「NoRMCorre」もダウンロードする必要があります。(https://github.com/flatironinstitute/NoRMCorre)
3行目に

addpath(genpath('../NoRMCorre'));    

とありましたので、「NoRMCorre-master」フォルダを「NoRMCorre」に名前を変更し、CaImAnのフォルダの親フォルダにおきます。

入力画像は複数の画像ファイルに対応しています。
これにより、同じ日に連続で取った画像など同じ場所を数回に分けて撮影した画像を一気に解析できます。
解析したい一連の画像ファイルを一つのフォルダにまとめて入れて、そのフォルダのパスを6行目のfoldernameで指定します。

foldername = '<画像が入っているファルダのパス>';

そうすれば後は実行するだけです。(パラメータは適宜調整)

run_pipeline

motion correction, source extraction, activity deconvolutionの全てが一気に行われました。
複数ファイルをまとめたROIが表示されました。
変数のA_keepにROIの情報、C_fullにトレースの情報が入っています。デコンボリューションされた結果はC_decです。
以下のコマンドで可視化できます。
ROI情報

plotControl.Cn=Cn;
plotControl.thr=0.95;
plotControl.option=1;
d1=options.d1;
d2=options.d2;
[coor, contourInfo] = plotROIContour( A_keep, d1, d2, plotControl );

トレースの情報

plotControl2.frameRate=6.7468;
plotControl2.normalization=1;   plotControl2.sep=1.2;   plotControl2.displayLabel=1;  plotControl2.rollingView=1;
plotControl2.plotInferred=1;    plotControl2.plotFiltered=1;   plotControl2.plotRaw=0;
plotActivityTrace(C_full, C_full, C_full, plotControl2 );

デコンボリューションの結果の情報

plotControl2.frameRate=6.7468;
plotControl2.normalization=1;   plotControl2.sep=1.2;   plotControl2.displayLabel=1;  plotControl2.rollingView=1;
plotControl2.plotInferred=1;    plotControl2.plotFiltered=1;   plotControl2.plotRaw=0;
plotActivityTrace(C_dec, C_dec, C_dec, plotControl2 );

これでカルシウムイメージングの解析がかなり自動できます。
##その他
異なる日で取った場合などで、撮影した条件が異なる場合にはrun_pipeline.mがうまく機能しない場合があります。その場合はregister_ROIs.mによって、同一細胞を見つけることができるようです。wikiにも書いてありました。
https://github.com/flatironinstitute/CaImAn-MATLAB/wiki/Registering-ROIs-across-different-sessions-%5C--days

他にはdemo_GUI.mで、GUIを用いた解析ができるようです。

5
2
0

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
  3. You can use dark theme
What you can do with signing up
5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?