TrackMateによるTracking

核やチューブリンなどのうごきをトラッキングしてくれる素晴らしいツールです。

備忘録としてまとめます。

基本的には Getting Started with TrackMate に書いていることばかりです。

サンプル画像のトラッキング結果ですが、

ご覧の様に分裂やマージ(青い線のトラック)、

Gap close(赤い線のトラック、途中で消えるけどつなげてくれる)

もトラッキングしてくれます。

手順

0. あらかじめ Fiji をインストールしておくこと。Fiji は ImageJ とほぼ同じですが、便利な Plugin がいっぱい入っています。

1. Fiji をたちあげて、トラッキングしたい画像を開く(File > Open)。今回は、TrackMateのサンプル画像(上のものと同じ)を使います。File > Open Samples > Tracks for TrackMate (807 kb) で開くことができます。

2. Plugins > Tracking > TrackMate で TrackMate を立ち上げると、下の window が出てきます。

Calibration Settings:

Pixel width, height, voxel depth, time interval はそれぞれ空間、時間次元の単位です。

このサンプル画像ではすべて1になってますが、

顕微鏡で取得した画像などではこれらの情報がメタデータとして入っているので、

それをあらかじめ参照してくれます。

これらの数値を入れておくことで、

解析結果をこの単位に直して出力しれくれますが、

あとで自分で変換しても問題ないので、

面倒であれば全て1でも問題ないです。

Crop Settings:

画像の持ってる情報。

これも画像を読み込むと勝手に入力してくれます。

3次元画像のトラッキングもできるようです。

以降、Saveを押すと、そのウィンドウまでの結果をXMLファイルとして出力します。

このXMLファイルは Plugins > Tracking > Load a TrackMate file により解析を続けることができます。

Next を押して先に進みます。

3. 輝点を認識するための Detector を選択します。

LoG detector: Laplacian of Gaussian による輝点検出。輝点の直径が 5-10 pixel の場合はこれを使うと良いようです。

DoG detector: Difference of Gaussian による輝点検出。輝点の直径が 5 pixel 以下の場合はこれを使うと良いようです。

Downsample LoG detector: 輝点が 10 pixel より大きい場合は、これを使うことで高速に輝点検出ができます。

詳しい原理は Google 先生に教えてもらってください・・・

4.今回は、輝点サイズが小さいので、DoG を使います。Nextボタンを押します。

Estimated blob diameter: 輝点の大体の大きさをここに入力します。

Threshold: 検出された輝点の蛍光強度がこの閾値以下であれば輝点とみなさない、という値です。

背景などで輝点が検出される場合はこれを使いましょう。あらかじめ輝点の数を減らしておけば、後々の解析が楽になりますが、この後の処理でも減らすことができるのでそこまでシビアに考える必要はないです。

Use median filter: おそらく median filter をかけた画像に対して輝点検出を行うというもの。

始めからかけておけば問題なし。

Do sub-pixel localization: 読んで字のごとし。

チェックを入れておくことで、輝点の位置を sub-pixel レベルで決めてくれる。

Preview を押すとこのパラメーターで検出される輝点が分かるので、

Preview で結果をみながら diameter の値などを決めていく。

今回は、diameter 5, threshold 0, Do sub-pixel localization onで検出してみます。

背景のところでもたくさん検出されますが、

後の処理で削ることができるので、

そのままNextを押します。

5. 検出プロセスの画面が出ます。検出が終わったらNextボタンをおします。

(余談)

データの大きな画像データの輝点検出やトラッキングにはかなり時間がかかります。

どうもこのPlugin (ImageJかも)はPCのCPUを並列化してくれるので、

single coreのときよりも計算時間は早くなります。

ただ、データが重たいと全てのcoreを計算で使ってしまい、

またメモリも相当量使うので、

PCを使っての他の作業が困難になります。

あらかじめデータを絞る、などして計算量を減らすか、

よいPCを使う(デュアルCPU+Hyper threading, メモリ追加)が対策になります。

6. Initial thresholding の画面が出てきます。

ここで Quality のひくい輝点を閾値をかけて削っていきます。

今回、4 の threshold の値を 0 にしたために背景のところで無駄な輝点が検出されています。

実際に、25,234 個の輝点を検出していることになります。

おそらく背景のところの輝点は quality が低いと思われ、

実際にヒストグラムの左のほうひでかい山が見えます。

ちなみに縦軸はLogです。

これをmanualで閾値を横にずらして設定するか、

autoボタンで設定します。

左のように設定すると、

25,234 個の輝点から 233 個の輝点が選ばれたことになります。

この後、輝点と輝点をつないでいく tracking 処理に入るわけですが、

輝点の数が多いと当然処理に時間がかかったり、

リーズナブルな結果が得られなくなりますので注意しましょう。

良ければNextボタンを押します。

7. Select a view という画面が出てきます。HyperStack Displayerで問題ないのでそのままNextを押します。

8. Set a filters on spotsという画面が出てきます。

ここで次のTrackingに回す輝点を必要であればさらにふるい分けします。

例えば、+ボタンを押して、

プルダウンメニューからMean intensityを選ぶと、

左のような画面が出てきます。

ここで閾値を設定することで、

その閾値内の輝点のみを次のTrackingに解析する、

ということができます。

今回は特に必要がない(先ほどのQualityで十分)なので、

- ボタンをおして消して、

Nextで次に行きます。

9. Select a trackerという画面で tracking のアルゴリズムを選択します。

LAP tracker: Jaqaman, Nature Methods, 2008 で発表したトラッキングのアルゴリズムを使ってトラッキングします。

