Bio Technical フォーラム

  • バイオ関連の実験をする上での、試薬、機器、プロトコールなどの情報交換の場です。
  • 新しいテーマで話を始める場合、質問をする場合は「新しいトピックを作る」から書き込みをしてください。
  • 質問に対して解答できる方は是非、書き込んで下さい。
  • このフォーラムにふさわしくないと管理人が判断した投稿は予告なく削除します。

新しいトピックを作る | トピック一覧 | 研究留学ネットに戻る

ひとつ前のフォーラム(readのみ)

このスレッドをはてなブックマークに追加このスレッドをはてなブックマークに追加

Image J の shreshold トピック削除
No.4785-TOPIC - 2016/01/27 (水) 12:53:19 - 一番
EdU シグナル陽性の面積を ImageJ で算出させたいと考えています。shreshold は default を使うか、その他を使うかで結果が大きく異なるのですが、何を選択すれば良いでしょうか。
「default」で良いのか、見た目を反映した数字となる shreshold で良いのでしょうか。EdU の染まり方は細胞によってムラがあるため、どの shreshold を使うかによってシグナルが弱い細胞がバッサリ切り捨てられてしまう場合と、弱いシグナルまで比較的拾い上げている場合があります。
今回の実験では default ではない設定の方が見た目を反映しているように感じました。
 
- このトピックにメッセージを投稿する -



29件 ( 1 〜 20 )  前 |  1/ 1. 2. /2


(無題) 削除/引用
No.4785-35 - 2016/02/11 (木) 23:53:19 - サンショウウオ
>ImageJ の画面一番上の measure で計算させた結果
>(全てのサンプルで area 値が同じになる)

1048576=1024*1024
で画像の55%程度

これだけ見ると、画像の1024*1024の四角形の領域を計算してるんじゃないかと思います。確かにROIが反映されていません。

(無題) 削除/引用
No.4785-34 - 2016/02/11 (木) 20:05:07 - たていす
%areaはthreshold部分の割合なので、thresholdの掛かっていない画像では常に100%です。
基本的にはIntDenを評価すればよいのだと思います。
三行目のareaが1pixelでmaxもminも12になっているのは、1ドットの領域もカウントしているのだと思います。
染色は基本的に核の形に染色されると考えてよければ(私はEdU染色を見たことがない)、1ドットのシグナルはノイズである可能性があります。
だとすれば、「少しだけ甘くthreshold掛けた画像」を用意して少し綺麗にし、analyze-particleするところで、particle-sizeを指定する必要があります。

binary-imageを
1) process>binary>closeを実行し、出っ張りを丸くします。
2) process>binary>fillを実行すると領域内の穴を潰します。
3) process>binary>watershed を実行すると、複数の数珠状につながっているものを切り分けたることが可能です。
4) analyze>analyze-particleで、Size(pixel^2)が0-Infinityになっているところを、(例えば)10-Infinityにすると、10 pixel以下の領域を拾わなくなります。

1dotの選択も重要であるであれば、上の操作は不要です。

それとは別に、DAPIで核を染色して、EdUをFITC(Alexa488?)で検出して、DAPIの領域に対して、EdUのシグナルをカウントすれば良いのではないでしょうか?

(無題) 削除/引用
No.4785-33 - 2016/02/11 (木) 14:15:16 - 一番
見づらくなって申し訳ありません。
体裁を整えましたが、どうしてもズレが直せませんでした。

roi manager 内の measure で計算させた結果

area   min   max   IntDen   %area   rawIntDen
102    12   255   10015   100.000  10015
6     12   18    93    100.000  93
1     12   12    12    100.000  12


14714   2900  18175  1115057   22400  1115057

ImageJ の画面一番上の measure で計算させた結果
(全てのサンプルで area 値が同じになる)

area    min max   IntDen   %area  rawIntDen
1048576   0  255   7990650   55.081 7990650

(無題) 削除/引用
No.4785-29 - 2016/02/11 (木) 13:57:16 - 一番
助けていただいており本当にありがとうございます。

サンショウウオ様、
二値化画面を消して計算しても、二値化した時に算出される値と同じ数値一覧が出てきてしまいました。

たていす様
結果を3行ほどコピペしてみます。「計」の列は全ての結果を私がエクセル上で合計して書いたものです。画面上では目的の細胞だけが roi として囲まれており、一見 roi 設定はうまくいっている様に見えます。roi manager 内にある「measure」で計算させると同様の結果が roi の数(今回は224個)出てきます。

 area min max IntDen   %area rawIntDen
