平成26年度 生物化学実験法 ImageJ実習 421日(月)、28日(月)  

担当:飯野雄一、豊島有

時間:13:00-15:15

 

実習手順書

  

【概要】

ImageJによる画像処理の方法を学ぶ。いくつかのサンプル画像に対し、手動による画像操作を行った後、それをマクロで自動化してみる。

 

サンプルとして各ステップの作成ファイル、結果の例がリンクしてある。途中でつまずいたら、その後の演習のためにサンプルファイルからスタートして構いません。

 

0)環境設定

  

ImageJのインストール

ECCにはImageJがインストールされていないので、各自インストールします。手順は至って簡単。

イメージJのダウンロードサイトWindows用のij148-jdk6-32.zipを右クリックし、「対象をファイルに保存」して「ファイルを開く」「すべて展開」します。または、ダウンロードしたij148-jdk6-32.zipを右クリックし、「すべて展開」します。フォルダ内のImageJアイコンのプログラムファイル(ImageJ.exe)をダブルクリックすると起動します。アイコンを下のタスクバーにドラッグしておくと起動が簡単になり便利です。なお、演習環境ではセンター共通のフォルダにはアクセス権がなく移動できませんので注意して下さい。

<注意>ImageJは日本語対応していないので、作業フォルダおよびその上位のフォルダの名前に日本語が含まれていると一部のプラグインでファイルにアクセスできなくなるようです。作業フォルダ設定の際には注意して下さい。

 

1)電気泳動のバンドの計測

 

1-1)個々のバンドの定量

ImageJFile>Open Samples"Gel"を選んでゲルのサンプル画像を表示する。

・バンドの濃さと定量結果が逆にならないように、Edit>Invertで画像を反転させる。

・長方形選択枠でバンドを一本ずつ囲みRoi ManagerAddしていく。バックグラウンドも計測することを忘れないように。(スライド14−16)

Roi ManagerShow All, Measureで定量する。

ResultsウィンドウからFile>Save asで測定結果を保存できます。

 

1-2)濃度プロファイルの表示

・ライン選択枠または長方形選択枠で領域を選び、直線方向の濃度変化をPlot Profileで表示させる。長方形セレクションで選択して縦に測る場合はAltを押しながらPlot Profile。(スライド18)

 

2)動画のシュードカラー表示

 

ASER_GCaMP.tifは線虫のカルシウムイメージングの結果で、神経細胞一個が輝度を変化させる。この画像ファイルはマルチページtiffファイルであり、一定の時間間隔でCCDカメラで撮影したモノクロ画像が一つにまとめられている。

2−1)まず、ASER_GCaMP.tifをダウンロードし、ImageJから開く。スタック画像となる。画像の枚数、解像度(縦横のピクセル数)、ビット数を確認する(スライド5、6)。

2−2)動画として再生してみる。(スライド9)

2−3)輝度変化が分かりにくいので、これをシュードカラー画像にしてみる。Image>Lookup Tablesで濃度に応じた色をつける。(Image>Color>Display LUTsLookup Tableの一覧が色で表示される)。(スライド8)

2−4)Image>Adjust>Brightness/Contrastで表示範囲を変化させてみる。(スライド13)

2−5)RGB画像に変換して保存する。(スライド10)

 

3)明暗のある画像のフィルタ処理

 

フィルタリングには、画像の局所的な特徴を強調する処理や、全体の明るさの差をなくす処理など、さまざまあり、画像解析の重要な部分を占める。ここでは光ムラの除去の方法を練習する。(スライド25−27)

 

3−1)AmNaive12.bmpを開く。これは多くの線虫が化学走性行動を行っているプレートを一定時間間隔で撮影した画像AmNaive.tifのうち一枚である。一匹ずつの線虫の位置を自動記録したい。まず一枚の画像を使ってこれを行う(プレート面上の細かいごみは除去できないので気にしなくてよい)。

3−2)まずは、まるい寒天面を認識させる。これにはImage>Adjust>Thresholdで閾値を設定し、閾値より暗い部分として認識する(スライド19、21、22)。その状態で、Analyze Particlesを行う。Include Holesを選択しておくと、穴(線虫)が埋められた丸い寒天面が認識される。クリックしてこの部分を選択し、Edit>Clear Outsideにより周りの画像を消してしまう。選択枠はそのまま残しておく