このアルゴリズム、相当難しいです・・・

輝点の分裂(split)、融合(merge)を取り入れる場合は、LAP trackerを選んでください。

Simple LAP tracker: LAP trackerの単純バージョン.

Gap closingは考慮してくれますが、分裂(split)、融合(merge)は考慮されません。

Nearest neighbor search: 最近傍法によるトラッキング。

最も簡単なもの。当然、Gap closing, split, mergeは考慮できません。

そのほか、Manual trackingもあるようです。

ここでは、LAP trackerを使います。

Next ボタンを押します。

10. LAP trackerのパラメーターを決めます。下のようなwindowが出ます。

実際はこんな長細くないので、自分で右側のスライダーを動かしてください。

Frame to frame linking:

これは Simple LAP Tracker にもついてくるパラメーター。

おそらくこの距離内であれば追跡してくれるという閾値。

大きければ追跡可能性が高まりますが、

計算時間も増えます。

Track segment gap closing:

これは Simple LAP Tracker にもついてくる。

Gap closeする最大の距離と、

そのフレームGapを指定する。

2 なら 1 frame 輝点が切れていてもつないでくれる、

というもの。

blinkingするような一分子イメージングのトラッキングには向いている。

ボタンを外すことでこの機能を外すことができる。

Track segment splitting:

輝点の分裂(Split)を加味する場合はこのチェックボタンを on にする。

ここでもMax distance値を入れる。

この値内で分裂をtrackしてくれる。

今回のサンプル画像のトラッキングはここにもチェックを入れます。

Track segment merging:

輝点の融合(merge)を加味する場合はこのチェックボタンを on にする。

ここでもMax distance値を入れる。

この値内で輝点の融合をtrackしてくれる。

今回のサンプル画像のトラッキングはここにもチェックを入れます。

(余談)

それぞれのところでFeature penaltiesという項目があり、

+ボタンで追加することができます。

トラッキングするときに最適化問題を解くのですが、

そのときに例えば輝点の輝度値に重みを付けてtrackingしたい、

という場合にはここに輝点の輝度値(mean intensity)を追加し、

重みの値を1から大き目の値にすると違ったトラッキング結果になります。

これも、チューブリン+端や1分子イメージングのように、

シビアなトラッキングを要求される場合には、

ここでfine tuningする必要があるようですが、

今回のサンプル画像や細胞核の移動のトラッキング程度であれば、

何も変更しなくてもトラッキングできます。

11. Next ボタンを押して先に進めると、トラッキングプロセスの画面が出ます。

検出が終わったらNextボタンをおします。

(余談)

ここも画像データ次第では計算に時間がかかります。

12. Next ボタンを押して先に進めると、トラッキングプロセスの画面が出ます。

検出が終わったらNextボタンをおします。

Set filters on tracksウィンドウが出てきます。

ここでは以降のトラッキング結果の可視化、解析につかう、

トラックを選別することができます。

例えば Number of splits in trackでフィルターをかけることで、

十分なフレーム数トラッキングできたものだけを可視化、解析することができますし、

Number of split eventsで、

分裂したもの、しなかったものを選ぶこともできます。

今回はそれほどTrackが多くないので、

Nextで次に進みます。

13. Display optionsウィンドウが出てきます。

Display spots:

チェックを入れると、

検出対象の輝点にまるい円が付きます。

Spot display radius ratio:

1ならDoGやLoGで入れたdiameterの円ができます。

大きくしたり小さくしたりする場合は値を代入。

Display spot names: Spot IDが円の横に付きますが邪魔です。

Set color by:

Display spotsで付いた円の色を決めることができます。

例えばmean intensityにすると、

輝点の蛍光輝度値に合わせて色を付けることができます。

Display tracks:

チェックを入れると、trackされた軌跡が付きます。

Track display mode:

軌跡の線の色を決めることができます。

Show local tracks, forwardとかにして、

Limit frame depthをon、Frame depthを10にすると、

今のフレームから10フレーム先までの軌跡を出してくれます。

Set color by:

軌跡の色を様々な特徴量で表示できます。

Velocityとか。

Analysis:

これでトラッキングされた結果を出力できます。

Spots in tracks statistics: 全フレームのtrackされた全スポットの位置、輝度の情報などが含まれる。

Links in tracks statistics: 全リンク(エッヂ)の情報。どのスポット間のリンクがどういうvelocityかという情報も含まれる。

Tracks statistics: 全トラック(軌跡)の情報。GapやSplit, mergeの数やtotal displacementなど。

これらは, File > Save でエクセルファイル(.xls)やテキストファイル(.txt)で出力できます(.xlsxは無理みたい)。

後は、このデータをMatlabやエクセルで解析し放題です。

Track scheme:

系統樹みたいに結果を表示できますが、あまり使えなさそうです。

14. さらにNextボタンを押すと、Spot, Link, Tracksデータを折れ線グラフにすることができます。

しかし、Analysisで結果を出力して自分でグラフ化するほうが良いでしょう。

15. さらにNextボタンを押すと、最後の Select action ウィンドウが出てきます。

Display options で可視化情報を決め、

Capture overlay を選択し、

Execute を押すと、

その可視化方法に従った HyperStack file を作ってくれます。

これを File > Save as > Avi で保存すれば、

下のようないちびり動画を作ることができます!

この動画のDisplay optionsは以下の通りです。

・Display spots: on

・Spot display radius ratio: 2

・Display spot names: off

・Set color by: Mean intensity

・Display tracks: on

・Track display mode: Show local tracks, forward

・Limit frame depth: on

・Frame depth: 20

・Set color by: Velocity

・Limit drawing depth: off