1 102  12  255  10015  100.000 10015
2 6   12  18   93   100.000 93
3 1   12  12   12   100.000 12

計14714 2900  18175 1115057  22400  1115057

一方、roi 設定後、roi manager ではなく、ImageJ の画面一番上にある「measure」タブで計算させると以下の結果が1行だけ表示されます。また、この方法で計算させると、全てのサンプルで area が1048576となります。前回書きましたが、スライドガラス裏のメモが画像内に写り込んでいるサンプルは、その部分は roi から外れているにも関わらず IntDen と rawIntDen (同じ数値)が異常に大きくなります。
また、画面全体に対して roi 面積は数%にも満たないので、55%は大きすぎます。roi の中でシグナルとして認識できるピクセル数ということならそうなのかも知れません。

 area min max IntDen %area rawIntDen
11048576 0 255 7990650 55.081 7990650

何度も申し訳ありませんが、どうぞよろしくお願いいたします。

(無題) 削除/引用
No.4785-28 - 2016/02/10 (水) 23:03:20 - たていす
>1)同一サンプルであれば、何回やり直しても完全に同じ IntDen が
>算出されてしまいます。

ちょっと、よく解らないのだけど、measureしたresultを数行、upしてみてくれませんか?
area, mean, max, min, int-denがあるとよいと思います。

(無題) 削除/引用
No.4785-27 - 2016/02/10 (水) 22:51:31 - サンショウウオ
 確実な確認方法としては、二値化画像からROIを取得後、二値化画像を消してMeasure してみてください。この状態なら二値化画像は計算されないです。


それで違いがわかると思います。

 二値化画像を計算している場合、

・8ビット画像の場合
 RawIntdensity/255=Area

・16ビット画像の場合、RawIntdensity/(2^16-1)=Area

と値が一致するので、そこで確認ができます。

(無題) 削除/引用
No.4785-26 - 2016/02/10 (水) 20:12:59 - 一番
サンショウウオ様
ご返信ありがとうございます。
以下、誤解がある場合には大変失礼で申し訳ありませんが、ご教授いただければ幸いです。

ご指摘の方法で roi manager 上で一個ずつ算出し合計すると、これまでより2−3桁低い値になります。複数のサンプルで試すと、これまでとは異なり概ねそれらしい数字が並びました。従って、この方法では少なくとも roi を反映した計算ができていると思います。

ただ、この方法では threshold を設定するために用いた(白黒に二値化した)画面をアクティブにして 上記の計算をさせても、シグナルに濃淡のある元画像をアクティブにして同じ roi manager を用いて measure した時も、同じ値が出ます。つまり、intDen を計算させているのに、二値化してもしなくても同じ値になります。roi は前者を用いて作成しますので、出てきている値は、二値化されたシグナルの総和であり、染色の濃さは反映されていないように感じます。

この点を改善できるでしょうか。
何度も申し訳ありませんが、よろしくお願いします。

(無題) 削除/引用
No.4785-25 - 2016/02/10 (水) 19:05:29 - サンショウウオ
全部のROIを合算している可能性があるとのことですが、一個ずつROIを選択してMeasureをやってみて変わるでしょうか。

nroi=roiManager("count")//ROIマネージャー内のROIの数の確認

for(i=0;i<nroi;i++){//一個ずつROIを選択してMeasure
roiManager("Select", i);
roiManager("Measure");
}

(無題) 削除/引用
No.4785-21 - 2016/02/10 (水) 18:07:42 - 一番
たていす様、皆様

この方法で結構スムーズに行ったように見えていましたが、明らかにおかしい点が幾つか出てきました。ご意見を伺えないでしょうか。

1)同一サンプルであれば、何回やり直しても完全に同じ IntDen が算出されてしまいます。わざと人工的なシグナルを大量に拾うようにしたり、ROI を極端に小さくしてもこうなります。IntDen 値は概ね6桁の数値ですが、1の位まで完全に一致しており、Ijage J を再起動し直しても必ず同じ値になります。

2)シグナルの強度や頻度が同程度に見える2サンプル間で、片方が10倍以上高い値を示すケースがたまにあります。ただし何度やり直しても1)の理由で同じ値しか算出されません。

以上から、画面上では正しく roi 設定ができているにも関わらず、何か別のものの測定を行っていると思います。

2)の症状になるサンプルは、視野の中に必ずスライドガラス裏面に書いたメモ書き(サンプルに対して大面積)が写り込んでいます。恐らくこれがシグナルとして認識されているように思います。これと1)を考え合わせると、画面上では roi を設定できているように見えて、実は視野内全部のシグナルの総和を算出しているのではないかと思います。