3−3)線虫を認識させたいが、このままでは光ムラがありうまく認識できない。ThresholdPlot Profileにより、プレート面に光ムラがあることを確認する。光ムラをなくすためのフィルタリング処理をいろいろ行ってみる。どうすればバックグランド画像またはバックグランドが除けた画像を得ることができるか。解答例として、半径10ピクセルのMedianフィルター(Process>Filters>Median)により、線虫が消えたバックグラウンドだけの画像が得られる。

3−4)Process>Image Calculatorでもとの画像からバックグラウンド画像を差し引き(Subtract)する。これにより、バックグラウンドのムラのない線虫の画像が得られる。(スライド28、29)

 

4)粒子計測

 

バックグランド除去に引き続き、線虫を認識して数える。Image>Adjust>Thresholdで線虫が認識される適当な閾値を決め、Analyze Particleを行う。Set Measurementcentroidまたはcenter of massを選択しておくこと(スライド18)。サイズの上限下限を丁度良く設定すると、線虫が認識され、数と位置(重心のx座標、y座標)がResultから読み取れる。プレートの中央から右側の線虫と左側の線虫の数の比率はいくらか。x座標がプレートの中心((700, 500)あたり)のx座標より大きいか小さいかで判断できるはず。Resultsを保存し(Excel形式で保存したければResults>Options.xlsとしておく)、Excelで開くことにより計算できる。(スライド23)

 

5)タンパク質の局在の定量

 

5−1)PiwiZucdelNlightW.tif(微分干渉画像)を開き、細胞の輪郭を認識させる。このためにProcess>Find Edgesを行う。(スライド26)

5−2)適当なThresholdをかけてAnalyze Particlesを行う。このときに、"Show"のプルダウンより"Masks"を表示させる設定にしておく。

5−3)作成されたMask画像を選び、Edit>Selection>Create Selectionを行い細胞の輪郭にあたる選択枠を作成する。

5−4)PiwiZucdelNlightG.tifPiwi蛋白質を抗体染色したもの)を開き(すでに開いていればこの画像を選び)、Edit>Selection>Restore Selectionを行い選択枠を表示させ、Set MeasurementAreaIntegrated DensityIntDen)を選択した上でMeasureを行って、選択範囲(細胞質+核)の全蛍光量を測定する。

5−5)PiwiZucdelNlightB.tifDAPIによる核染色)を開き、Thresholdを設定し、Masksを設定してAnalyze Particlesを行い、核を同定する。上記と同様にMask画像からSelectionを作成し、G画像の上にRestoreしてMeasureする。

5−6)5−4と5−5の結果から細胞質:核の比率を計算する。

5−7)PiwiZucdelNlightR.tifN端欠失型Zucchini蛋白質の抗体染色)についても同様に操作し、核と細胞質の比率を計算する。

☆全細胞の輪郭のマスク画像はこちら

 

 

6)マクロの自動記録

 

ImageJでは一連の操作をマクロプログラムで記述することができる。さらに、手動で行った操作を自動記録するという優れた機能が備わっている。(スライド35)

 

1〜5)で行った操作のいずれでもよいので、マクロの自動記録の機能を利用してマクロを作成し、走らせてみる。(スライド36、37)

 

この時点ではプログラムの意味がすべてわかる必要はない。また、すべての操作がマクロで再現できるとは限らないので完璧を目指さないように。

 

7)マクロ作成の第一歩:カウンタの記入

 

手作業では困難な繰り返し操作はマクロでやらせるのがよい。マクロプログラミングができるようになるとImageJの応用範囲が格段に広がるであろう。マクロプログラミングの練習の第一歩として、タイムラプス画像にタイムスタンプをつけてみよう。

ASER_GCaMP.tifの画面の左上隅に、スライス番号が表示されるようにしてみる(時刻だとやや難しいので)。動画として再生するとそれにつれて番号がカウントアップされるはず。

ASER_GCaMP.tifを開き、そのウィンドウを選択した状態でマクロを走らせることにする。Plugin>New>Macroで入力ウィンドウを開き、プログラムを記入していく。プログラムは以下のステップを実行するものにする。(スライド38)

i) 1枚目のスライス、2枚目のスライス、、、、と順に処理する。そのためにfor文を用い、処理中のスライス番号をiとする。全スライスの枚数は既定変数nSlicesで与えられる。(スライド40、42、47)

ii) i枚目のスライスを表示させる。setSliceを使う。

iii) 表示されている画像に文字を記入する。drawStringを使う。記入する文字はスライス番号そのものである。(スライド64、65)

iv) 次のスライスに進む。これを最後まで繰り返して終わり。

ASER_GCaMP.tifの画像ウィンドウを選択した後に作成したマクロを走らせれば一瞬でスライス番号が全スライスに記入されるはず。作品を保存したければ別名で保存。

フォントやフォントサイズはsetFont、文字の色はsetForegroundColorで設定できる。(スライド63)

 

サンプルマクロ TimeStamp.txt

(参考)フォントの見本として文字記入マクロのサンプルがImageJフォルダ内のmacrosフォルダにTextDemo.txtまたはFonts.txtとして準備されているのでPlugins>Macros>Runで走らせてみると同時に、Plugins>Macros>Editでプログラムの内容を見てみるとよい。

 

8)動画の作成

 

次に簡単なアニメを作る。

 

50ピクセル横512ピクセルの黒バックのRGB画像を作成し、ボールが移動するアニメを作成する。下図は2)のカルシウムイメージングの際に与えた化学刺激のプロファイルである。100枚目のスライスで還流液の濃度を50Mから25mMに変えている。下図の黄色の部分は説明のためのものなので実際は表示しない。白い文字と線は動かず、緑のボールが白い線に沿って動くアニメを作成する。200ピクセルがスライス100枚分であることに注意。(注:この実験では本当は200枚目のスライスで再度50Mに戻しているが、簡単のためこれは無視する。余裕があれば正しいプロファイルを描かせてみるとよい。)

 

 

i) まず一枚の画像として、緑のボールが左端に位置している図を描いてみる。(スライド64、65)

サンプルマクロ SaltProfile1.txt

ii) 次に241スライスからなるスタックを作りスライス毎にボールの位置を変えていく。ボールの位置をどう計算するかがポイント。(スライド41、42)

サンプルマクロ SaltProfile2.txt

 

タイムラプス画像ASER_GCaMP.tifの画像領域を下に拡大し、上と同じアニメを追加する。

 

サンプルマクロ SaltProfile3.txt

サンプルムービー ASER_GCaMP_profiled.tif

 

9)プレゼン用の動画の作成

 

次に細胞内シグナル伝達のプレゼンテーションのための簡単なアニメ画像を作ってみる。パワーポイントファイルDemoSlide.pptxを開く。一枚目のスライドの矢印で表された核への移動を表現するため、STAT二量体が回転しながら核にはいる動画を作ってみる。まず以下8-1~8-5を手動で行う。

9-1)2,3枚目のスライドをbmp形式で保存し(別名で保存→ファイルの種類をbmpにする)、これをImageJで開く。

9-2)3枚目のスライドの画像のSTAT二量体を真円の選択枠で囲む(シフトを押しながらドラッグ)。

9-3)コピー。

9-4)2枚目のスライドの画像を選択し、Edit>Selection>Restore Selection→好きな場所まで枠をドラッグ。

9-5)ペースト→Image>Transform>Rotate...で回転させる。

 

<演習> スライド2枚目の画像を多数複製してスタック画像とし、上記の基本操作によって各スライスにSTAT二量体を少しずつ位置と回転角を変えて貼り付けていけばアニメができる。手作業では大変なのでマクロを組んでこのアニメを作り、AVI形式で保存する。

 

サンプルマクロ StatAnimation.txt

サンプルムービー StatAnimation.avi

 

10)3D画像および4D画像の扱い

― 共焦点顕微鏡のタイムラプス4D画像 ―

 

共焦点顕微鏡で線虫の頭部神経を撮影した3D画像を開く。