解析自体は良い方向に進んでいると思いますが、roi として認識した部分のシグナルだけを算出させるような指定が何か一つ足りないと感じます。ご助言を頂けますと幸いです。

一つ前のお礼カキコには書かなかったので補足ですが、analyze particle を行う前に freehand selection ツールで目的のサンプルが存在する領域だけを指定しています。その目的の領域内にある particle を認識してくれ、roi 設定を行うことができます(もちろんですが)。

どうぞよろしくお願いします。

(サンショウウオ様、補足ありがとうございます。まずはこちらの方法から進めていますが、マクロも後ほど試したいと思います。)

(無題) 削除/引用
No.4785-20 - 2016/02/10 (水) 16:53:51 - サンショウウオ
>素人すぎて操作に全く自信がないのですが、これで正しいでしょうか。また、1)
で threshold を設定した際にはシグナルは黒色で表示されていましたが、3)の>元画像ではシグナルは白色(背景が黒)であり、この白色の濃淡のシグナル強度の合計をintegrated density で算出できたつもりなのですが、この点も間違いないでしょうか。

 申し訳ありません、先日のマクロに誤りがありました。run("Invert");が不必要なので、消してください。この一行を加えていたために見た目(Look up table)が白黒反転しています(データ上はおんなじです。)。
 なので、ちゃんと蛍光が強い領域が計測できていると思います。
 それにしても数百個とはすごいですね。

(無題) 削除/引用
No.4785-19 - 2016/02/10 (水) 16:15:58 - たていす
>素人すぎて操作に全く自信がないのですが、これで正しいでしょうか。
きっと、良いだろうと思います。
適当なコントロールになるような画像で実行してみて判断されるとよろしいです。

>また、1)で threshold を設定した際にはシグナルは黒色で
>表示されていましたが、3)の元画像ではシグナルは白色(背景が黒)
>であり、この白色の濃淡のシグナル強度の合計をintegrated density
>で算出できたつもりなのですが、この点も間違いないでしょうか。
それで良いだろうと思います。
黒地の蛍光画像なので、白地の染色画像よりも面倒は少ないと思います。

最初、EdUが何なのかよくわからなかったのですが、DNA合成のマーカーなのですね。S期進行を評価するのであれば。最終的には二値化したほうが良いのではないかとも思いますが、今の方法の方が良いのかもしれません。

(無題) 削除/引用
No.4785-18 - 2016/02/10 (水) 14:06:31 - 一番
たていす様、皆様
どうしても解析を成功させたいので、サンショウウオ様への質問と同時に、たていす様のご助言へも同時に質問させて下さい。

1)もとの絵をduplicateした後、適当な条件でthresholdする。
→できました

2)analyze-particle で二値化した輪郭情報をroi-managerに保存。
→できました。analyze particle の際に add to manager のところにもチェックを入れました。

3)元の絵に対して、roi-managerに保存した輪郭情報をmeasureして、integrated-densityを読む。
元画像に戻って Image→Overlay→From ROI Manager と進むことで、シグナルがある位置が数百個領域化されました。
その後、analyze→measure と進むと結果一覧が出て、integrated density も表示されています。

素人すぎて操作に全く自信がないのですが、これで正しいでしょうか。また、1)で threshold を設定した際にはシグナルは黒色で表示されていましたが、3)の元画像ではシグナルは白色(背景が黒)であり、この白色の濃淡のシグナル強度の合計をintegrated density で算出できたつもりなのですが、この点も間違いないでしょうか。

(無題) 削除/引用
No.4785-17 - 2016/02/10 (水) 13:33:22 - pl
まずは、AdaptiveThreshold (adaptiveThr)のpluginをダウンロードしないといけないんじゃ?

(無題) 削除/引用
No.4785-16 - 2016/02/10 (水) 13:14:01 - 一番
サンショウウオ様
ここ数日間奮闘していたのですが、どうしても解決しないのでご助言を頂ければ幸いです。私はマクロについても全く素人なので、そちらの操作法が間違っているかもしれません。
ご紹介いただいたマクロ run("Select All"); から //setTool("wand"); までをワード上にコピペし、txt. 形式で保存しました。

エリア値を解析したい画像を開け、Plugins→Macros→run とタブを進み、先ほど保存した txt. ファイルを開けました。すると下記が表示され、これ以上進みません。
Unrecognized command:"adaptiveThr"

どのように解決すれば良いか、ご助言を頂けないでしょうか。
どうぞよろしくお願いいたします。