IsmC_DiRx63water13.tif

緑色のチャネルが一部の感覚神経を脂溶性蛍光色素で染めたもの、赤色のチャネルがすべての神経に蛍光蛋白質NLS-mCherryを発現させたものである。焦点面(z)を変えながら、緑色蛍光、赤色蛍光、明視野の画像を撮っていったものである。

Image>Stacks>Z Projectで全スライスを1枚に投射した画像を作ってみる。(スライド32)

Image>Stacks>3D Projectで回転させた画像を作ってみる。

 

Bio-Formatsプラグインをダウンロードする(スライド70)。以下のサンプル画像がハイパースタックとして読み込める(スライド32、33、68)。

gcy5NaCl.lif

dat1food.lif

これらはライカ共焦点顕微鏡で焦点(Z軸)を変えながら一定時間ごとに(T軸)取り込んだ4D(xyzt)の単色画像(ライカのlifフォーマット)である。Bio-Formatsで読み込むとハイパースタックとなり、特定のTZの画像を選んで表示することができる。

10-1)スライス画像ではほとんど何も見えないので、Z軸に投射した画像(T軸スタック)を作ってみる。

10-2)特定のTを選び、立体的に回転した画像を作ってみる。

10-3)顕微鏡用の画像取得・解析ソフト、メタモルフのスタック画像も取り込めることを確認する。

gcy5-YC2.12.stk

 

必要に応じ、gcy5NaCl.tifdat1food.tifgcy5-YC2.12.tifもお使い下さい。

 

11)蛍光強度の定量

― 線虫のタイムラプスカルシウムイメージング画像の定量 ―

 

カルシウムイメージングの画像ASER_GCaMP.tifでは、神経細胞の輝度がその神経のカルシウムレベルを反映する。これを数値化してみよう。実際にはもっと複雑な処理が必要だが、まずはImageJの初歩的な使い方でこれを行ってみる。

11−1)ASER_GCaMP.tifを開き、これをコピーした画像を作成する。

11−2)このままでは輝度にノイズがあって処理がしにくいので、コピーした方の画像に対してProcess>Filters>Gaussian Blurでスムージングを行う。

11−3)次に、1枚目の画像および細胞の輝度が上昇したときの画像(101枚目あたり)でThresholdを行ってみる。オートで行うが、Default以外にもいろいろな種類があるので、どれを使ったらうまく目的の細胞が囲めるかを調べる。Stack Histogramにチェックを入れたときと入れないときとでどう動作が異なるか。

11−4)Analyze Particlesを行う。囲われた面積と、合計ピクセル値の値が計算されるようにしておく。スライス一枚だけ処理するのと全スタックを処理するのとどちらがいいかを考えてみる。

11−5)以上の操作をマクロで行えるようにプログラムを書いてみる。

11−6)別の画像ASER_GCaMP_7.tifでもやってみる。

 

細胞体部分の動きに伴ってトラッキングしながら蛍光強度を定量するマクロを紹介する。線虫が動くので、ROIを移動しながらROIの中の蛍光強度の総和を測定する。ROIの中の明るい部分の重心の位置を基準として、それとの相対位置を保つようにROIを移動して定量している。

 

サンプルマクロ Roi_tracking.txt

 

12)課題

 

本演習の修了認定のために課題を出します.内容は進み具合を見て最終日に提示します。

 

提出方法:

メール添付にてiino@biochem.s.u-tokyo.ac.jp, ytoyo@biochem.s.u-tokyo.ac.jp宛て。添付書類が大きい場合はFireStorage(http://firestorage.jp/) などのファイルデポジトリを使ってください。

 

【画像提供】

 

PiwiZucdelNlight.tif                      生物化学科 塩見研究室 石津大嗣氏

ASER_GCaMP.tifASER_GCaMP_7.tif        生物化学科 飯野研究室 佐藤博文氏

gcy5NaCl.lif, dat1food.lif, gcy5-YC2.12.stk           生物化学科 飯野研究室 富岡征大氏

IsmC_DiRx63water13.tif                                    生物化学科 飯野研究室 金森真奈美氏

 

これらの方々に感謝致します。