(無題) 削除/引用
No.4785-15 - 2016/01/28 (木) 11:51:35 - サンショウウオ
まず、解析したい画像を開く。

//マクロの例
run("Select All");
run("Copy");

run("Internal Clipboard");
run("adaptiveThr ", "using=Mean from=55 then=-1");


selectWindow("Clipboard");
run("Invert");
run("ROI Manager...");
roiManager("Show All");
//setTool("wand");

//以上がマクロ

上記マクロを走らせた後、Wandツールで細胞領域をクリックして、tキーを押してROIマネージャーに細胞のROIを記録していく作業を行う。その後、二値化前の画像にROIを適用して各細胞の輝度値の積算あるいは、ピクセルあたりの平均輝度値の算出が行えるので、ヒストグラムが求まったりします。

(無題) 削除/引用
No.4785-14 - 2016/01/28 (木) 10:42:39 - サンショウウオ
参考画像があれば、それ用のマクロ作りますけど。。。

ちょっとまった 削除/引用
No.4785-13 - 2016/01/28 (木) 10:41:27 - サンショウウオ
たていすさんと同意見。

>従って、理想なのはエリア値とシグナル強度の積算値を求めることですが、ImageJ はおそらくそれができず、シグナルがポジか、ネガかのいずれかに分類され、ドットの有無でエリア値が出てしまいます。


Set Measurement の欄のIntegrated Density で できます。。。
Threshold後の領域情報を元の画像に適用すると、弱い細胞と強い細胞のヒストグラムを算出するためのデータが得られます。

(無題) 削除/引用
No.4785-12 - 2016/01/28 (木) 02:49:51 - おお
各細胞のシグナルを算出するようですので、マニュアル的に考えるなら、まず閾値でカットオフしない値をすべての細胞で得る。その後ヒストグラムとかでシグナル強度の分布を見る。もし必ず取り込まれていない細胞があるという状況なら、そのポピュレーションがバックグランドの値を示していることになるのでその平均をすべての値に対して差し引く。

ただし局所のバックグランドで変動があるときはこの方法ではうまくいかないかも。その場合は細胞のシグナルを計算するときの周辺のバックグランド値をそれぞれ求めるて対応する必要があるかもしれません。

アルゴリズムとか何か勝手に計算してくれるものであってもマニュアルでやるときの手順を意識したうえで、やってみるといいでしょう。

(無題) 削除/引用
No.4785-11 - 2016/01/27 (水) 18:37:04 - たていす
>従って、理想なのはエリア値とシグナル強度の積算値を求めること
>ですが、ImageJ はおそらくそれができず、
積算値が必要かどうかは判りませんが、きっとできますよ。
大まかには、
1)もとの絵をduplicateした後、適当な条件でthresholdする。
2)analyze-particle で二値化した輪郭情報をroi-managerに保存。
3)元の絵に対して、roi-managerに保存した輪郭情報をmeasureして、integrated-densityを読む。

(無題) 削除/引用
No.4785-10 - 2016/01/27 (水) 17:59:08 - brdu
Flow Cytometryのようなヒストグラムが描ければ理想的ということでしょうか?
thresholdをかけてしまうと画像が二値化されてしまうため、元々のintensityは失われるはずです。

YouTubeに"Intensities of individual particles using ImageJ"という動画がありますが、この手順に従えばそれぞれのEdUのintensityを数値化できます。
今回、EdUの強度にバラツキがあるということなので、個々の細胞を認識させるのは難しいと思われます。そのため、動画の最初のステップをDAPIやHoechstで染色した画像を用いて核の場所を指定することで、EdU negativeな細胞も含めたデータが得られると思います。

29件 ( 1 〜 20 )  前 |  1/ 1. 2. /2


パスワードを入力してチェックした記事を チェックした記事を

このトピックにメッセージを投稿する
名前 
メール   アドレス非公開
   タイトル 
本文      
設定  クッキーを保存(次回の入力の手間を省けます)
上に上げない(トピックの一覧で一番上に移動させません)
解決(問題が解決した際にチェックしてください)
暗証  半角英数字8-12文字の暗証番号を入れると、あとで削除、修正ができます。
送信 

〔使い方〕
  • 「アドレス非公開」をチェックすれば、自分のメールアドレスを公開しないで他の方からメールを受け取れます。
  • 問題が解決した際には、解決ボタンをチェックして解決した旨のコメントをつけてください。これは、初めにトピックを作った人と管理人のみが可能です。
  • 半角カタカナ、機種依存文字(全角ローマ数字、○の中の数字等)は文字化けの原因となりますので使わないでください。