tag:blogger.com,1999:blog-29815323646760625952024-03-14T11:49:34.548+09:00Re - ImageJで学ぶ!画像解析を学ぶ学生や、ImageJの使い方を忘れてしまった研究者の方まで、広く読んでいただければ幸いです。VISブログ担当者http://www.blogger.com/profile/14228255165322496017noreply@blogger.comBlogger73125tag:blogger.com,1999:blog-2981532364676062595.post-3943657651663513422022-08-12T14:37:00.007+09:002022-08-17T10:15:50.857+09:00第72回 ImageJでRadiomicsを体験しよう!今回はレディオミクスに挑戦する内容です。 <div><br /></div><div>2022/4に、ImageJでRadiomic特徴が計算できる「RadiomicsJ」というJavaのライブラリを公開しました。
RadiomicsJはImageJやFijiのプラグインインターフェースがインプリメントされており、ImageJ/Fijiプラグインとして動作します。 今回はこのRadiomicsJを使ったRadiomicsをご紹介いたします。</div><div><br /></div><h3 style="text-align: left;">Radiomicsとは </h3><div><br /></div><div>レディオミクスは、「高信号/低信号」「不明瞭」「辺縁に造影効果」「均一/不均一」などの医用画像から得られる特徴が、分子生物学的特徴のパターンを捉えることができるという仮説に基づき、腫瘍遺伝子型や予後などの予測やイメージングバイオマーカの発見などを目的として行われる研究手法です。 </div><div><br /></div><div>類似した研究領域として、従来から、コンピュータ支援診断(computer-aided diagnosis, CAD)がありますが、レディオミクスはCADの中の一つというよりも、独立した研究として説明されるように思います。筆者の個人的な、CADとレディオミクスとの違いについての認識は次の通りです。CADは、良悪性鑑別予測、異常検知、予後予測などを主な目的として、医師の意思決定支援のために研究されてきました。これに対してレディオミクスは、目的変数をこれらに限定せず、分子生物学的特徴という概念に置き換えた上で、マクロな画像の世界と細胞やDNAなどのミクロな世界の関係の探索を目的として研究されています。</div><div><br /></div><div>レディオミクスはだれでも試行できます。例えば、TCIA(The Cancer Imaging data Archive)などからオープンデータセットを探して、脳MRI画像を使って画像特徴を計算し、この計算結果から脳腫瘍のWHOグレードを予測したり、腫瘍遺伝子型の異常の有無を予測したりなどです。
PubMedなどで検索をすれば、他にもさまざまな応用例がヒットします。 </div><div><br /></div><div>しかし、いざやってみようとなると、なにから行えばよいかわからなくなることがあります。</div><div><br /></div><div>本ブログでは、「胸部レントゲン画像の肺野・縦隔から60歳以上かどうかを予測する」ことに挑戦してみましたので、手順を公開いたします。</div><div><br /></div><h3 style="text-align: left;">環境</h3><div><br /></div><div>Windows(Mac、Linuxでも動作するはずです) </div><div><br /></div><h3 style="text-align: left;">必要なもの</h3><div><br /></div><div><ul style="text-align: left;"><li>ImageJ</li><ul><li>ImageJサイト(<a href="https://imagej.nih.gov/ij/download.html">https://imagej.nih.gov/ij/download.html</a>)の説明に従ってダウンロードします。 </li></ul><li>RadiomicsJ</li><ul><li>こちらからダウンロードします。 </li><li><a href="https://drive.google.com/file/d/148ToZ1knJOpi4pzIwSf8g23kn-d006tR/view?usp=sharing">https://drive.google.com/file/d/148ToZ1knJOpi4pzIwSf8g23kn-d006tR/view?usp=sharing</a></li><li>ダウンロードしてzip解凍後します。</li></ul></ul><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgRWfyxWHHYG0R7TrXjX0xMnggHflF1lvSEN0F8HijXObSm0LRSA00fRmd0Gp3dbxi-CjwHHc4Az_qKrPuPtGtV4gdyKPu985fSSe1puHlovIdXesvaSEFwUoI6t_o_EUNiPHQAD9oVkC3BT9CVejglRNxFHkCZ5TnKbmiUNkXWdKdFZE-PkfU6SQA" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="242" data-original-width="437" height="177" src="https://blogger.googleusercontent.com/img/a/AVvXsEgRWfyxWHHYG0R7TrXjX0xMnggHflF1lvSEN0F8HijXObSm0LRSA00fRmd0Gp3dbxi-CjwHHc4Az_qKrPuPtGtV4gdyKPu985fSSe1puHlovIdXesvaSEFwUoI6t_o_EUNiPHQAD9oVkC3BT9CVejglRNxFHkCZ5TnKbmiUNkXWdKdFZE-PkfU6SQA" width="320" /><br /></a></div><div class="separator" style="clear: both; text-align: center;">図 RadiomicsJを解凍して内容を展開した様子</div><ul style="text-align: left;"><ul><li>「RadiomicsLib」フォルダと「My_RadiomicsJPlugin.class」ファイルを、インストール済みのImageJのpluginsフォルダにコピーします。 </li></ul></ul><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEj9sPM0fmOJp3shRte10wNszEY0q8FzeGDeLT9s-fPkfAMnh1RGxXE2Pim2CwegtPz9u_5LmhixzlahOu0lRYI1BpwmYR5DqBc1hiCzhPqXVcrne1T03oW2Q9WvEZ26wGViQfSdZbisT-xBVkzj8FPPEEw4vWFc1Z2BVyza68W5G-c31u6Y2vTG5s0" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="396" data-original-width="608" height="208" src="https://blogger.googleusercontent.com/img/a/AVvXsEj9sPM0fmOJp3shRte10wNszEY0q8FzeGDeLT9s-fPkfAMnh1RGxXE2Pim2CwegtPz9u_5LmhixzlahOu0lRYI1BpwmYR5DqBc1hiCzhPqXVcrne1T03oW2Q9WvEZ26wGViQfSdZbisT-xBVkzj8FPPEEw4vWFc1Z2BVyza68W5G-c31u6Y2vTG5s0" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;">図 ImageJのpluginsフォルダへコピー(これでインストール完了)</div><ul style="text-align: left;"><li>JDK 1.8</li><ul><li>OpenJDK1.8の最新バージョンをインストールして、環境変数にJAVA_HOMEパスを追加してください。
(JDK 1.8以外ではエラーが起こる可能性があります。) </li><li>参考:JDKのインストール方法(Windows)<a href="https://www.javadrive.jp/start/install/index4.html">https://www.javadrive.jp/start/install/index4.html</a></li></ul><li>データセット</li><ul><li>こちらからダウンロードします。</li><li><a href="https://drive.google.com/file/d/1Tet5rSuD1Zw1tbyIicGGU3dyYIO5OIht/view?usp=sharing">https://drive.google.com/file/d/1Tet5rSuD1Zw1tbyIicGGU3dyYIO5OIht/view?usp=sharing</a></li><li>画像データ、Ageラベルデータ、解析処理のsettingsファイルが含まれています。</li><li>データセットの元は、JSRTから教育研究用に公開されているSegmentation02データセットおよびAgeデータセットです。 ダウンロード用のデータセットは、元のデータから欠損ラベル除外、ファイル名統一を行ったデータになっています。</li></ul></ul><div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiCefw2rpUdwg2OuwWw8-KKFqf1L9gSybWliVBGC2KxZAJKLaJTbrBQFehtA8ms1H70dfkXgyPrfgNwPiNOkl37mwp4bgYgfWuwgnOO2MSTZNiESEwEIHdKbOy2E6lkqTE_GS9AaUF0gJOQ5e-Xn90hPAJ68lK5CaQOfYnV3Vl9yRlIsupUPY_0EbM" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="766" data-original-width="1125" height="218" src="https://blogger.googleusercontent.com/img/a/AVvXsEiCefw2rpUdwg2OuwWw8-KKFqf1L9gSybWliVBGC2KxZAJKLaJTbrBQFehtA8ms1H70dfkXgyPrfgNwPiNOkl37mwp4bgYgfWuwgnOO2MSTZNiESEwEIHdKbOy2E6lkqTE_GS9AaUF0gJOQ5e-Xn90hPAJ68lK5CaQOfYnV3Vl9yRlIsupUPY_0EbM" width="320" /></a></div><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjDxRUwZCttwyck7LTcFpvDvYZJA6vQOMn9jgRzHL2Y0DW87SGa8t20OeuG2ZMTJ4wsBP2bejYUJYsGm9gHT60iZBQO4SIwNxsZRzjCzQGvZX_ceKQha7qlp_Xqtvs68jNRBS-agMM1ZTX0dUArPfs9y9YH7GUL18hoYNXkWhMTHrcAQzTxebwUOso" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="766" data-original-width="1125" height="218" src="https://blogger.googleusercontent.com/img/a/AVvXsEjDxRUwZCttwyck7LTcFpvDvYZJA6vQOMn9jgRzHL2Y0DW87SGa8t20OeuG2ZMTJ4wsBP2bejYUJYsGm9gHT60iZBQO4SIwNxsZRzjCzQGvZX_ceKQha7qlp_Xqtvs68jNRBS-agMM1ZTX0dUArPfs9y9YH7GUL18hoYNXkWhMTHrcAQzTxebwUOso" width="320" /></a></div></div><ul style="text-align: left;"><li>Weka</li><ul><li>こちら(<a href="https://waikato.github.io/weka-wiki/downloading_weka/">https://waikato.github.io/weka-wiki/downloading_weka/</a>)からOSに合わせてダウンロードします。</li></ul></ul><div><br /></div></div><h3 style="text-align: left;">レディオミクスのプロセスの全体像</h3><div><br /></div><div>レディオミクスのプロセスは、大きく二つのステップで構成されます。 </div><div><ol style="text-align: left;"><li>画像特徴を計算する </li><li>機械学習で予測モデル作成する </li></ol></div><div><br /></div><div>①は、解析したい画像上の関心領域を決めて、画像特徴を計算します。</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgTploiPOWrMZkUuxotmSae4XWid5QQHu0pusV35e4aEhSoKk3njxwnqii8kBatoHJ8z7ulD9SnDHHqgKHEaIHrZqlGPx1hLwK247dH8dpE-P-ZMhxiPPXlmuSeTSvViCKUPD3RxA5frJuF36kNl38UP3aIPyKYhp_qnZ0NvzcQlRIFdjAREQS0Zhg" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="256" data-original-width="256" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEgTploiPOWrMZkUuxotmSae4XWid5QQHu0pusV35e4aEhSoKk3njxwnqii8kBatoHJ8z7ulD9SnDHHqgKHEaIHrZqlGPx1hLwK247dH8dpE-P-ZMhxiPPXlmuSeTSvViCKUPD3RxA5frJuF36kNl38UP3aIPyKYhp_qnZ0NvzcQlRIFdjAREQS0Zhg" width="240" /></a> <a href="https://blogger.googleusercontent.com/img/a/AVvXsEiX_zUjDiCV6h3X9LpjvE6Y7vHKak3dhkoSBjnS8yWmhx103JG7GcmX47qo3zJf0-omVynA-FCNHkcztJikkIrFcpIAEKgo_9ZO9ybK8fQsOOzPuYAvndVxt3g-8W1FppbbiJxDFnZjWNTkmoEAhuuqbKKzCfi8-Tb9k8itilLwa2j4tZKHshXbO2A" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="256" data-original-width="256" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEiX_zUjDiCV6h3X9LpjvE6Y7vHKak3dhkoSBjnS8yWmhx103JG7GcmX47qo3zJf0-omVynA-FCNHkcztJikkIrFcpIAEKgo_9ZO9ybK8fQsOOzPuYAvndVxt3g-8W1FppbbiJxDFnZjWNTkmoEAhuuqbKKzCfi8-Tb9k8itilLwa2j4tZKHshXbO2A" width="240" /></a></div></div></div><div style="text-align: center;">図 胸部レントゲン画像(case001)</div><div><br /></div><div>今回の胸部レントゲンの例では、解析したい画像上の関心領域はマスク画像(ラベル画像とも呼びます)で指定されます。今回の例では、肺野領域:255、心臓:85、肺野外:170、体外:0の画素値になっています。肺野は、マスク画像上で255の値の白い領域です。この肺野から画像の特徴を計算したいときは、この領域を計算するように設定すればよいということになります。心臓の縦隔領域を解析したい場合は、85の領域(濃いグレーの部分)を指定すればいいということです。</div><div> ②の機械学習は、一般的な機械学習の手順で、説明変数と目的変数を設定して、予測モデルを作成・テストします。</div><div><br /></div><div>レディオミクスで一番大変なのは、このようなデータセットの準備ですが、ImageJを使って比較的簡便に作成できます。</div><div><br /></div><div>ここで、マスク画像の作成方法を紹介します。(この操作は以降の機械学習モデル作成には不要です)</div><div><br /></div><div>作成時のポイントは、ROIマネージャツールを使うことです。
ROIマネージャはAnalyze>Tools>ROI Managerから起動します。ROIマネージャにROIを追加するには、好きなROIツールで画像にROIを描いた後、「Add」します。 </div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEi0Fac9SHdUThLKf2zYm-NCkM5n7jV3CNd9grf4x12ja4I7GbRoWz_cC-veZl4lkt3gpVgKaDeWwNUJS1l4IxXW-WEBtTO0tnOzJ1h4P18Vvi9luF403hGMqSAptwDwZeAvhaDugv7egn4etMW6T5cveYXb7CjN1n0mHwkhVsln3bSAU_qGCnyuR1I" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="281" data-original-width="359" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEi0Fac9SHdUThLKf2zYm-NCkM5n7jV3CNd9grf4x12ja4I7GbRoWz_cC-veZl4lkt3gpVgKaDeWwNUJS1l4IxXW-WEBtTO0tnOzJ1h4P18Vvi9luF403hGMqSAptwDwZeAvhaDugv7egn4etMW6T5cveYXb7CjN1n0mHwkhVsln3bSAU_qGCnyuR1I" width="307" /></a><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjsXK8MCD45t9z1KsXMZz816VgS3c4AKr1pQNFCr_2KWTv0W6W78640_oOs-H3RoJBUOIyJM9BN5whTuGghBLOce8w09bPIrQiF2zTmZYl6YNVxJzb-9cEx6Z9rL19VyZ5jMSUyTEySLFdciQpEuLIjgKkCOP8g_wVFuKIdGxjW3Wg13w-B5Iy7p-k" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="309" data-original-width="268" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEjsXK8MCD45t9z1KsXMZz816VgS3c4AKr1pQNFCr_2KWTv0W6W78640_oOs-H3RoJBUOIyJM9BN5whTuGghBLOce8w09bPIrQiF2zTmZYl6YNVxJzb-9cEx6Z9rL19VyZ5jMSUyTEySLFdciQpEuLIjgKkCOP8g_wVFuKIdGxjW3Wg13w-B5Iy7p-k" width="208" /></a></div></div><div style="text-align: center;">図 ROIを描いた様子</div></div><div><div style="text-align: center;">(描かれたROIはROIマネージャにAddされている)</div><br /></div><div>ROIを更新したとき(形や位置を変えたとき)は、「Update」ボタンを必ず押すようにします。</div><div><br /></div><div>ROIが設定出来たら、ROI以外の領域を0、ROIの内側を任意の値にします。
RadiomicsJは8-bitグレースケールのマスク画像(Tifがデフォルト)に対応していますので、ROIの内側の値は、0~255である必要があります。
例えば、肺の領域を255、そのほかを0にしたい場合は、ImageJメニューのEdit>Clear OutsideでROI以外の領域を0にできます。</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiIL7LfsszAAH6G5yQG3MkApDPafb5OXh-YK9tm-YZcbfSZCbP4SpfgyFZ0ZBHzrAzG1YQHJvBZwbDdchelsBcgXVOODLN2vs-YTI8YwCjkXKkKv2fILy7dQbzbU6oYYzJ54PvIdsqmKFeIbvJ-1K_4_fWFXZEpiormko7DYW9npF8Aa3OJkTqQSm8" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="309" data-original-width="268" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEiIL7LfsszAAH6G5yQG3MkApDPafb5OXh-YK9tm-YZcbfSZCbP4SpfgyFZ0ZBHzrAzG1YQHJvBZwbDdchelsBcgXVOODLN2vs-YTI8YwCjkXKkKv2fILy7dQbzbU6oYYzJ54PvIdsqmKFeIbvJ-1K_4_fWFXZEpiormko7DYW9npF8Aa3OJkTqQSm8" width="208" /></a></div><div style="text-align: center;">図 Edit>Clear Outside</div></div><div><br /></div><div>Clear Outsideをしてから、Process>Math>Set...で、値を255にして実行します。 </div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjmwAYlAb9eTr7qmDnCg9S8ZfIgnIML5obrxdYcknYI7Xxq6nu8u-XxcIsyM9kuQLkuVYIc9TLuGKiiTE840w_pJQyzdtEMMHFYDPSYllRabfEu9jmMFxQHXHHmdBZqVKDpXiSKxYcCkhJ8lRXtSvE-o3WR9jOpTUQOo8hIjtZOaaZsrZtZnh_Sewk" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="309" data-original-width="268" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEjmwAYlAb9eTr7qmDnCg9S8ZfIgnIML5obrxdYcknYI7Xxq6nu8u-XxcIsyM9kuQLkuVYIc9TLuGKiiTE840w_pJQyzdtEMMHFYDPSYllRabfEu9jmMFxQHXHHmdBZqVKDpXiSKxYcCkhJ8lRXtSvE-o3WR9jOpTUQOo8hIjtZOaaZsrZtZnh_Sewk" width="208" /></a></div><div class="separator" style="clear: both; text-align: center;">図 <span style="text-align: left;">Process>Math>Set...(値を255にした例)</span></div><br />この操作を繰り返してマスク画像ができます。</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjyzvvJBiIFNh-A3aWi8inN0TUwS6Lls5qlDU9zjKIpAw3hxLcZXPIrMAaAH38W__5MdP2_B5G5Ai-W4Mv3V3z-afuYoARv3n8vUvdaBV6QHH5LEOkhOfzfWLEyf7A61DygXq7ztLJnAISOP1-oc4ABIa9sCvgzccjGarGw_Xg5Mlz3OTwO-Hm-Hws" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="309" data-original-width="268" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEjyzvvJBiIFNh-A3aWi8inN0TUwS6Lls5qlDU9zjKIpAw3hxLcZXPIrMAaAH38W__5MdP2_B5G5Ai-W4Mv3V3z-afuYoARv3n8vUvdaBV6QHH5LEOkhOfzfWLEyf7A61DygXq7ztLJnAISOP1-oc4ABIa9sCvgzccjGarGw_Xg5Mlz3OTwO-Hm-Hws" width="208" /></a></div><div style="text-align: center;">図 出来上がったマスク画像</div></div><div><br /></div><div>完成したら、解析画像とはフォルダを分けて、Tif形式で保存しておきます。保存するときの画像ファイル名は、解析画像と同じ画像名などにしておくとわかりやすいです。RadiomicsJはTif形式が標準画像フォーマットです(ImageJで読み込めるファイルならばOKです)。保存の際、元の解析画像を上書きしないように注意します。 ROIデータの結合や分離もROI Manager上で行うことができます。ROIデータは保存しておくことができるので、やり直しも可能です。 </div><div><br /></div><h3 style="text-align: left;">Radiomic特徴を計算する</h3><div><br /></div><div>RadiomicsJによるRadiomic特徴の計算には、3つのデータが必要です。 </div><div><ol style="text-align: left;"><li>画像データ </li><li>マスクデータ </li><li>セッティングファイル</li></ol></div><div>RadiomicsJはグラフィカルユーザーインターフェースからの操作や、コマンドプロンプトから一括計算処理することもできます。
セッティングファイルはコマンドプロンプトによる操作の時に必要になります。順に解説します。</div><div><br /></div><h4 style="text-align: left;">ImageJのプラグインとして利用する方法(一例ずつ処理)</h4><div><br /></div><div>画像を一枚一枚確かめながら解析を行いたい場合は、解析画像とマスク画像をIJで表示した状態で、ImageJのプラグインを起動し、画像を設定して、計算を実行します。</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjFLvxijn8jATYffcj_q6Q4c4ftPOzfo2mkBCKGJ341XcEklFU1Xtvmxfee04wdra0S5nZNGrFYkx8qREOi-IhENdWfeVrhEF7KXnX6OLLeMs2ze7s8L2TlYWiVd5ic1f9IpQhauRPtydctzIRJfQGj6V3gybPi31CPhL9D5cCtYngrw8pXmzPHQ6k" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="742" data-original-width="1335" height="357" src="https://blogger.googleusercontent.com/img/a/AVvXsEjFLvxijn8jATYffcj_q6Q4c4ftPOzfo2mkBCKGJ341XcEklFU1Xtvmxfee04wdra0S5nZNGrFYkx8qREOi-IhENdWfeVrhEF7KXnX6OLLeMs2ze7s8L2TlYWiVd5ic1f9IpQhauRPtydctzIRJfQGj6V3gybPi31CPhL9D5cCtYngrw8pXmzPHQ6k=w640-h357" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;">図 Plugins>My_RadiomicsJPlugin (解析画像とマスク画像はプラグインを起動する前にIJに表示しておく)</div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhMzHyThyM2lCShHthHCnUU-ar-WbdKKyGgE6HOstur2TTEbb5JLhKe2Kepa5esq1EIbH8Ypb8X7QqlTOy0rU9bic1tWS83255anaI_-WR23s7J9x1bqia778apiWyDHEaYnWDjmE79mF-IMYt_164iSLkA1xhdZQ3XD6xZLe6H0ZLI3Sx8QmQdTe0" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="293" data-original-width="686" height="137" src="https://blogger.googleusercontent.com/img/a/AVvXsEhMzHyThyM2lCShHthHCnUU-ar-WbdKKyGgE6HOstur2TTEbb5JLhKe2Kepa5esq1EIbH8Ypb8X7QqlTOy0rU9bic1tWS83255anaI_-WR23s7J9x1bqia778apiWyDHEaYnWDjmE79mF-IMYt_164iSLkA1xhdZQ3XD6xZLe6H0ZLI3Sx8QmQdTe0" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;">図 特徴量の計算結果がResultTableに表示される(少し時間かかります)</div></div><br />追加で解析をしていく場合も同様の操作を繰り返します。 このとき、ResultTableを閉じずにそのままにしておくと、行が追加されていきます。</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEi2HM2miQQRJrK5QKzzYu59reR6dch1tP_Gliqopw_Dv3lhyJ7QtYCnq-8Vpl9imyUFdVWNF_yccNUi0sBpfk8HZbkWGkd0_Y-hEfQzH4XICzIPOMpTAij2t0ZE7aB8YxKvlgdqQp0TaNoCX1x8T_HSSwyYpmKtkgcfifsc4DNve3CabFAsv6POprk" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="743" data-original-width="1299" height="366" src="https://blogger.googleusercontent.com/img/a/AVvXsEi2HM2miQQRJrK5QKzzYu59reR6dch1tP_Gliqopw_Dv3lhyJ7QtYCnq-8Vpl9imyUFdVWNF_yccNUi0sBpfk8HZbkWGkd0_Y-hEfQzH4XICzIPOMpTAij2t0ZE7aB8YxKvlgdqQp0TaNoCX1x8T_HSSwyYpmKtkgcfifsc4DNve3CabFAsv6POprk=w640-h366" width="640" /></a></div>図 連続して解析していく例(画像は表示しなおしてから再度プラグインを起動、設定(図中矢印)を適用する)</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEga5X9OG0MUokrMVCnjciESFsKmXOoimv_xyWSjs6VWENpS_eMKxENrPTaNex_fkVYDxcBSzby4g-YGznPOTLohPcTRBhtpml2w9dgJMopeivwUp6O824gFgXF0oGb4TnpafzLer5OHH3JkI4aIrhLVKGOUdQo0sQLC1aT_qE4HDlzYS6KS-xNgZVE" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="293" data-original-width="686" height="137" src="https://blogger.googleusercontent.com/img/a/AVvXsEga5X9OG0MUokrMVCnjciESFsKmXOoimv_xyWSjs6VWENpS_eMKxENrPTaNex_fkVYDxcBSzby4g-YGznPOTLohPcTRBhtpml2w9dgJMopeivwUp6O824gFgXF0oGb4TnpafzLer5OHH3JkI4aIrhLVKGOUdQo0sQLC1aT_qE4HDlzYS6KS-xNgZVE" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;">図 ResultTableに新しい解析結果が追加される</div></div><div><br /></div><div>結果を保存したいときは、このResult Tableの機能(File>Save)を使って保存できます。</div><div><br /></div><div>しかし、一般に、大量のデータを自動的に繰り返し処理したいことの方が多いと思います。そのような場合は、次に説明するコマンドプロンプトからの操作が可能です。 </div><div><br /></div><h4 style="text-align: left;">コマンドプロンプトから利用する方法(自動で全処理)</h4><div><br /></div><div>コマンドプロンプトから利用する場合、データセットをフォルダに綺麗に分けておく必要があります。綺麗にというのは、画像とマスクがセットになるように、症例ごとに分けておくという意味です。この際、画像とマスクのファイル枚数は同じになる必要があります。</div><div><br /></div><div>今回の画像データセットはあらかじめorgとlabelにフォルダが分かれており、対応する画像ファイルがそれぞれに準備されています。ファイル数も同じになっています。</div><div>(マトリクスサイズが異なる場合は先に整えておくか、症例ごとにフォルダを分けておく必要があります。また、CTやMRIのようにシリーズが複数の画像で構成される場合もフォルダで分けておく必要があります。 )</div><div><br /></div><div>あとは、計算に必要なセッティングをします。</div><div>計算の実行には、必要に応じて、セッティング情報(.propertiesファイル)を指定できます。
RadiomicsJは3Dがデフォルトです。そのため、今回の胸部レントゲンのような2D画像を解析するときは2Dで解析するように設定します。 </div><div>CTやMRIのシリーズ画像を3Dで処理する場合は、セッティングファイルは省略可能です。</div><div><br /></div><div>今回のデータセットはすべての画像の縦横のマトリクスサイズが同じですので、一連として一括処理します。 </div><div><br /></div><div><b>セッティングファイルの内容</b></div><div><br /></div><div>セッティングファイルには、RadiomicsJで計算可能な特徴ファミリーの計算設定をセットします。 よく使うのは、マスクのラベル値の指定(INT_label)、2D解析とするかどうか(BOOL_force2D)、2Dの画像特徴を計算するか(BOOL_enableShape2D)、デフォルトでない特徴を有効にするか(BOOL_activate_no_default_features)です。 </div><div>有効無効の設定は、1(True)、0(False)で指定します。</div><div><br /></div><div>今回は、2Dでの処理に合わせるために、BOOL_force2D=1, BOOL_enableShape2D=1としています。</div><div><br /></div><div>セッティングファイル内で、「!」「#」が行の先頭についている行はコメントアウト(その行を無視する)を意味しています。</div><div><br /></div><div>他の項目は、特徴計算の専門家が設定するような項目なので、最初は気にしなくてもよいです(例えば、32-bitのPET画像を解析するときはBinWidthで実行したほうがよいなど、モダリティによっても考慮すべきことがあります。詳しくはIBSIリファレンスを参照ください)。 </div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEivetfEXtRY4KetH97pNmTSO8HDKvng-MDWhBY5ynEN69H2KypEo83trRvATOgUKIxT35lxKxs1MDDIzGtZGqcMMoP3vZ3aFuK-N4Rg9AZo5TAYmzx0q51PqurhO3XSVuA9CvhYdHr2RFNhbI_Tb3Zxlkbcb8WfwFsBp1SSGGkptvbHfbqx1yQ2xbI" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1112" data-original-width="869" height="400" src="https://blogger.googleusercontent.com/img/a/AVvXsEivetfEXtRY4KetH97pNmTSO8HDKvng-MDWhBY5ynEN69H2KypEo83trRvATOgUKIxT35lxKxs1MDDIzGtZGqcMMoP3vZ3aFuK-N4Rg9AZo5TAYmzx0q51PqurhO3XSVuA9CvhYdHr2RFNhbI_Tb3Zxlkbcb8WfwFsBp1SSGGkptvbHfbqx1yQ2xbI=w313-h400" width="313" /></a></div><div style="text-align: center;">図 settings.propertiesの例</div></div><div><br /></div><div>特徴計算を実行していきます。</div><div><br /></div><div>コマンドプロンプトを開き、カレントディレクトリをRadiomicsJLibフォルダにします。</div><div>下のようにコマンドを入力し、Enterで実行します。</div><div><br /></div><div>>cd "RadiomicsJLibフォルダまでのパス"</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgqAHWqKVICMxPNqdT-WuCIPlyi3NTXY1nFZSSIhJGb62mmj-3yodllWNg9Eu5DzM9MuVvB1JVZbN7uHoU6rmTP8sexvn2mIJ_NsGlNTU4usNzMWfL0OC21m_rgPIwfVga6OC_d_XobnnDktLv1MBBQGIuk9L0xkcp2orTdaIcvf3OWgH1BKnWQqzM" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="512" data-original-width="979" height="334" src="https://blogger.googleusercontent.com/img/a/AVvXsEgqAHWqKVICMxPNqdT-WuCIPlyi3NTXY1nFZSSIhJGb62mmj-3yodllWNg9Eu5DzM9MuVvB1JVZbN7uHoU6rmTP8sexvn2mIJ_NsGlNTU4usNzMWfL0OC21m_rgPIwfVga6OC_d_XobnnDktLv1MBBQGIuk9L0xkcp2orTdaIcvf3OWgH1BKnWQqzM=w640-h334" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;">図 カレントディレクトリの移動(ダウンロードフォルダにあるRadiomicsJLibフォルダへ移動している例)</div><br /></div><div>次に、処理を実行するためのコマンドを入力し、Enterで実行します。</div><div><br /></div><div>>java -jar RadiomicsJ.jar -i "orgフォルダまでの絶対パス" -m "labelフォルダまでの絶対パス" -s "settings.propertiesまでの絶対パス" -d</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjZ8Mlr-jGSabxTfkVZDFX5cLyw2Iq9kB6O1BViZAfbPGRglsAtw6VBnzohpkAg2qbnReYRYBfsS9FhTyFF6KFdtsoNaiZ7gAhfyylVzDZIzM8bu7ZeE9fojk2Mn57EWygvnf9A5kLnjCSk5CIL5YNX8pUzqLyctl4-goh4NJrcd9C4nb3fkT17Q8Q" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="512" data-original-width="979" height="334" src="https://blogger.googleusercontent.com/img/a/AVvXsEjZ8Mlr-jGSabxTfkVZDFX5cLyw2Iq9kB6O1BViZAfbPGRglsAtw6VBnzohpkAg2qbnReYRYBfsS9FhTyFF6KFdtsoNaiZ7gAhfyylVzDZIzM8bu7ZeE9fojk2Mn57EWygvnf9A5kLnjCSk5CIL5YNX8pUzqLyctl4-goh4NJrcd9C4nb3fkT17Q8Q=w640-h334" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;">図 デスクトップにあるデータセットフォルダ内の各ファイル(org, label, settings.properties)を指定した例</div></div><div><ul style="text-align: left;"><li>オプションの説明</li><ul><li>-i:解析画像フォルダパス</li><li>-m:マスク画像フォルダパス</li><li>-s:セッティングファイルパス</li><li>-o:解析結果CSV保存先(.csvまで必要)</li><li>-d:処理経過の表示</li></ul></ul><div>パスというのは、PC内のフォルダやファイルの場所のことです。</div></div><div>解析結果CSVはデフォルトでは自動で保存されません。自動的に保存したい場合は、-oオプションでcsvファイルの保存場所を指定しておきます。</div><div><br /></div><div>処理が始まると、計算中のプロセスが表示されます。</div><div>245件の処理が終わるまで継続されるので、小一時間かかります。</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiu3JxuBOMTZ4vrxaEuQzZ4dLdX8gqMiZKhElDSeiK7lev6xsHx0IC5nhw5NkyzCZ43IXSTjnQ7V7G_ZtixgBGdm04qTlUZXOeQfoHQUnYCT2SvUMtX3kst3H43TdWMaR8I1Vg22RgIiubcmCiYoi6Dbh70gEuBumyKgd3QiKA0Uylzdxp35u1qAf8" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="512" data-original-width="979" height="334" src="https://blogger.googleusercontent.com/img/a/AVvXsEiu3JxuBOMTZ4vrxaEuQzZ4dLdX8gqMiZKhElDSeiK7lev6xsHx0IC5nhw5NkyzCZ43IXSTjnQ7V7G_ZtixgBGdm04qTlUZXOeQfoHQUnYCT2SvUMtX3kst3H43TdWMaR8I1Vg22RgIiubcmCiYoi6Dbh70gEuBumyKgd3QiKA0Uylzdxp35u1qAf8=w640-h334" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;">図 処理中画面</div></div><div><br /></div><div>処理が終わると、Rediomics Features結果テーブルが表示されます。この結果テーブルのFileメニューから結果をCSV保存します。</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgqHDDE959PYBU2U1u6Mv7FvJqqE31jHermSxADGzft4tqDy2M98LutwKDufzgArF2upmIVHllmHotG_7S74pqXkrre_0d3bfcziPuwhCBQNoSESnAhD31pjzk6fv-ncOh50GxhcqemLajfaCP1dCq-c4bf8GK10cGqpGC5YlAeOgmLVPAxKEaygCU" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="493" data-original-width="686" height="230" src="https://blogger.googleusercontent.com/img/a/AVvXsEgqHDDE959PYBU2U1u6Mv7FvJqqE31jHermSxADGzft4tqDy2M98LutwKDufzgArF2upmIVHllmHotG_7S74pqXkrre_0d3bfcziPuwhCBQNoSESnAhD31pjzk6fv-ncOh50GxhcqemLajfaCP1dCq-c4bf8GK10cGqpGC5YlAeOgmLVPAxKEaygCU" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;">図 Radimomics Features 結果テーブル例(<span style="text-align: left;">Fileメニューから結果をCSVしておく</span>)</div><div class="separator" style="clear: both; text-align: center;"><br /></div>保存したCSVをエクセルで開きます。</div><div><br /></div><div><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiXGztkO-5MtnmcMorSRfaPuJC7mBhYCZnDLWB1kgSq6xCcygtemzMWnKefBOsSqcZR9tNYklyacR3M-sPRCtffUZwFsDP-KjpLDC1zhuZa_efyRrz31MY5e2vZZsQOsADUWhcXrhfRgFuzqsI9GonuAXxfwZvWcfcIfq8sF6JpcJ1q7vPHCJshmlA" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img alt="" data-original-height="1020" data-original-width="1297" height="504" src="https://blogger.googleusercontent.com/img/a/AVvXsEiXGztkO-5MtnmcMorSRfaPuJC7mBhYCZnDLWB1kgSq6xCcygtemzMWnKefBOsSqcZR9tNYklyacR3M-sPRCtffUZwFsDP-KjpLDC1zhuZa_efyRrz31MY5e2vZZsQOsADUWhcXrhfRgFuzqsI9GonuAXxfwZvWcfcIfq8sF6JpcJ1q7vPHCJshmlA=w640-h504" width="640" /></a></div><div><div style="text-align: center;">図 処理結果例(今回はDICOMデータではないので、基本情報はNaNになっている)</div><br /></div><div>これで、画像特徴の計算は完了です。</div><div><br /></div><h3 style="text-align: left;">機械学習モデルを作成する </h3><div><br /></div><div>先に、学習データを完成させます。 </div><div><br /></div><div>今回は年齢を推定するのですが、データも少ないので、分類モデルとして扱う例で示します。60歳以上かどうかを予測するためのモデルを作成してみます。</div><div><br /></div><div>Radiomic特徴の計算結果CSVをエクセルなどで開き、データセットに含まれているage.csvファイル内にある目的変数「elder_class」を、計算結果CSVの一番左のカラムに追加します。 Ageの情報はファイル名順に並んでおり、解析結果もファイル名順に並んでいますので、そのまま列を挿入して追加します。</div><div><br /></div><div><div>次に、不要なカラムを削除しておきます。RadiomicsJはデータの基本的な情報なども取得してテーブルにまとめてくれますが、これらは学習には不要なデータですので、先に削除しておきます。</div><div><br /></div><div>ここでは、OperationalInfo_ではじまるカラム、Diagnostics_ではじまるカラムはすべて削除します。</div><div><br /></div><div>この他にも、①相関の強い、または完全相関する変数は削除、②すべてのデータで同じ数になっている(例えばすべて0であるなど)変数は削除、などしてデータを調整しますが、ここでは、この手順を省略します。</div></div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEh05c18jBnhgjdTixYAQtsvYHXoaTGODYewYEkC2ZZHNLsAmxHqqJ_NHMZyalYJYCApqcYuOYLzAYycorzbHLbBDW4pSiAXW2FChyV7oWge7H3MYcJAFZIbXmLRxt29Spm2zXCztBRDTcKge6smO35NhzuPWuySvt5_iVsQybNNs12PvShFhQWx81k" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="867" data-original-width="1173" height="474" src="https://blogger.googleusercontent.com/img/a/AVvXsEh05c18jBnhgjdTixYAQtsvYHXoaTGODYewYEkC2ZZHNLsAmxHqqJ_NHMZyalYJYCApqcYuOYLzAYycorzbHLbBDW4pSiAXW2FChyV7oWge7H3MYcJAFZIbXmLRxt29Spm2zXCztBRDTcKge6smO35NhzuPWuySvt5_iVsQybNNs12PvShFhQWx81k=w640-h474" width="640" /></a></div>図 elder_class(目的変数)を学習データに追加し、<span style="text-align: left;">OperationalInfo_ではじまるカラム、Diagnostics_ではじまるカラムはすべて削除</span></div></div></div></div><div><br /></div><div>ここまでできたら、CSVを別名で保存しておきます(今回はRadiomics Features lung ML-2.csvとして保存しました)。</div><div><br /></div><div>これで、練習用の学習データの準備が整いました。
Wekaを起動しましょう。</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEicr2ENXuxuUr6GRnnciAA5riAqJjirqitupLjOS1CR6IWghhlRkecqcH2XBHNDGx0dFiYTUP0VzIGRjexcg7jOuuDY8L61FTvRrfD2BIITl113c2gCSqr7-tShei8Yx2RoCqyo-F4_dlgHKsI8WAWb1KNaR9Y2z6_wTvEVCfHy412LvQU2zouvjlQ" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="343" data-original-width="486" height="226" src="https://blogger.googleusercontent.com/img/a/AVvXsEicr2ENXuxuUr6GRnnciAA5riAqJjirqitupLjOS1CR6IWghhlRkecqcH2XBHNDGx0dFiYTUP0VzIGRjexcg7jOuuDY8L61FTvRrfD2BIITl113c2gCSqr7-tShei8Yx2RoCqyo-F4_dlgHKsI8WAWb1KNaR9Y2z6_wTvEVCfHy412LvQU2zouvjlQ" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;">図 WEKA</div></div><div><br /></div><div>「Explorer」を起動します。Preprocessタブ内の「Open file...」から学習データCSVを読み込みます。 CSVを読み込むために、「Files of Type:」で読み込むファイルの形式をCSVに変更します。</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgYcV7JkmGuhGkexvZTjiwiGMbjBeoF2TM4PX9ymGmfMLBEbDw5keVrE97J-4bPemg2O8F82wiYJPIDCpMQVFfrN-_Oa9tSCgdUWP-omKUADETBELDXBvAQQ4xrfSGr1oyLxwhCcEKMDcVh2ZQY3n2_Wzt2M52OVY12w-Jaybw3ZFQ9k8_FvhWk-Rk" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="761" data-original-width="1010" height="482" src="https://blogger.googleusercontent.com/img/a/AVvXsEgYcV7JkmGuhGkexvZTjiwiGMbjBeoF2TM4PX9ymGmfMLBEbDw5keVrE97J-4bPemg2O8F82wiYJPIDCpMQVFfrN-_Oa9tSCgdUWP-omKUADETBELDXBvAQQ4xrfSGr1oyLxwhCcEKMDcVh2ZQY3n2_Wzt2M52OVY12w-Jaybw3ZFQ9k8_FvhWk-Rk=w640-h482" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiNs_1SDI_5lzDnSZ8EwwA7T8SA6MOPqgsiJAHBeAgi8Zl2P4ETquCxFxIcQMOq-SIysEhepYuYoDKqAvWIHfmtkQP7k57EAXNRK8leqDCV-cixQpazYwc2wH9aigpLX9mFtbgBCcN-jwXdJrJ7ufSQQRfvggXCN1utEwxT9I3_hQriAIgbE6F_wvA" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="532" data-original-width="752" height="452" src="https://blogger.googleusercontent.com/img/a/AVvXsEiNs_1SDI_5lzDnSZ8EwwA7T8SA6MOPqgsiJAHBeAgi8Zl2P4ETquCxFxIcQMOq-SIysEhepYuYoDKqAvWIHfmtkQP7k57EAXNRK8leqDCV-cixQpazYwc2wH9aigpLX9mFtbgBCcN-jwXdJrJ7ufSQQRfvggXCN1utEwxT9I3_hQriAIgbE6F_wvA=w640-h452" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;">図 CSVのロード</div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhXp8EGwF1kcDqasetzpcbbUGuE8ujD3qinO2GVRKAY4hmTmGvQoBVEbzqmc_xZ5range-mpF5Fr4qX-7fHjMuz-bSGQF_wK6K04n2RovGpFkQavm1jtFf9gAjp0fuU7_Vup3UzidwFXz3xcodaNxjZvAagdghVooUIrIAilfrvkLw9zvivaJtcjB8" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="761" data-original-width="1010" height="482" src="https://blogger.googleusercontent.com/img/a/AVvXsEhXp8EGwF1kcDqasetzpcbbUGuE8ujD3qinO2GVRKAY4hmTmGvQoBVEbzqmc_xZ5range-mpF5Fr4qX-7fHjMuz-bSGQF_wK6K04n2RovGpFkQavm1jtFf9gAjp0fuU7_Vup3UzidwFXz3xcodaNxjZvAagdghVooUIrIAilfrvkLw9zvivaJtcjB8=w640-h482" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;">図 データを開いた結果</div></div></div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><br /></div></div></div><div>データのサマリーは「Visualize」タブから確認できます。</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgHc3pWg0YqmbpjMoGtuwPmHHQr8ehLPfjOf-Y6Zv-lFOnsFr9H3O7qvG_p9fnByCkSCWmzOqgvNcJFjr0zOKlXlhHFZjZYPQAHG7dBzmP1lmCbVbtz35nXoQaEkDwWDT_BgYUKgyrcPaYXan50TBJbW3zzDl_qp-wpT6Q3NphfXKNqigkXs_WURBc" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="761" data-original-width="1010" height="482" src="https://blogger.googleusercontent.com/img/a/AVvXsEgHc3pWg0YqmbpjMoGtuwPmHHQr8ehLPfjOf-Y6Zv-lFOnsFr9H3O7qvG_p9fnByCkSCWmzOqgvNcJFjr0zOKlXlhHFZjZYPQAHG7dBzmP1lmCbVbtz35nXoQaEkDwWDT_BgYUKgyrcPaYXan50TBJbW3zzDl_qp-wpT6Q3NphfXKNqigkXs_WURBc=w640-h482" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><span style="text-align: left;">図 データサマリー</span></div></div><div><br /></div><div>次に、「Preprocess」タブで、前処理を実行していきます。今回は、定数のみを含むの説明変数の除外のために「RemoveUseless」とデータの標準化「Standardization」を適用してみます。(外れ値の除外も可能ですが、説明が煩雑になるため省略します。方法はこちら:https://youtu.be/WrjpO7CmUoQ)</div><div><br /></div><div>「RemoveUseless」は、PreprocessタブのFilterボタンから、unsupervised>attributes>RemoveUselessを選択し、右側のApplyボタンを押して実行します。</div><div>この操作で、すべて「0」などの値となっていた変数がドロップされます。</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjekHoWLvwONklg4MfIBNFP1h4yuj2DhDsW21CFz1zdKkY7ezFoVnujwJXDghyI2NW3wxsqpgwZ6B8coiTgmuR-iKKkWw735lz7mSgyYT2v-sF-Vkd_59FJvF_WFP2fACeDeQ4592TWmA2ZolvyKTtBaruSZonwHkWaVxBGHMCX3oadgNcGix9LlIk" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="761" data-original-width="1041" height="468" src="https://blogger.googleusercontent.com/img/a/AVvXsEjekHoWLvwONklg4MfIBNFP1h4yuj2DhDsW21CFz1zdKkY7ezFoVnujwJXDghyI2NW3wxsqpgwZ6B8coiTgmuR-iKKkWw735lz7mSgyYT2v-sF-Vkd_59FJvF_WFP2fACeDeQ4592TWmA2ZolvyKTtBaruSZonwHkWaVxBGHMCX3oadgNcGix9LlIk=w640-h468" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;">図 RemoveUseless</div></div><div><br /></div><div>次に、同様の操作で、標準化を実施します。unsupervised>attributes>Standardizeで選択できます。同様にApplyして実行します。文字列のカテゴリ変数でない数値の変数はすべて標準化されます。</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEj8D86-9a4_7CN3Uy73D-_rtnItVm8sN7UCCaU4FrrI4-DbQxAtLV49z1sPR4Y9PeYF8jikL7cHgF96IDIVZL8_NBY1ebgiZz2fC2K1kw0l1O3DgurIzyX1TRchwDV9ARe-Q5ALOCRL1ZN5Kn4fqzZZPMK0A2WMc-CPsdUCjjfw925Bg_bkEvPBFJE" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="761" data-original-width="1046" height="466" src="https://blogger.googleusercontent.com/img/a/AVvXsEj8D86-9a4_7CN3Uy73D-_rtnItVm8sN7UCCaU4FrrI4-DbQxAtLV49z1sPR4Y9PeYF8jikL7cHgF96IDIVZL8_NBY1ebgiZz2fC2K1kw0l1O3DgurIzyX1TRchwDV9ARe-Q5ALOCRL1ZN5Kn4fqzZZPMK0A2WMc-CPsdUCjjfw925Bg_bkEvPBFJE=w640-h466" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;">図 標準化(Standardize)</div></div><div> </div><div>最後に、学習方法を設定して学習を実行します。 利用する分類器は今回はランダムフォレストにしました。 </div><div><br /></div><div>学習の設定</div><div><ul style="text-align: left;"><li>Classifier: RandomForest</li><li>Cross-validation: 10 folds-CV</li><li>Target class: elder_class (間違えやすいので注意)</li><li>Startで実行</li></ul></div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEj75jShRbgbYT_BpfUDIiPumbRfFZm3f4-5FnjKWQi5Db2_Bddy7vQbd5k5ZV-RAFGrGgf6XJBRCRTevPIzi37NaF9rClJXQXn_V0HfDliy1-f1lvWWLxWy15TtNzZhTleA9AfyYEisaKKfytPwUnZDBcegMD3NNutTBvXEtz1C9MJj_XY2EDJ0LbE" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="761" data-original-width="1056" height="462" src="https://blogger.googleusercontent.com/img/a/AVvXsEj75jShRbgbYT_BpfUDIiPumbRfFZm3f4-5FnjKWQi5Db2_Bddy7vQbd5k5ZV-RAFGrGgf6XJBRCRTevPIzi37NaF9rClJXQXn_V0HfDliy1-f1lvWWLxWy15TtNzZhTleA9AfyYEisaKKfytPwUnZDBcegMD3NNutTBvXEtz1C9MJj_XY2EDJ0LbE=w640-h462" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><span style="text-align: left;">図 学習の設定</span></div></div><div><br /></div><div>分類精度は学習終了時に表示されます。</div><div><br /></div><div>AUCは0.679でした。 </div><div><br /></div><div>Startボタン下にある「Result list」に解析結果が保存されます。このリストを右クリックして、「Visualize thresholdCurve」(TRUEの方)を実行すると、ROC曲線を確認できます。</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEharY6Gj02ypvWsw7-YsN8EXjVKXDe-zWzrnTZy4ZkXt6wr7OrrGqVArPG3IFAkzYulPNhFknBL8Wcpk_pPYY1mlwoXnyIOCydE6qOcDToogah7zNMVXIOVngFIWkt6_RnnP0obZReJ9E8rJQiC1yMhRWsrlJCardvrvjWncm_Xs9PWB7kNQkhAwRc" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="593" data-original-width="786" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEharY6Gj02ypvWsw7-YsN8EXjVKXDe-zWzrnTZy4ZkXt6wr7OrrGqVArPG3IFAkzYulPNhFknBL8Wcpk_pPYY1mlwoXnyIOCydE6qOcDToogah7zNMVXIOVngFIWkt6_RnnP0obZReJ9E8rJQiC1yMhRWsrlJCardvrvjWncm_Xs9PWB7kNQkhAwRc" width="318" /></a></div><div class="separator" style="clear: both; text-align: center;"><span style="text-align: left;">図 ROC-AUC (TRUEクラス)</span></div></div><div><br /></div><div>今回は、分類精度が低くなってしまったのですが、これがAUC 0.9などの予測モデルであれば、結構いい感じの予測モデルになりそうということがわかります。</div><div><br /></div><div>訓練した予測モデルは、modelファイルとして保存(Result listを右クリックしてSave model)しておき、Weka APIを通じてアプリケーションから利用できます。 </div><div><br /></div><h3 style="text-align: left;">Knowledge Flowを使う</h3><div><br /></div><div>Wekaには、複雑な機械学習プロセスを可視化しながら実行できる機能があります。</div><div>「Knowledge Flow」です。</div><div>この機能は、Explorerでできることをアイコンを使ってパイプラインを描くことができます。Explorerでは、途中でどこまでやったかわからなくなってしまったりすることもあるので、直感的にわかりやすいインターフェースは重宝されます。</div><div><br /></div><div>今回の解析に特徴選択というプロセスを追加した例を示します。</div><div>(Wekaはいろいろな特徴選択が可能です:https://youtu.be/Pf9yKjSiVnw)</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEh-JyqFSqlMPkqP3Lb5P8B7gOdXZ-L3whFrGaMMY6kOsDOwaQQP0N3yfhD-OJSvNGEMy1jfAUcohcCXd4cBFLE6Ix9Mp2Jr4UHTpe8Er0gTte3djnFWnrWoTmN4L05YMe09FNmAGRUiDS6uV5LBcxWtCn1arpTURpYkuF3XjViKYgTKbC6eUANAtJM" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="927" data-original-width="1498" height="396" src="https://blogger.googleusercontent.com/img/a/AVvXsEh-JyqFSqlMPkqP3Lb5P8B7gOdXZ-L3whFrGaMMY6kOsDOwaQQP0N3yfhD-OJSvNGEMy1jfAUcohcCXd4cBFLE6Ix9Mp2Jr4UHTpe8Er0gTte3djnFWnrWoTmN4L05YMe09FNmAGRUiDS6uV5LBcxWtCn1arpTURpYkuF3XjViKYgTKbC6eUANAtJM=w640-h396" width="640" /></a></div><div style="text-align: center;">図 Knowledge Flowの構築例(訓練データとテストデータを分割し、訓練データで特徴選択を実行。訓練データのみの交差検証と、特徴選択済みのモデルをテストデータで評価した結果を同時に得る)</div></div><div><ol style="text-align: left;"><li>利用したい処理をツリーから選び、キャンバスに追加していきます。</li><li>右クリックで処理の流れに使うデータセットを選び、繋げていきます。</li><li>処理の結果や、マップは、Visualize機能を使います。</li><li>各アイコンには詳細設定を追加できます。</li><li>フローが完成したら、実行ボタンで実行できます。</li></ol><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiqP8Cj36WTVSs9H5PCOb3iJfIkDFAbIo59KcEYGeaETTAqDTNtWzp1LWZa0jCG7r1aY3UPGJDozvjXb4vlkHx_EuPtDSGnY-hdX4pRcIchUYn3VnlchR6228ZEofz7zW4wwQ4WfQXZfXot7iG8oLmRxIt6BdWMy7qnP_e8lEtVtpZ0WbPraKp9jXg" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="593" data-original-width="986" height="384" src="https://blogger.googleusercontent.com/img/a/AVvXsEiqP8Cj36WTVSs9H5PCOb3iJfIkDFAbIo59KcEYGeaETTAqDTNtWzp1LWZa0jCG7r1aY3UPGJDozvjXb4vlkHx_EuPtDSGnY-hdX4pRcIchUYn3VnlchR6228ZEofz7zW4wwQ4WfQXZfXot7iG8oLmRxIt6BdWMy7qnP_e8lEtVtpZ0WbPraKp9jXg=w640-h384" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;">図 訓練データによる交差検証結果(訓練データによって特徴選択を行っているため少し精度が高くなる, AUC 0.73)</div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgC-Mvr7xvNxJVxtmanMAGH7dZPPN44Q9G4nwsYrfO8JeZ2ZTBbxDfqMisJPGUomDHdgVhBUDucM8fgPs-HFzGYLlmv6-RKBANxTVsBNsQcohDf6_BMOvvNKC9V6GvmiJpfMgSajC7W_lk6N3kg0x941ODCyOi9xO4gHr_EITZkTUJQXTP6cL0TE7M" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="593" data-original-width="986" height="384" src="https://blogger.googleusercontent.com/img/a/AVvXsEgC-Mvr7xvNxJVxtmanMAGH7dZPPN44Q9G4nwsYrfO8JeZ2ZTBbxDfqMisJPGUomDHdgVhBUDucM8fgPs-HFzGYLlmv6-RKBANxTVsBNsQcohDf6_BMOvvNKC9V6GvmiJpfMgSajC7W_lk6N3kg0x941ODCyOi9xO4gHr_EITZkTUJQXTP6cL0TE7M=w640-h384" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;">図 テストデータによる精度(AUC 0.65)</div><br /></div></div></div><h3 style="text-align: left;">縦隔から60歳以上かどうかを予測する</h3><div><br /></div><div>これまでの例では、肺野から取得されたラジオミクス特徴で予測モデルをテストしていました。同じ手順で縦隔(主に心臓)のラジオミクス特徴から60歳以上かどうかを予測することもできます。ラジオミクス計算時に、settings.propertiesの「INT_label」を85にして計算するだけです。</div><div><br /></div><div>また、AgeラベルCSVには10歳刻みのカテゴリを予測するためのラベルも用意しています。マルチクラス分類は、筆者が試した限りでは難しそうでしたが、ご興味のある方は、ラベルを入れ替えて試してみることができます。</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiMD1TEhHuHxXih0G1yBgJRAtdrYuiZdseuG3jSEY0wfqIy3fBUp7RgDtG1kYWdXq5fXGNAVO5oFPM71r8jZipMSTPQ9SGIxyBAmFPjbWUMzfQSupkGvd5PveOAypCBXO9lHMef6Qg-N6jw1hZMyYy9Koe7X-fvsvUeWvldt8tgwfuiIy3QbnyZRS0" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1020" data-original-width="1297" height="504" src="https://blogger.googleusercontent.com/img/a/AVvXsEiMD1TEhHuHxXih0G1yBgJRAtdrYuiZdseuG3jSEY0wfqIy3fBUp7RgDtG1kYWdXq5fXGNAVO5oFPM71r8jZipMSTPQ9SGIxyBAmFPjbWUMzfQSupkGvd5PveOAypCBXO9lHMef6Qg-N6jw1hZMyYy9Koe7X-fvsvUeWvldt8tgwfuiIy3QbnyZRS0=w640-h504" width="640" /></a></div>図 ラベルを年代に変更したレディオミクスCSV例</div> </div><h3 style="text-align: left;">他の秀逸なレディオミクスのツール </h3><div><br /></div><div>RadiomicsJ以外にもGUIから操作できるツールがあります。</div><div><ul style="text-align: left;"><li>LifeX</li><li>PyRadiomics + 3D Slicer </li><li>etc...</li></ul><div><br /></div></div><h3 style="text-align: left;">レディオミクスの詳しい話について </h3><div><br /></div><div>IBSIリファレンス(https://theibsi.github.io/documentation/)に詳しい手順が解説されていますので、専門家になりたい方は一読をおすすめします。 </div><div><br /></div><h3 style="text-align: left;">おわりに</h3><div><br /></div><div>自分の研究なんて無効な研究だと思っても、無効の組み合わせが有効なものへと形を変えることがあります。
医用画像を使った研究でなんかやろうかなと思っている方は、レディオミクスなんていかがでしょうか。 </div><div><ul style="text-align: left;"><li>医師 </li><ul><li>治療や診断の高品質化に直結するような研究のために。 研究の成果を積み上げるために。</li></ul><li>コメディカル </li><ul><li>専門の領域で、治療や診断とは区別したうえで、生物学的な探索や診断や治療を支援するための研究に。
(医師でなくても、オープンデータを使ってさまざまな検討が可能な時代になりました。)</li><li>最近は、予測モデルをクラウドから実行できるようなサービスもありますので、自分で作った予測モデルを市場に出すことも夢ではなくなりました。</li></ul><li>情報系エンジニア</li><ul><li>医療の知識は医療系の人たちから吸収すれば、あとは得意な情報処理。
医療応用のための基礎技術特許などを通じた社会貢献のために。 </li></ul><li>バイオ系研究者</li><ul><li>人と自然との関連の探求に。 </li></ul></ul></div><div><br /></div><div>RadiomicsJの改良(特徴の追加など)、バグ報告など、ご意見・コメントお待ちしております。</div><div><br /></div><div>Visionary Imaging Services, Inc.
Tatsuaki Kobayashi </div><div><br /></div><div><b>References</b> </div><div><ul style="text-align: left;"><li>元データセット:http://imgcom.jsrt.or.jp/minijsrtdb/</li><li>IBSIリファレンス:https://theibsi.github.io/documentation/</li><li>RadiomicsJ(論文引用をしていただけますと幸いです):https://pubmed.ncbi.nlm.nih.gov/35792994/</li></ul></div><div><br /></div>VISブログ担当者http://www.blogger.com/profile/14228255165322496017noreply@blogger.com0tag:blogger.com,1999:blog-2981532364676062595.post-45239389723294550292021-12-17T01:59:00.003+09:002021-12-18T08:34:14.510+09:00第71回 ImageJで深層学習モデルを動かす!-NVIDIA pre-trained modelの例-<p><span style="color: #444444;">深層学習はアカデミックからの視点で見ればその歴史はその分野内では長いほうで、以前から脳の機能を模倣したアルゴリズムとして研究されてきました。しかし、計算量が膨大になるため、ハードウェア的に計算コストがかかりすぎるなどのリミテーションがあり(あったので)、大衆化までの道のりが長くなってしまいました。しかし、TensorFlowやChainer(現在のPyTorchにも影響を与えた秀逸な日本製・日本発機械学習向けの計算機ライブラリ、現在は開発は終了している)などの深層学習に親和性の高いオープンソースの計算処理ライブラリや、オープンデータ(例えば、MNISTやImageNetなど</span><span style="color: #444444;">)を世界で共有しようというデータサイエンス界の文化もこの分野が急速に注目される追い風になりました。</span></p>
<p>
<span style="color: #444444;"><span>医療応用も進んでいます。今日では、「医用AI」「医療AI」「医療機器プログラム(あるいはすでに申請済みの医療機器プログラムへの機能追加をするなど)」などという枠として承認申請ができるようになり、診療報酬制度下での運用方法も厚労省を中心に議論されています。例えば、CTスキャナーでは、深層学習を使った超解像画像を作ったり、内視鏡では、内視鏡画像からリアルタイムに病変を検出し、悪性度などを予測する、など、臨床でのクリニカル・クエッションに応えようとするモデル(いわゆる、医療AI)が販売されています。</span>
</span></p>
<span style="color: #444444;">このような中で、今回はImageJで深層学習モデルを動かす方法について、NVIDIA社がNGCという取り組みの中で研究者とともに公開している深層学習モデル(肺のセグメンテーション)を例に、その概要と簡単な使い方を説明します。</span><br /><br />
<h3 style="text-align: left;"><span style="color: #444444;">NVIDIA NGC</span></h3>
<span style="color: #444444;"><div>
<span style="color: #444444;"><br /></span>
</div>
NGCは「NVIDIA GPU
CLOUD」の略です。このNGCの取り組みでは、GPUを普及させるために、GPUを利用するとメリットの大きい深層学習モデル開発などを対象として、必要なツールを提供しています。</span><span style="color: #444444;">訓練済みの深層学習モデルデータや、モデルを動かすために必要なコンピュータプログラム群などです。</span>
<div><span style="color: #444444;"><br /></span></div><div>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiTcWvfHHy8Y7g6u0uJoLoixhsdboHozImq5GiiP7HuUjz8ON5ciB4L8FKW4JouUDnwg4OKAOsBos5wpsfx02XSSrndqZoGR0kpO21oxYPpQ17RacB_DZ4eYChyUM8pOklcfMTnKQNl6mH_peMWVQgfvVx6Bg5wKowBl7RXuMNHVyJqzr2yyEjduO4=s1259" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="609" data-original-width="1259" height="155" src="https://blogger.googleusercontent.com/img/a/AVvXsEiTcWvfHHy8Y7g6u0uJoLoixhsdboHozImq5GiiP7HuUjz8ON5ciB4L8FKW4JouUDnwg4OKAOsBos5wpsfx02XSSrndqZoGR0kpO21oxYPpQ17RacB_DZ4eYChyUM8pOklcfMTnKQNl6mH_peMWVQgfvVx6Bg5wKowBl7RXuMNHVyJqzr2yyEjduO4=s320" width="320" /></a></div><div><div style="text-align: center;"><span style="color: #444444;">図 NVIDIA NGC Catalogのページ例</span></div>
<div>
<span style="color: #444444;"><br /></span><span style="color: #444444;">これらのツールはカタログにまとめられており、ユーザーが必要とするサービスを選べるようになっています。クラウド上で深層学習を動かせるように、環境が整えられています。</span>
</div>
<div><span style="color: #444444;">とはいうものの、クラウドサービスとなると、個人の研究やちょっとした勉強レベルでは手を出しにくいですし、試してみようと思いづらいところもあるのではないでしょうか(難しそうだから)。また慣れが必要と感じてしまうのは私だけでしょうか。普段からクラウドが当然で、「あ、PCの電源つけよう!クラウド上の!」とすいすいできる人はクラウドサービスエンジニアくらいでしょう。私のような凡人には遠い感覚です。ふだんの使い慣れたパソコンで、なんならImageJで動かしたい(できるなら無料で)と思ってしまいます。</span>
</div>
<div>
<span style="color: #444444;"><br /></span>
</div>
<div>
<span style="color: #444444;">今回は、このような私が無料・深層学習・ImageJにトライしてみました。</span>
</div>
<div><span style="color: #444444;">以下、手順になります。</span></div>
<div>
<br />
<h4><span style="color: #444444;">pre-trained modelのダウンロード</span></h4>
<span style="color: #444444;"><br /></span><span style="color: #444444;">訓練済みモデル(pre-trained model)は、NVIDIA NGC > Catalog >
modelsのページからダウンロードできます。キーワード検索できます。例として、「lung」で検索すると、このようなモデルのリストが表示されました。</span>
</div>
<div>
<span style="color: #444444;"><br /></span>
</div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiDWPKvHxsd0da_5cRbGHFK_BIBlwH5wHmF6zq9plHyR5wNRHXcu6me7hXdpctwMM0Q7lYQ_MUdfmtTceu0G3adqvq6ZYRWUUXKcdvmZ95u-KENG-EyfM0MsfEqx5hyK-gDjbYS7zt7WVDXkM06uCHB4QtrqnwVLwPI5mY4K5tU7B_yM81GD2CPE8c=s1259" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="609" data-original-width="1259" height="155" src="https://blogger.googleusercontent.com/img/a/AVvXsEiDWPKvHxsd0da_5cRbGHFK_BIBlwH5wHmF6zq9plHyR5wNRHXcu6me7hXdpctwMM0Q7lYQ_MUdfmtTceu0G3adqvq6ZYRWUUXKcdvmZ95u-KENG-EyfM0MsfEqx5hyK-gDjbYS7zt7WVDXkM06uCHB4QtrqnwVLwPI5mY4K5tU7B_yM81GD2CPE8c=s320" width="320" /></a></div></div><div style="text-align: center;"><span style="color: #444444;">図 「lung」検索結果</span></div>
<div>
<span style="color: #444444;"><br /></span>
</div>
<div>
<span style="color: #444444;">今回はこの「</span><span style="color: #444444;">clara_pt_covid19_ct_lung_segmentation」を使ってみたいと思います。このモデルは、「</span><span style="color: #444444;">A pre-trained model for volumetric (3D) segmentation of the lung from
CT images.</span><span style="color: #444444;">」ということで、3Dのボリュームデータから、肺の領域を予測してくれるようです。</span>
</div>
<div><br /></div>
<div><span style="color: #444444;">では、このモデルをダウンロードし、解凍します。</span></div>
<div><span style="color: #444444;">ダウンロード時は、「files.zip」というファイル名になっていました。</span></div>
<div><span style="color: #444444;">解凍すると、中身はこのようになっています。</span></div>
<div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhadewEpmR0CU7CgqBimMI5tIV4JeMEDUl6Wck8sm4Eo3kCNfuRUUaR6UxUEM-jzHTQOmrf-1ITd_NcbH_pkvIPKLYwktuQjUR03MtjJaSGO_IudRfiYAzVugzD2v5TWiZ9I3iwI7MKJwRhsfoYm1frecYfFqibBNFUSsEFmFtBmp8z4eNPuaLJAfE=s123" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="123" data-original-width="110" height="123" src="https://blogger.googleusercontent.com/img/a/AVvXsEhadewEpmR0CU7CgqBimMI5tIV4JeMEDUl6Wck8sm4Eo3kCNfuRUUaR6UxUEM-jzHTQOmrf-1ITd_NcbH_pkvIPKLYwktuQjUR03MtjJaSGO_IudRfiYAzVugzD2v5TWiZ9I3iwI7MKJwRhsfoYm1frecYfFqibBNFUSsEFmFtBmp8z4eNPuaLJAfE" width="110" /></a></div><div style="text-align: center;">図 files.zip</div><div style="text-align: center;"><br /></div><div style="text-align: left;"><div><span style="color: #444444;">モデルデータは、解凍したフォルダー内のmodelsフォルダーに入っています。</span></div><div><span style="color: #444444;">この例では、「model.pt」「model.ts」です(拡張子が見えないときは、右クリックからプロパティを開いて確認できます)。</span></div></div><div style="text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEh2fcGjoJHAX6hClwe-CzM43PMnTPkbF4EmlIskQRrO1TgAjp-qNdoiwJB4LeVzasMWSCpKg94UadaV1s593KgDxcvFqPaNXvW-GTC21DALe3M1ZKy-t3bUaH9c1ywrtfpKQczTCd8uEXNQ7ApNrbDlwcnZwi6-0nYN1y4QJvrpwSNQ8LZrQOwqlSc=s230" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="138" data-original-width="230" height="138" src="https://blogger.googleusercontent.com/img/a/AVvXsEh2fcGjoJHAX6hClwe-CzM43PMnTPkbF4EmlIskQRrO1TgAjp-qNdoiwJB4LeVzasMWSCpKg94UadaV1s593KgDxcvFqPaNXvW-GTC21DALe3M1ZKy-t3bUaH9c1ywrtfpKQczTCd8uEXNQ7ApNrbDlwcnZwi6-0nYN1y4QJvrpwSNQ8LZrQOwqlSc" width="230" /></a></div><div class="separator" style="clear: both; text-align: center;">図 modelファイル(files>modelsフォルダの中身)</div><div style="text-align: center;"><br /></div>
<div>
<span style="color: #444444;"><span>さて、このptファイルは何のファイルでしょうか。私はTensorflow派なので最初は何のファイルだか分かりませんでした。このptファイルは、PyTorchで作成された深層学習モデル用のファイルです。tsファイルはトーチスクリプトファイルと呼ばれるファイルで、ptファイルと同様に、モデルデータを保存しているデータです。ptファイルとの違いは、モデルを推論実行させる際に高度な処理の設定を追加できることです。</span>この「.pt」拡張子のファイルは、モデルの学習状態とモデルの構造の両方を保持できます。ただし、モデルの学習状態のみを保持することもできます。モデルの学習状態のみを保持している場合は、モデルの構造は保持しません。これはクリエイター事情です。なので、ptとtsのファイルが合わせてある場合は、モデルとして利用する際に両方のファイルが必要であることが多いです。今回のケースは2つとも必要です。
</span></div>
<div>
<span style="color: #444444;"><br /></span>
</div>
<h3 style="text-align: left;"><span style="color: #444444;">CPUかGPUか</span></h3>
<div>
<span style="color: #444444;"><br /></span>
</div>
<div>
<span style="color: #444444;">深層学習モデルは、(特にPyTorchの場合)GPU用あるいはCPU用に出力することができます。</span><span style="color: #444444;">NVIDIA NGCで公開されているモデルはすべてGPU用になっています。</span><span style="color: #444444;">そのため、なにもしなければ、GPUを持っていない人はここから先の操作ができません。</span><span style="color: #444444;">しかし、それでは「大衆化」とは呼べません(個人的に)。</span><span style="color: #444444;">ここでは、CPUでも動かせるようにモデルに前処理を追加します。</span><span style="color: #444444;">GPU前提の方は、ここの処理は不要です。</span><span style="color: #444444;">CPUで動かしたい方は、この処理が必要です。</span>
</div>
<div>
<span style="color: #444444;">GoogleColabを使って、GPU用に保存されたモデル(先ほどのpt,
tsファイル)を、CPU用にリトレースします。</span><span style="color: #444444;">新しくColabノートブックを作成し、ランタイムをGPUに切り替えます。方法は以下の通りです。</span>
</div>
<div>
<span style="color: #444444;"><br /></span>
</div>
<pre class="py" name="code"> import torch
# 自分のモデルが保存されている場所を指定します。
# Colabノートブックに一時的に直接アップロードした場合は、"model.pt"や"model.ts"としてください
p2state_dict = "/content/drive/MyDrive/NVIDIA_PreTrained_Models/clara_pt_covid19_ct_lung_segmentation/models/model.pt"
p2m = "/content/drive/MyDrive/NVIDIA_PreTrained_Models/clara_pt_covid19_ct_lung_segmentation/models/model.ts"
state_dict = torch.load(p2state_dict) # 学習重み
model = torch.load(p2m) # モデルの構造など
model.load_state_dict(state_dict) # All keys matched successfully, モデルに学習状態をロード
model = model.to("cpu")# gpuにトレースするときはmodel = model.to("cuda")
traced_model = torch.jit.trace(model, (None,224,224,32))# traced_model = torch.jit.script(model) # こちらでもよさそう(試していません)
torch.jit.save(traced_model, "model_cpu.pt")
# model_cpu.ptというファイルがColab内のフォルダに作成されるのでダウンロードして使います。
</pre>
<div></div>
<div>
<span style="color: #444444;"><br /></span>
</div>
<div><span style="color: #444444;">CPU用にリトレースしたモデルデータは、<a href="https://drive.google.com/file/d/1Zj57PvK5ScCTZU_LfksDXZbOz4Er2Qas/view?usp=sharing">こちら</a>に公開しています。</span>
</div>
<div>
<span style="color: #444444;"><br /></span>
</div>
<h3 style="text-align: left;"><span style="color: #444444;">ImageJ/Fijiで動かしてみる(プラグインを開発する)</span></h3>
<div>
<span style="color: #444444;"><br /></span>
</div>
<div>
<span style="color: #444444;"><span>ここから、Javaの強みである「Write once, run
anywhere」を享受させてもらいます。</span>
</span></div>
<div>
<span style="color: #444444;"><span>今回は、プラグインとしてファイルを作るのではなく、ImageJをライブラリとして使って、簡単に動作を確かめる方法で解説させていただきます。</span>
</span></div>
<div>
<span style="color: #444444;"><span>最終的に動かすところまではできるので、プラグインとしてJar化して使いたいなどは、ImageJ公式のプラグイン開発方法をご参照ください。</span>
</span></div>
<div><span style="color: #444444;">深層学習モデルを推論実行させるために必要なライブラリとして、今回はAmazonが開発している「Deep
Java Library」を使います。</span></div>
<div><span style="color: #444444;">開発環境には、Eclipseを使っていきます。</span></div>
<div><span style="color: #444444;">Javaは、私の環境では、AdoptOpenJDK11を使っています。</span></div>
<div><span style="color: #444444;"><br /></span></div><div><span style="color: #444444;">
では、Mavenプロジェクトを新しく作成し、pom.xmlを次のように編集しています。
</span></div><div><span style="color: #444444;">groupid、artifactid、versionなどは自分の設定に合わせてください。</span></div><div><span style="color: #444444;">一部抜粋していますが、<project></project>で挟まれる領域です。</span></div><div><br /></div><div><div><span style="font-size: x-small;"> <groupid>com.vis.machinelearning</groupid></span></div><div><span style="font-size: x-small;"> <artifactid>ai</artifactid></span></div><div><span style="font-size: x-small;"> <version>0.0.1-SNAPSHOT</version></span></div><div><span style="font-size: x-small;"><br /></span></div><div><span style="font-size: x-small;"> <properties></span></div><div><span style="font-size: x-small;"> <!--Minimal version for compiling TensorFlow Java is JDK 8--></span></div><div><span style="font-size: x-small;"> <maven .compiler.source="">1.11</maven></span></div><div><span style="font-size: x-small;"> <maven .compiler.target="">1.11</maven></span></div><div><span style="font-size: x-small;"> </properties></span></div><div><span style="font-size: x-small;"><br /></span></div><div><span style="font-size: x-small;"> <dependencies></span></div><div><span style="font-size: x-small;"> <dependency></span></div><div><span style="font-size: x-small;"> <groupid>net.imagej</groupid></span></div><div><span style="font-size: x-small;"> <artifactid>ij</artifactid></span></div><div><span style="font-size: x-small;"> <version>1.53j</version></span></div><div><span style="font-size: x-small;"> </dependency></span></div><div><span style="font-size: x-small;"> <dependency></span></div><div><span style="font-size: x-small;"> <groupid>ai.djl</groupid></span></div><div><span style="font-size: x-small;"> <artifactid>api</artifactid></span></div><div><span style="font-size: x-small;"> <version>0.14.0</version></span></div><div><span style="font-size: x-small;"> </dependency></span></div><div><span style="font-size: x-small;"> <!--https://mvnrepository.com/artifact/ai.djl.pytorch/pytorch-engine--></span></div><div><span style="font-size: x-small;"> <dependency></span></div><div><span style="font-size: x-small;"> <groupid>ai.djl.pytorch</groupid></span></div><div><span style="font-size: x-small;"> <artifactid>pytorch-engine</artifactid></span></div><div><span style="font-size: x-small;"> <version>0.14.0</version></span></div><div><span style="font-size: x-small;"> </dependency></span></div><div><span style="font-size: x-small;"> <!--https://mvnrepository.com/artifact/ai.djl.pytorch/pytorch-native-auto--></span></div><div><span style="font-size: x-small;"> <dependency></span></div><div><span style="font-size: x-small;"> <groupid>ai.djl.pytorch</groupid></span></div><div><span style="font-size: x-small;"> <artifactid>pytorch-native-auto</artifactid></span></div><div><span style="font-size: x-small;"> <version>1.9.1</version></span></div><div><span style="font-size: x-small;"> <scope>runtime</scope></span></div><div><span style="font-size: x-small;"> </dependency></span></div><div><span style="font-size: x-small;"> <!--https://mvnrepository.com/artifact/ai.djl.tensorflow/tensorflow-engine--></span></div><div><span style="font-size: x-small;"> <dependency></span></div><div><span style="font-size: x-small;"> <groupid>ai.djl.tensorflow</groupid></span></div><div><span style="font-size: x-small;"> <artifactid>tensorflow-engine</artifactid></span></div><div><span style="font-size: x-small;"> <version>0.14.0</version></span></div><div><span style="font-size: x-small;"> </dependency></span></div><div><span style="font-size: x-small;"> <!--https://mvnrepository.com/artifact/ai.djl.tensorflow/tensorflow-native-auto--></span></div><div><span style="font-size: x-small;"> <dependency></span></div><div><span style="font-size: x-small;"> <groupid>ai.djl.tensorflow</groupid></span></div><div><span style="font-size: x-small;"> <artifactid>tensorflow-native-auto</artifactid></span></div><div><span style="font-size: x-small;"> <version>2.4.1</version></span></div><div><span style="font-size: x-small;"> <scope>runtime</scope></span></div><div><span style="font-size: x-small;"> </dependency></span></div><div><span style="font-size: x-small;"> <dependency></span></div><div><span style="font-size: x-small;"> <groupid>ai.djl</groupid></span></div><div><span style="font-size: x-small;"> <artifactid>model-zoo</artifactid></span></div><div><span style="font-size: x-small;"> <version>0.14.0</version></span></div><div><span style="font-size: x-small;"> </dependency></span></div><div><span style="font-size: x-small;"> <dependency></span></div><div><span style="font-size: x-small;"> <groupid>ai.djl.pytorch</groupid></span></div><div><span style="font-size: x-small;"> <artifactid>pytorch-model-zoo</artifactid></span></div><div><span style="font-size: x-small;"> <version>0.14.0</version></span></div><div><span style="font-size: x-small;"> </dependency></span></div><div><span style="font-size: x-small;"> </dependencies></span></div><div><span style="font-size: x-small;"> </project></span></div></div><div><br /></div>
<div><span style="color: #444444;">
今回は、Windowsで動かしていますが、MacでもLinuxでも動くFatなライブラリをインストールしています(そのはずです)。</span><span style="color: #444444;">必要なものは、ImageJ、DJL、DJL用のPyTorchのラッパーです。Tesorflowのラッパーも加えればTensorflowモデルを動かすことができます。</span><span style="color: #444444;">上記のpom.xmlにはこれらが含まれています。</span></div>
<div><span style="color: #444444;">うまくライブラリを参照できると、エラーのない状態になります。</span></div>
<div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjuRwjiuueq9mzTMBBjMOKlGZCwm_2a7iaXFP39Dkg1_5dE0j-agpVkX3TR9iidUZojk857cRLVudKeq4UztLJHRxBymnyRriZA-XzSGHdKxU7XpLxtgol_iiclrnrLVXnRpNiLsyJ9uMMtssWLMa8JX0TC2L8ilQrRjRcdioKUtfY4kp9C9-lf3yE=s1478" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="730" data-original-width="1478" height="158" src="https://blogger.googleusercontent.com/img/a/AVvXsEjuRwjiuueq9mzTMBBjMOKlGZCwm_2a7iaXFP39Dkg1_5dE0j-agpVkX3TR9iidUZojk857cRLVudKeq4UztLJHRxBymnyRriZA-XzSGHdKxU7XpLxtgol_iiclrnrLVXnRpNiLsyJ9uMMtssWLMa8JX0TC2L8ilQrRjRcdioKUtfY4kp9C9-lf3yE=s320" width="320" /></a></div><div><br /></div>
<div style="text-align: center;">図 うまくライブラリをMavenで参照できた状態(少し時間がかかります)</div>
<div><br /></div><h3 style="text-align: left;">サンプルデータ</h3><div><br /></div>
<div><span style="color: #444444;">
ここでは、サンプルCTシリーズ画像として、TCIAで公開されているCOVID-19データで試していきます。
</span></div>
<div><span style="color: #444444;">モデルのdocs>READMEを見てみると、下記のような記載があります。</span></div><div><br /></div><div><div>## Input</div><div>Input: 1 channel CT image with intensity in HU and arbitary spacing</div><div><br /></div><div>1. Resampling spacing to (0.8, 0.8, 5) mm</div><div>2. Clipping intensity to [-1500, 500] HU</div><div>3. Converting to channel first</div><div>4. Randomly cropping the volume to a fixed size (224, 224, 32)</div><div>5. Randomly applying spatial flipping</div><div>6. Randomly applying spatial rotation</div><div>7. Randomly shifting intensity of the volume</div><div><br /></div><div>## Output</div><div>Output: 2 channels</div><div>- Label 0: everything else</div><div>- Label 1: lung</div></div><div><span style="color: #444444;"><br /></span></div><div><span style="color: #444444;">入力は0.8*0.8*5.0ボクセルのCTシリーズ画像を前提としているようです。
</span></div>
<div><span style="color: #444444;">
入力画像をこのボクセルサイズになるようにリサンプリングしておきます。
</span></div>
<div><span style="color: #444444;">
ただし、後から肺の領域をクロップし、224*224*32、つまり、マトリクスサイズが224*224の32スライスのボリュームに整形する(4の手順)ので、ここはそこまで厳密でなくともよいかと思います(結局、クロップするときのサイズで拡大率が変わります。ただ、何もしないよりはばらつきが少なくなり、ある程度の整合性が担保されます。ここは開発者に詳細を伺わなければ解釈が難しいところです)。</span></div>
<div><br /></div><div><span style="color: #444444;">リサンプリング済みのデータは<a href="https://drive.google.com/file/d/1cynJFvtjHK6O4PBX-vSwEoqX1qP0xPaq/view?usp=sharing">こちら</a>です。</span></div><div><span style="color: #444444;">オリジナルは<a href="https://drive.google.com/file/d/1dhXQo-aJ-7gBO5sn2poOJD-F1JxwNO_e/view?usp=sharing">こちら</a>です(非圧縮済み)。</span></div><div><span style="color: #444444;"><br /></span></div><div><span style="color: #444444;">オリジナルからインプットデータを作成したい方のために、Fijiを使って作成する手順を簡単に示します。</span></div><div><ol style="text-align: left;"><li><span style="color: #444444;">例えば、ここで利用するオリジナルのサンプルCTシリーズは、Voxel size: 0.7031x0.7031x1.25 mm^3です(ImageJで開く>Image>Show Info...から確認)。</span></li><li><span style="color: #444444;">XY方向のリサンプリングは、縦横方向のマトリクスサイズを、0.7031/0.8倍して補正します。オリジナルの512*512マトリクスを450*450にします。</span></li><li><span style="color: #444444;">Z方向のリサンプリングは、簡易的ですが、Image>Stacks>ResliceZというFijiのプラグイン機能を利用します。ImageJではデフォルトで入っていないので、ここはFijiを使ったほうが楽です。Z軸方向に5.0mmにしたいので、5.0としてリスライスすればOKです。</span></li><li><span style="color: #444444;">次に、大まかに肺領域を32スライス選びます(Image>Duplicateからスライス選択)。</span></li><li><span style="color: #444444;">最後に、矩形のROIを肺を囲うように1つ設定し、ROIが設定された画像をTIFとして1つのファイルに保存します。ほかのフォーマットはお勧めしません。</span></li><li><span style="color: #444444;">これで入力画像の準備ができました。</span></li></ol></div>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEglqyXf4EKvQ-PuMiRwU7zzpwJRQ6nibA4_Q0WavOq2DjsRbx_2P3KERPGVr3jOPb0BvvgWmerG2gIey4iTCH8JOR7PIGbqdTFcQFhnGxxS8TLzSUg5WCJqlsEMwneZD0SSOXkhUKj6WMxyW-ABBp0CnM8sMFFhx9P0biVWnehmnjMpeO3PYH1dlWw=s525" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="525" data-original-width="462" height="320" src="https://blogger.googleusercontent.com/img/a/AVvXsEglqyXf4EKvQ-PuMiRwU7zzpwJRQ6nibA4_Q0WavOq2DjsRbx_2P3KERPGVr3jOPb0BvvgWmerG2gIey4iTCH8JOR7PIGbqdTFcQFhnGxxS8TLzSUg5WCJqlsEMwneZD0SSOXkhUKj6WMxyW-ABBp0CnM8sMFFhx9P0biVWnehmnjMpeO3PYH1dlWw=s320" width="282" /></a></div><div style="text-align: center;">図 サンプルデータ</div><div style="text-align: center;">(ボクセルサイズ0.8*0.8*5.0, 32スライスに限定)</div><div><br /></div>
<h3 style="text-align: left;">モデルのロードから推論実行まで</h3>
<div><br /></div>
<div><span style="color: #444444;">ここではメソッド全体を記載しています。</span></div><div><span style="color: #444444;">各コードの解説はコード内のコメントに記載しています。</span></div>
<pre class="java" name="code">
public static void main(String[] args) throws IOException, ModelException, TranslateException {
/*
* load model
* load image
* create input
* predict
* save results
*/
//リソースにモデルファイルを置き、モデルファイルまでのパスで設定している例
String model_loc = "clara_pt_covid19_ct_lung_segmentation/models/model_cpu.pt";
URI modelUri = null;
try {
modelUri = HelloPyTorch.class.getClassLoader().getResource(model_loc).toURI();
} catch (URISyntaxException e) {
e.printStackTrace();
}
Path modelPath = Paths.get(modelUri);
//224*224*32 in HU unit.
ImagePlus in = new ImagePlus("C:\\Users\\ユーザー\\Desktop\\Resampled.tif");//入力画像ファイルへのパス
ij.gui.Roi rect = in.getRoi();//画像からROIを取得
System.out.println("roi size:"+rect.getFloatWidth()+" "+rect.getFloatHeight());
float[] vol = new float[224*224*32];
NDList input = new NDList();
NDManager manager = NDManager.newBaseManager();
int vox_pos = 0;
for(int i=0;i<in.getNSlices();i++) {
in.setPosition(i+1);
in.setRoi(rect);
Calibration cal = in.getCalibration().copy();
ImagePlus sliceCrop = in.crop();
sliceCrop = sliceCrop.resize(224,224,"bilinear");
ImageProcessor crop = sliceCrop.getProcessor();
crop.setCalibrationTable(cal.getCTable());
crop.setMinAndMax(-1500d+32768, 500d+32768);//ct 16-bit on IJ.
for(int r =0;r<224;r++) {
for(int h =0;h<224;h++) {
float val = crop.getPixelValue(h, r);
vol[vox_pos++] = val;
if(i==0 && r < 10 && h < 10) {
// System.out.println(val);//test print pixel val in HU.
}
}
}
}
Shape s = new Shape(new long[] {1l,1l,32l,224l,224l});//batch,channel,d,h,w
NDArray ndar = manager.create(vol, s);//create input to predict.
// System.out.println(ndar.getShape());
input.add(ndar);
//入力から出力までのクライテリアを定義する入力も出力もNDListになる。
Criteria<NDList, NDList> criteria =
Criteria.builder()
.setTypes(NDList.class, NDList.class)
.optModelPath(modelPath)
.optTranslator(new NoopTranslator())
.build();
//ZooModelクラスを利用して、訓練済みモデルをモデル化し、予測実行する
try (ZooModel<NDList, NDList> model = ModelZoo.loadModel(criteria);
Predictor<NDList, NDList> predictor = model.newPredictor()) {
NDList result = predictor.predict(input);
NDArray res = result.get(0);
NDArray bg = res.get(new NDIndex("0,0,:,:,:"));
NDArray lung = res.get(new NDIndex("0,1,:,:,:"));
System.out.println(res.getShape());//(1, 2, 32, 224, 224)
System.out.println("min max : "+res.min()+", "+res.max());
System.out.println(bg.getShape());//(32, 224, 224)
System.out.println(lung.getShape());//(32, 224, 224)
/*
* - Label 0: everything else
* - Label 1: lung
*/
//予測結果を画像へ
float[] pred = res.toFloatArray();//1*2*32*224*224 = 3211264
for(int c = 0;c<2;c++) {
ImageStack stack = new ImageStack(224, 224, 32);
for(int d=0;d<32;d++) {
float[] pred_lbl = new float[224*224];//per slice
int pred_lbl_pos = 0;
for(int h=0;h<224;h++) {
for(int w=0;w<224;w++) {
if(c == 0) {
pred_lbl[pred_lbl_pos] = pred[(d*224*224)+pred_lbl_pos];
} else {
pred_lbl[pred_lbl_pos] = pred[c*(224*224*32)-1+((d)*224*224)+pred_lbl_pos];
}
pred_lbl_pos++;
}
}
FloatProcessor fp = new FloatProcessor(224, 224, pred_lbl);
stack.setProcessor(fp, d+1);
}
ImagePlus imp = new ImagePlus("", stack);
imp.show();
IJ.saveAs(imp, "tif", System.getProperty("user.home") + "/Desktop/test_"+(c+1));
}
}
}
</pre>
<div>実行すると、推論結果が得られます。結果の予測画像はデスクトップに保存されます。</div>
<div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgFeVEb1mDMlcK_lSqcAESUq2fkplDyz_tv-iGfZTt8EwVVSHC8xbkHAADzK6MLzQs9m7P4tE4FTM3pjtZeRpLH4jLNUG_b2o4LOx5c5TPIv8zPn1kmYFNeVIa8JRNYb7sjBKZbDBy7tyf_Yd3DVxZCMq_c4nkg-TImNNd8mUqv-zAqERw9Ul3AJrc=s474" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="298" data-original-width="474" height="201" src="https://blogger.googleusercontent.com/img/a/AVvXsEgFeVEb1mDMlcK_lSqcAESUq2fkplDyz_tv-iGfZTt8EwVVSHC8xbkHAADzK6MLzQs9m7P4tE4FTM3pjtZeRpLH4jLNUG_b2o4LOx5c5TPIv8zPn1kmYFNeVIa8JRNYb7sjBKZbDBy7tyf_Yd3DVxZCMq_c4nkg-TImNNd8mUqv-zAqERw9Ul3AJrc=s320" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;">図 推論結果(左:予測画像肺以外、右:肺)</div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhDqohMRSb0NG-9Lp8TxZ53I2sPt69Qm3ZM8X3Do-GMTKLOYL7o3BX4rxTAsaoJj9z7E5rusX1dwYC-3W_Xied5XGjUC90e_RiVKvlETgibgh-XqXPzBDwesVy9DkQaEqiyD6en4hESxuRMYWX_gc0mucmRgxUaFaDti4eg6BMUTKwfyzpKPQE-dpo=s475" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="298" data-original-width="475" height="201" src="https://blogger.googleusercontent.com/img/a/AVvXsEhDqohMRSb0NG-9Lp8TxZ53I2sPt69Qm3ZM8X3Do-GMTKLOYL7o3BX4rxTAsaoJj9z7E5rusX1dwYC-3W_Xied5XGjUC90e_RiVKvlETgibgh-XqXPzBDwesVy9DkQaEqiyD6en4hESxuRMYWX_gc0mucmRgxUaFaDti4eg6BMUTKwfyzpKPQE-dpo=s320" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;">図 予測画像の二値化結果</div><div><br /></div><div><span style="color: #444444;">
あとは、これを元のサイズに戻し、切り出した位置にもっていけば、どの領域が肺か、肺以外かを予想した結果を確認できます(この部分は省略します。ImageROIにしてオリジナル画像に重ねて表示するなどで実装できます)。
</span></div>
<div><br /></div>
<h3 style="text-align: left;">まとめ</h3>
<div>
<br /><span style="color: #444444;">今回は、ImageJを用いた深層学習モデルの利用</span><span style="color: #444444;">例を紹介しました。Tesorflowモデルも動くので、いろいろなことができると思います。また、深層学習が必要ない場合は、WEKAという機械学習ライブラリを利用することもできます。</span><br /><span style="color: #444444;">自分だけの・自分の施設だけの深層学習モデルをあなたの手で動かしてみることもできるのではないでしょうか。</span><br /><br />
<h3 style="background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18.2px; text-align: left;"><span style="color: #444444;">References</span></h3>
</div>
</div>
</div>
<div class="p6" style="background-color: white; line-height: 18.2px;"><ul style="text-align: left;"><li><span face="Arial, Tahoma, Helvetica, FreeSans, sans-serif" style="color: #444444;">NVIDIA NGC https://docs.nvidia.com/ngc/ngc-overview/index.html</span></li><li><span face="Arial, Tahoma, Helvetica, FreeSans, sans-serif" style="color: #444444;">https://xtech.nikkei.com/atcl/nxt/column/18/00001/03341/</span></li></ul><div style="text-align: center;">Visionary Imaging Services, Inc.</div>
</div>
VISブログ担当者http://www.blogger.com/profile/14228255165322496017noreply@blogger.com0tag:blogger.com,1999:blog-2981532364676062595.post-81839514692032500212015-12-24T19:02:00.004+09:002021-02-19T14:58:25.737+09:00第70回 ImageJを用いたBoneJの紹介で学ぶ!<span style="color: #444444;">“BoneJ”は、</span><span style="color: #444444;">骨画像解析のための</span><span style="color: #444444;">ImageJプラグインです。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">骨の生成構造の解析の歴史は長く、昔から二次元スペクトル解析やフラクタル解析などの医用画像解析で骨粗鬆症の進行度の評価などに積極的に用いられてきました。</span><br />
<span style="color: #444444;">今回はImageJ のオープンソースコミュニティによって紹介されている、骨梁の形状と全体の骨の形状解析のためのプラグインBoneJについて、その概要と簡単な使い方を説明します。</span><br /><br />
<h4>
<span style="color: #444444;">BoneJとは</span></h4>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">骨の三次元形状は、一般的にはCT</span><span style="color: #444444;">とX線computed microtomography</span><span style="color: #444444;">(μCT)の画像を用いて計測が行われます。</span><span style="color: #444444;">これらCT、μCTなどの画像</span><span style="color: #444444;">データを処理する画像処理</span><span style="color: #444444;">や解析ソフトウェアは、装置が高額であ</span><span style="color: #444444;">ることからソフトウェアも高額である</span><span style="color: #444444;">ことが多いです。</span><br />
<span style="color: #444444;">しかし、ImageJのBoneJ</span><span style="color: #444444;">を用いれば、高度な骨の構造解析が無</span><span style="color: #444444;">料のプラグインで解析できます</span><span style="color: #444444;">。</span><br /><br />
<h4>
<span style="color: #444444;">BoneJのインストール方法と主な機能</span></h4>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">BoneJをインストールするには、あらかじめImageJの最新バージョン</span><span style="color: #444444;">をダウンロードして、</span><span style="color: #444444;">“BoneJ_.jar”をImageJフォルダの中の</span><span style="color: #444444;">pluginsディレクトリにコピーします。</span><br />
<span style="color: #444444;">BoneJ_.jarは、(http://bonej.org/)から</span><span style="color: #444444;">ダウンロードできます。</span><br />
<span style="color: #444444;">また、BoneJはImageJ3DViewerが必要です。こちらがインストールされていない場合は合わせて取得しておきましょう。(<a href="http://3dviewer.neurofly.de/">ImageJ_3D_Viewer.jar</a>)</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-cfIvLB8lUPo/Vnu1j0D347I/AAAAAAAABhw/fMo2BjCykPI/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B18.03.04.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="129" src="https://4.bp.blogspot.com/-cfIvLB8lUPo/Vnu1j0D347I/AAAAAAAABhw/fMo2BjCykPI/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B18.03.04.png" width="320" /></a></div>
<span style="color: #444444;"><br /></span>
<br />
<span style="color: #444444;">BoneJには、骨梁の解析のために細</span><span style="color: #444444;">線化解析(枝と分岐点の分類、カウント、</span><span style="color: #444444;">計測)、非等方性解析、結合性解析(画</span><span style="color: #444444;">像のオイラー特徴、1m㎥あたりの骨梁</span><span style="color: #444444;">の解釈として濃淡結合性評価)フラク</span><span style="color: #444444;">タル解析、平坦度解析(構造モデルイン</span><span style="color: #444444;">デックス)、等方性サーフフェス変換、</span><span style="color: #444444; font-family: inherit;"><span style="background-color: white; line-height: 18.2px;">purification</span></span><span style="color: #444444;">(浄化:結合性解析のための前処理)、細</span><span style="color: #444444;">線化3D、構造モデルインデックス、最</span><span style="color: #444444;">適2値化処理、結合性度を最小化する</span><span style="color: #444444;">自動閾値処理、厚み解析(Local Thickness pluginを用いた骨梁厚Tb.Thと分</span><span style="color: #444444;">離度Tb.Sp の計算)、ボリュームフラク</span><span style="color: #444444;">ション(体積比:BV/TV を計算)が用</span><span style="color: #444444;">意されています。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-WjM_8z-Jcxw/VnvCnDPWhhI/AAAAAAAABio/cGOpuLqo6rg/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B19.01.49.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://2.bp.blogspot.com/-WjM_8z-Jcxw/VnvCnDPWhhI/AAAAAAAABio/cGOpuLqo6rg/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B19.01.49.png" width="169" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(BoneJの解析機能リスト)</div>
<br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">また、骨の全体解析のために、楕円</span><span style="color: #444444;">フィット(ROIマネージャにあるポイン</span><span style="color: #444444;">トROIのセットから、最適フィットする</span><span style="color: #444444;">楕円体を検出)、球体フィット(上記楕</span><span style="color: #444444;">円体フィットの球体バージョン)、モー</span><span style="color: #444444;">メント3D(骨全体、構造体内部のモー</span><span style="color: #444444;">メントの計算)、ネットシャフト角(大腿</span><span style="color: #444444;">骨の曲率とネックシャフト角の計算)、</span><span style="color: #444444;">スライスジオメトリ(面積とセクション</span><span style="color: #444444;">モジュールの二次モーメントのようなク</span><span style="color: #444444;">ロスセクションパラメータの解析)が用</span><span style="color: #444444;">意されています。</span><br />
<span style="color: #444444;">さらに粒子解析として、三次元2値化画像スタックの中から粒子を検出し、計</span><span style="color: #444444;">測することが可能です。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<h4>
<span style="color: #444444;">BoneJの実践</span></h4>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">BoneJ を用いたいくつかのImageJに</span><span style="color: #444444;">よる実践画像処理について解説します。(</span><span style="color: #444444;">ここでご紹介するのは、ほんの一部です。)</span><br />
<br />
<span style="color: #444444;">ImageJのサンプル画像(bat cochlea </span><span style="color: #444444;">volume.tif)のスタック画像を読</span><span style="color: #444444;">み込んで、BoneJのthicknessプラグイ</span><span style="color: #444444;">ンを実施した例を示します。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-lduP-P39260/Vnu4LCaGZWI/AAAAAAAABh8/IchzKuuEIBY/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B18.14.17.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://2.bp.blogspot.com/-lduP-P39260/Vnu4LCaGZWI/AAAAAAAABh8/IchzKuuEIBY/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B18.14.17.png" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-QXg9Q_cCGaY/Vnu4LZoZ1oI/AAAAAAAABiA/d98uc7Vs66s/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B18.17.13.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="177" src="https://4.bp.blogspot.com/-QXg9Q_cCGaY/Vnu4LZoZ1oI/AAAAAAAABiA/d98uc7Vs66s/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B18.17.13.png" width="320" /></a></div>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">このカラーは、3D Local Thickness機能によっ</span><span style="color: #444444;">て厚みのカラーマップを表しており、その数値としては平均</span><span style="color: #444444;">厚み、平均スペース距離が計算されています</span><span style="color: #444444;">。</span><br />
<span style="color: #444444;"><br /></span><span style="color: #444444;">次は、同じ画像でボリュームフラ</span><span style="color: #444444;">クションを計算した例で、この三次元画</span><span style="color: #444444;">像の密度が計算されています。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-PR-FSA_Ye5Q/Vnu4xC-NFxI/AAAAAAAABiM/_ystc5Vc3Hs/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B18.19.42.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="76" src="https://1.bp.blogspot.com/-PR-FSA_Ye5Q/Vnu4xC-NFxI/AAAAAAAABiM/_ystc5Vc3Hs/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B18.19.42.png" width="400" /></a></div>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">次は、</span><span style="color: #444444;">2値化されたセルコロニーの画像を使っ</span><span style="color: #444444;">て最適閾値処理を施してフラクタル解析</span><br />
<span style="color: #444444;">結果を表示した例です。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-CRlatmt7mJ0/Vnu53Z1veGI/AAAAAAAABiY/l0_8X54gPdk/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B18.23.46.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="190" src="https://2.bp.blogspot.com/-CRlatmt7mJ0/Vnu53Z1veGI/AAAAAAAABiY/l0_8X54gPdk/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B18.23.46.png" width="400" /></a></div>
<br />
<span style="color: #444444;">その他、Fly Brain</span><span style="color: #444444;">画像を最適な2値化処理を行っ</span><span style="color: #444444;">て異方性を計算し、三次元可視</span><span style="color: #444444;">化表示することなども可能です。</span><br />
<br />
<span style="color: #444444;">ひとを対象した解析には、実際にはμCTで撮影した骨梁の</span><span style="color: #444444;">DICOM画像や切除乳房の病巣部のμCTでの構造解析などいろいろな画像</span><span style="color: #444444;">で定量評価が試みられています。</span><br />
<br />
<span style="color: #444444;">今回は、ImageJを用いたBoneJによ</span><span style="color: #444444;">る解析方法について説明を行いました。</span><br />
<span style="color: #444444;">骨</span><span style="color: #444444;">梁の解析やそのほか何らかの緻密な内</span><span style="color: #444444;">線構造物の評価などで画像処理手順が</span><span style="color: #444444;">決まれば、BoneJで使用する機能をマク</span><span style="color: #444444;">ロでピックアップして自動処理すれば、</span><span style="color: #444444;">画像処理・解析作業は効率が</span><span style="color: #444444;">良くなると思われます。</span><br /><br />
<div class="p6" style="background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18.2px;">
<span class="s2"><span style="color: #444444;">参考記事:「山本修司:ImageJで学ぶ実践医用・バイオ画像処理.INNERVISION(27・4) 2012, p78-79」</span></span></div>VISブログ担当者http://www.blogger.com/profile/14228255165322496017noreply@blogger.com0tag:blogger.com,1999:blog-2981532364676062595.post-28476900266661352352015-12-24T17:59:00.004+09:002021-02-19T14:57:49.212+09:00第69回 ImageJを用いたDNAマイクロアレイの画像解析で学ぶ!<span style="color: #444444;">ImageJでは、特定のDNAの検出のために行われるDNAマイクロアレイの画像解析が可能です。いくつかのWebサイトでは、さまざまなパターンのDNAチップの解析プラグインなどが紹介されています。今回はDNAマイクロアレイの画像解析の基本的な説明と、ImageJによる実践例をご紹介します。</span><br /><br />
<h4>
<span style="color: #444444;">DNAマイクロアレイとは</span></h4>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">DNAは生物の遺伝情報を担う高分子生体物質です。</span><span style="color: #444444;">DNAはデオキシリボ核酸の略で、デオキシリボース(五炭糖)と燐酸、塩基から構成される核酸です。</span><span style="color: #444444;">核酸は、塩基と酸、リン酸からなりますが、スクレオチド結合で連なった生体高分子です。糖の違い(2位が水素基(DNA)か水酸基(RNA)であるか)によって、2-デオキシリボースを持つデオキシリボ核酸(DNA)とリボースを持つリボ核酸(RNA)とがあります。</span><br />
<span style="color: #444444;">塩基には、アデニン、グアニン、チミン、シトシンの4種類があり、それぞれA、G、T、Cと略します。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">このDNAについて特定のDNAを抽出し解析する方法のひとつがDNAマイクロアレイ解析と呼ばれています。DNAマイクロアレイ(もしくはDNAチップ)とは、細胞内の遺伝子発現量を測定するために、多数のDNA断片をスライドガラスなどの基板上に高密度に配置したものです。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">あらかじめ、塩基配列が既知である1本鎖のDNAを多種、基板上に配置しておき、これに検体を反応させれば、検体のDNA配列と相補的な塩基配列の部分にのみ、検体のDNA鎖が結合します。</span><span style="color: #444444;">これを解析することによって、目的の細胞・組織でどの遺伝子が働いていたのかを調べることができます。また、アレイ上での結合位置を蛍光や電流によって検出し、最初の配置から検体に含まれるDNA配列を知ることができます。検体の塩基配列が予測できる場合には、効率的にその配列が特定できます。</span><br />
<span style="color: #444444;"><br />次の図は、<span style="text-align: center;">Gilles Carpentier氏が公開しているウェブサイトの</span>DNA(プロテイン)マイクロアレイ表示例です。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-RMZCVynBjMk/VnuiBSeI6mI/AAAAAAAABgg/cPD7Zm4nWns/s1600/intro.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="224" src="https://4.bp.blogspot.com/-RMZCVynBjMk/VnuiBSeI6mI/AAAAAAAABgg/cPD7Zm4nWns/s320/intro.png" width="320" /></a></div>
<span style="color: #444444;"><br /></span>
<br />
<div style="text-align: center;">
<span face=""luxi sans" , "lucida grande" , "lucida" , "lucida sans unicode" , sans-serif" style="background-color: white; color: #444444; line-height: 20.8px;">The Protein Array Analyzer</span></div>
<div style="text-align: center;">
<span style="background-color: white; color: #444444; font-family: inherit;">Computer Image Analysis & </span><span style="background-color: white; color: #444444; font-family: inherit;">Biochemistry Practice Works</span></div>
<div style="text-align: center;">
<span style="background-color: white; color: #444444; font-family: inherit;">(</span><span style="color: #444444;">http://image.bio.methods.free.fr/ImageJ/?Protein-Array-Analyzer-for-ImageJ.html&lang=en</span><span style="background-color: white; color: #444444; font-family: inherit;">)</span></div>
<br />
<span style="color: #444444;"><br /></span>
<br />
<h4>
<span style="color: #444444;">ImageJによるDNAマイクロアレイの画像解析</span></h4>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">ImageJでは、画像化されたDNAマイクロアレイの解析プラグインがいくつかのWebサイトで紹介されています。</span><br />
<span style="color: #444444;">シンプルな解析プラグインとしては、Bob Dougherty and Wayne Rasband氏作成によるMicroArray Profileプラグインがあります。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;"><a href="http://www.optinav.com/MicroArray_Profile.htm">http://www.optinav.com/MicroArray_Profile.htm</a></span><br />
<span style="color: #444444;"><br /></span><span style="color: #444444;">次に、ImageJのサンプル画像"Dot_Blot.jpg"画像をロードし、MicroArray_Profileを実行した例を示します。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-pT5Ew2eWF88/VnuokhcvpiI/AAAAAAAABgw/eCBlbmD4Krg/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B17.10.32.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="198" src="https://4.bp.blogspot.com/-pT5Ew2eWF88/VnuokhcvpiI/AAAAAAAABgw/eCBlbmD4Krg/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B17.10.32.png" width="320" /></a></div>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">デフォルトでは、6行8列の円形ROIが画像のサイズに合わせて表示されるため、これをプラグインメニューの<Reset Grid>ボタンを押して、4行7列に変更してROIを表示しています。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">それぞれのROIは、ImageJで操作できますので、位置を微調整可能です。微調整した場合は、<Save Grid>で記録しておけば、次回も同じ位置にROI設定できます(<Read ROI>を利用)。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">ROIの計測データは、Analyze>Mesureで結果を参照できます。Mesureの項目は、Analyze>Set Mesurements...で設定可能です。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">次の図は、ROIを再配置して、プラグインメニューの<Histgrams>ボタンを押して、各ROIの配列座標ごとに統計値を表示した例です。</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-DlOgslyfUfQ/Vnup9B46wmI/AAAAAAAABg8/vCNxW_Nf9Fw/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B17.13.01.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="219" src="https://2.bp.blogspot.com/-DlOgslyfUfQ/Vnup9B46wmI/AAAAAAAABg8/vCNxW_Nf9Fw/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B17.13.01.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-1i5eP8Je_rs/VnuqApiV3dI/AAAAAAAABhE/-q6PCOtG6o4/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B17.16.57.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="242" src="https://1.bp.blogspot.com/-1i5eP8Je_rs/VnuqApiV3dI/AAAAAAAABhE/-q6PCOtG6o4/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B17.16.57.png" width="320" /></a></div>
<br />
<h4>
<span style="color: #444444;">マクロを用いたDNAマイクロアレイの画像解析</span></h4>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">ImageJのマクロを用いたDNAマイクロアレイの画像解析でユニークなマクロ(<a href="http://rsb.info.nih.gov/ij/macros/toolsets/Dot%20Blot%20Analyzer.txt" target="_blank">こちら</a>)が、上記のGilles Carpentier Research Web Siteで紹介されています。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">ここからダウンロードできるマクロ("Dot Blot Analyzer.txt")を、ImageJフォルダ下のmacrosフォルダに置いてImageJを起動し、<Plugin>Macros>Install...から選択すれば、インストールできます。</span><br />
<span style="color: #444444;">インストールすると、ImageJメニューバーにアイコンが現れます。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-avLA9h2mDbg/VnuzIlNNa9I/AAAAAAAABhU/PpoER3CV-58/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B17.52.41.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="85" src="https://1.bp.blogspot.com/-avLA9h2mDbg/VnuzIlNNa9I/AAAAAAAABhU/PpoER3CV-58/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B17.52.41.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(マクロインストール後)</div>
<br />
<span style="color: #444444;">その中の<Dot Blot>の絵が描かれたアイコンをクリックして、Analysis a Dot Blotを選択すると、自動的にROI設定のユーザーインターフェースがついたアプリケーションが起動します。</span><span style="color: #444444;">サンプル画像もロードできます。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-N2lyt_l3vVM/VnuzIjyf7iI/AAAAAAAABhk/NBHffdARLEE/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B17.53.51.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="239" src="https://2.bp.blogspot.com/-N2lyt_l3vVM/VnuzIjyf7iI/AAAAAAAABhk/NBHffdARLEE/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B17.53.51.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
サンプル画像</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-3i9HNqPVeyA/VnuzIuwUMdI/AAAAAAAABho/JPZli73_ihU/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B17.55.30.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="243" src="https://2.bp.blogspot.com/-3i9HNqPVeyA/VnuzIuwUMdI/AAAAAAAABho/JPZli73_ihU/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B17.55.30.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
新しく出現するインターフェース</div>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">その後は、マニュアルを参照しながら、ROIを設置(Add)し、計測が実行できます。</span><br />
<span style="color: #444444;">先述のプラグインのように、設定ROIを保存することや、そのロード、計測結果の出力などが可能です。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">今回はImageJを用いたDNAマイクロアレイの解析方法について説明を行いました。これは、DNAの解析だけではなく、複数の画像像上に複数のROIを設置して自動で一挙に統計解析するプラグインやマクロとしても使いやすいので機会があれば、いろいろな画像で試してみてはいかがでしょうか。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="p6" style="background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18.2px;">
<span class="s2"><span style="color: #444444;">参考記事:「</span></span><span style="color: #444444; line-height: 18.2px;">山本修司:</span><span style="color: #444444; line-height: 18.2px;">ImageJで学ぶ実践医用・バイオ画像処理.INNERVISION(26・11) 2011, p104-105」</span></div>
<div class="p6" style="background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18.2px;"><br /></div>
VISブログ担当者http://www.blogger.com/profile/14228255165322496017noreply@blogger.com0tag:blogger.com,1999:blog-2981532364676062595.post-36987773522584271212015-12-24T16:30:00.003+09:002021-02-19T14:57:26.030+09:00第67回ImageJによるOpenCVの利用で学ぶ!<span style="color: #444444;">OpenCV(</span><span style="background-color: white; color: #333333; line-height: 28.8px; list-style-type: none; margin: 0px; padding: 0px;"><span style="font-family: inherit;">Open Source Computer Vision Library</span></span><span style="color: #444444;"><span style="font-family: inherit;">)</span>はその名のとおり、オープンソースのコンピュータビジョン用ライブラリです。もともとはインテル社によって開発されました。</span><span face=""ヒラギノ角ゴ pro w3" , "hiragino kaku gothic pro" , , "meiryo" , "ms pゴシック" , sans-serif" style="background-color: white; color: #333333; line-height: 28.8px;">その後、ハードウェア/ソフトウェアの開発を行っている</span>Willow Garage<span face=""ヒラギノ角ゴ pro w3" , "hiragino kaku gothic pro" , , "meiryo" , "ms pゴシック" , sans-serif" style="background-color: white; color: #333333; line-height: 28.8px;">に開発が引き継がれ、現在はコンピュータービジョンの技術開発を手掛ける</span>Itseez<span face=""ヒラギノ角ゴ pro w3" , "hiragino kaku gothic pro" , , "meiryo" , "ms pゴシック" , sans-serif" style="background-color: white; color: #333333; line-height: 28.8px;">によって開発が進められています。</span><br />
<span face=""ヒラギノ角ゴ pro w3" , "hiragino kaku gothic pro" , , "meiryo" , "ms pゴシック" , sans-serif" style="background-color: white; color: #333333; font-size: 16px; line-height: 28.8px;"><br /></span>
<br />
<span style="color: #444444;">今回はImageJでOpenCVを利用する方法をご紹介します。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<h4>
<span style="color: #444444;">OpenCVとは</span></h4>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">OpenCVは、汎用の画像処理ライブラリで、同じような画像処理ライブラリは世の中に数多く存在しています。</span><br />
<span style="color: #444444;">プログラミングの初心者であってもC言語の基本的な知識で簡単に仕上げることができ、特に、コンピュータビジョンに応用する上では非常に使いやすいとされているのが特徴です。</span><span style="color: #444444;">OpenCV関連の書籍も多く出版されているので、調べる資料も豊富です。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">2015年12月現在の最新バージョンは3.1で、こちらに詳細が紹介されています。</span><br />
<span style="color: #444444;"><a href="http://www.buildinsider.net/small/opencv/001">http://www.buildinsider.net/small/opencv/001</a></span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">コンピュータビジョンはコンピュータに視覚を仕掛けるといったニュアンスとして解釈でき、Webカメラをコントロールしてリアルタイムの動画像処理を行うなど、ユニークな処理が可能です。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">コンピュータビジョンは特にゲームなどのエンターテインメントや仮想空間での自動車、飛行機のフライトシミュレーション、衝突シミュレーションなどでその技術が使われています。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">ImageJにOpenCVをプラグインとして組み込むことによって、豊富なOpnCVの画像処理、コンピュータビジョンの機能を医用画像に応用できます。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<h4>
<span style="color: #444444;">OpenCVの主な画像処理機能について</span></h4>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">プログラミングの詳細なテクニックは、別紙に譲り、OpenCVでは、"imgproc"にインクルードされている画像処理機能として、以下のようなものがあります。</span><br />
<br />
<ul>
<li><span style="color: #444444;">ヒストグラム操作</span></li>
<li><span style="color: #444444;">画像フィルタリング</span></li>
<li><span style="color: #444444;">幾何学的変換処理(線形レジストレーションなど)</span></li>
<li><span style="color: #444444;">画像変換処理(距離変換や濃淡操作)</span></li>
<li><span style="color: #444444;">構造解析と形状記述子(ROI関連操作や輪郭抽出)</span></li>
<li><span style="color: #444444;">平面再分割処理</span></li>
<li><span style="color: #444444;">モーション解析と物体追跡(OpenCVの強み)</span></li>
<li><span style="color: #444444;">特徴検出</span></li>
<li><span style="color: #444444;">物体検出</span></li>
<li><span style="color: #444444;">画像のクラスタリングと多次元空間の検索</span></li>
<li><span style="color: #444444;">オブジェクト認識</span></li>
<li><span style="color: #444444;">ビデオ解析</span></li>
<li><span style="color: #444444;">カメラキャリブレーション、姿勢推定、パノラマ合成(Stitching)</span></li>
<li><span style="color: #444444;">機械学習機能</span></li>
</ul>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-rxG3Sb8E8XU/VnudIUYpWXI/AAAAAAAABgM/nGK0G_BzbMk/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B16.21.39.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="191" src="https://3.bp.blogspot.com/-rxG3Sb8E8XU/VnudIUYpWXI/AAAAAAAABgM/nGK0G_BzbMk/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B16.21.39.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(http://www.buildinsider.net/small/opencv/001)</div>
<br />
<span style="color: #444444;">OpenCVのダウンロードサイトはこちらです。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div style="text-align: center;">
<span style="color: #444444;"><a href="http://opencv.org/">http://opencv.org/</a></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-R6qBreGqvwo/VnudIRzDwyI/AAAAAAAABgQ/s5kiWtXG5Bc/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B16.20.30.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="184" src="https://3.bp.blogspot.com/-R6qBreGqvwo/VnudIRzDwyI/AAAAAAAABgQ/s5kiWtXG5Bc/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B16.20.30.png" width="320" /></a></div>
<br />
<h4>
<span style="color: #444444;">OpenCVの実装</span></h4>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">ImageJでOpenCVを使用するためのプラグインのサンプルが次のサイトで紹介されています。</span><br />
<span style="color: #444444;"><br /><a href="https://sites.google.com/site/qingzongtseng/template-matching-ij-plugin">https://sites.google.com/site/qingzongtseng/template-matching-ij-plugin</a></span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">インストール方法は簡単で、上記サイトから以下のすべてのjarファイルをダウンロードしてプラグインフォルダにコピーして利用できます。</span><br />
<br />
<ul>
<li><span style="color: #444444;">Template_Matching.jar</span></li>
<li><span style="color: #444444;">javacv.jar</span></li>
<li><span style="color: #444444;">javacpp.jar</span></li>
<li><span style="color: #444444;">opencv.jar</span></li>
</ul>
<br />
<span style="color: #444444;">このプラグインを参考に、テンプレートマッチングを試した結果は、こちらの回をご参照ください。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div style="background-color: white; color: #444444; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-stretch: normal; margin: 0px; position: relative;">
<a href="http://re-imagej.blogspot.jp/2015/10/31.html" target="_blank">第31回 テンプレートマッチングによる医用画像処理で学ぶ!</a></div>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">今回は画像処理ライブラリの中でも定評の高いOpenCVをImagerJで利用する方法を示しました。</span><span style="color: #444444;">このコラボレーションでもっと高度な医用画像を対象としたコンピュータビジョンが実現できそうですね。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">次回は、バイオ系画像処理のためのImageJ利用法を紹介します。</span><br /><br />
<div class="p6" style="background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18.2px;">
<span class="s2"><span style="color: #444444;">参考記事:「</span></span><span style="color: #444444; line-height: 18.2px;">山本修司:</span><span style="color: #444444; line-height: 18.2px;">ImageJで学ぶ実践医用・バイオ画像処理.INNERVISION(26・7) 2011, p106-107」</span></div>
<div class="p6" style="background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18.2px;"><br /></div>
VISブログ担当者http://www.blogger.com/profile/14228255165322496017noreply@blogger.com3tag:blogger.com,1999:blog-2981532364676062595.post-9433231663378563002015-12-24T14:16:00.004+09:002021-02-19T14:57:05.415+09:00第65回ImageJによる医用画像処理の標準的保管表示方法で学ぶ!<span style="color: #444444;">今回は、ImageJとDICOMビューワを同時に使う方法をご紹介します。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">DICOM(ダイコム)というのは、医用画像を電子的に取り扱うための包括的な規格で、データの定義や通信の方法などを規定しています。医用画像はこのDICOMに則って、インターネットや専用のLANを通してパソコン端末や画像保管サーバに転送、保存できるようになっています。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<h4>
<span style="color: #444444;">はじめに</span></h4>
<span style="color: #444444;"><br /></span><span style="color: #444444;">ImageJは画像解析ソフトウェアなので、そのままDICOMファイルを開いて、処理してというのはできるのですが、実際の臨床の場では、より画像参照を効率的に行うためのDICOMビューワというものが利用されています。</span><br />
<span style="color: #444444;">ImageJとDICOMビューワとの大きな違いは、臨床現場で効率的に使うように設計されているかどうかです。</span><span style="color: #444444;">ImageJを起動して、まずは数百枚ある画像をスタックにしてから〜という煩雑な操作は時間の限られた環境ではできません。このようなワークフローを事前に研究して、自動化し、DICOM画像を効率的に参照できるようにしたものがDICOMビューワです。</span><br />
<br />
このようなDICOMビューワには、ImageJを元に作成されたものがあり、今回は、このようなビューワとImageJとを同時に使う(DICOMビューワで表示した画像をImageJで表示してみたり)方法についてご紹介いたします。<br />
<br />
<span style="color: #444444;">まず初めに、画像の入力方法から考えていきたいのですが、医用画像をImageJに入力する方法は、一般的にみて、大きく二つあります。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">1つは、DICOM通信機能を使って、インターネットやLANを通して電子データを通信させる方法です。</span><span style="color: #444444;">この通信では、ImageJが画像データを受けとるだけでなく、ImageJから特定の相手(DICOMクライアント)に送信することもできます。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">もう1つは、トラディショナルな手法で、CDやDVDなどの外部メディアを用いて、医用画像(DICOM画像)を読み込む方法が挙げられます。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">このような挙動を実現する例として、本ブログの第29回(<a href="http://re-imagej.blogspot.jp/2015/09/29imagej.html" target="_blank">こちら</a>)で紹介した"Tudor DICOM Tools"というImageJのプラグインが有名です。(</span><span style="color: #444444;">通信設定方法は、</span><span face=""arial" , "tahoma" , "helvetica" , "freesans" , sans-serif" style="background-color: white; color: #444444;">第29回 連続画像処理 ImageJオープンソースネットワーク環境を用いた複数画像処理で学ぶ!</span><span style="color: #444444;">をご参照ください。)</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">実は、このプラグインの機能を盛り込んだDICOMビューワも同サイトから公開されています。それが、DICOM_Viewerです。今回は、このビューワをTudor DICOM Viewerと表記します。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<h4>
<span style="color: #444444;">Tudor DICOM Viewerによる医用画像表示と画像の確認</span></h4>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">まずは、Tudor DICOMビューワをインストールします。</span><br />
<span style="color: #444444;">内容はこのようになっています。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-yoGBW7ykLxI/VntoTqFeZnI/AAAAAAAABdQ/w1osaW7rrW4/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B12.36.18.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://4.bp.blogspot.com/-yoGBW7ykLxI/VntoTqFeZnI/AAAAAAAABdQ/w1osaW7rrW4/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B12.36.18.png" width="248" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(Tudor DICOM Viewerの内容)</div>
<div class="separator" style="clear: both; text-align: center;">
※DICOMSTOREは通信設定時に作成されます。</div>
<div class="separator" style="clear: both; text-align: center;">
※Run-Dicom_Viewer.appは、筆者が作り直した起動ファイルです。</div>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">早速、このビューワを使って画像を表示してみましょう。</span><br />
<span style="color: #444444;">まずは、トラディショナルな方法からいきます。</span><span style="color: #444444;">特定のフォルダに保存されたDICOM画像を表示します。まず、起動してみます。お使いのOSに合わせて起動ファイルをダブルクリックします。</span><br />
<span style="color: #444444;">(Macの場合、10.6以降のMacOS搭載PCでは、</span><span style="color: #444444;">Tudor DICOM Viewer実行ファイルがPowerPCバージョンになっているため、そのままでは.appをダブルクリックして起動できません。.shファイルに書かれているスクリプトを使って、ターミナルから起動してください。面倒な方は、Automaterで.appファイルを作るといいかもしれません。)</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div style="text-align: center;">
<span style="color: #444444;">筆者作のAppファイルは<a href="https://sites.google.com/a/vis-ionary.com/web/documents/Run-Dicom_Viewer.app.zip?attredirects=0&d=1" target="_blank">こちらから(クリック)</a>どうぞ。</span></div>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">このAppファイルは、上記の内容にしめすように、Tudor DICOMビューワフォルダに入れてから、ダブルクリックでビューワが起動するようになっています。(スクリプト内容が心配な方は、一度Automatorで開いて内容を確認してください。)</span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-SRp2J4p7s3A/VntuOU84uLI/AAAAAAAABeA/eCUp-C-0W7Q/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B12.54.04.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="221" src="https://1.bp.blogspot.com/-SRp2J4p7s3A/VntuOU84uLI/AAAAAAAABeA/eCUp-C-0W7Q/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B12.54.04.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(起動画面)</div>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">起動画面の左上のファイルマークボタンから、DICOMファイル選択ダイアログを表示して、表示したいDICOMファイルが保存されているフォルダあるいは、DICOMデータそのものを選択します。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-p-pqmwQQncI/VntuOLN0jQI/AAAAAAAABeQ/sEG9qGH4VMw/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B12.49.03.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://1.bp.blogspot.com/-p-pqmwQQncI/VntuOLN0jQI/AAAAAAAABeQ/sEG9qGH4VMw/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B12.49.03.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(<span style="color: #444444;">DICOMファイル選択ダイアログ</span>)</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-i3o1-8F4TX4/VntuODkLIHI/AAAAAAAABeU/5tW7n8NYg7E/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B12.51.26.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="177" src="https://2.bp.blogspot.com/-i3o1-8F4TX4/VntuODkLIHI/AAAAAAAABeU/5tW7n8NYg7E/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B12.51.26.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(画像を表示:<span style="color: #444444;">DICOM-CDから開く場合も同様の操作方法で画像を表示)</span></div>
<span style="color: #444444;"><br /></span><span style="color: #444444;">画像を参照するもう一つの方法は、「別のDICOMサーバに保存されている」あるいは、「別のビューワやワークステーションに保存されている」画像を、一旦このビューワにロードしてから、表示する方法です。</span><br />
<span style="color: #444444;">こちらの方法は、一見簡単に見えますが、意外に高度なテクニックです。</span><span style="color: #444444;">いろいろな方法がありますが、今回は、DICOMサーバとの連携例を示します。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">まず、DICOMサーバを別に用意しておきます。</span><br />
<span style="color: #444444;">このDICOMサーバには、Tudor DICOMビューワのAEを事前に設定しておきます。</span><br />
<span style="color: #444444;">この操作は、第29回を参照してください。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">ここまで出来たら、次はビューワ側の設定確認を行います。</span><br />
<span style="color: #444444;">ビューワ起動画面の右上にレンチのマークがありますが、これが通信設定ダイアログを起動するボタンです。早速起動してみます。</span><br />
<span style="color: #444444;">すると、DICOMPACS設定パネルに切り替えることができるので、切り替えてみます。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-6RMEkIfLzUQ/Vnt03osuJiI/AAAAAAAABeo/UEG2IKq-oOk/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B13.28.00.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="217" src="https://4.bp.blogspot.com/-6RMEkIfLzUQ/Vnt03osuJiI/AAAAAAAABeo/UEG2IKq-oOk/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B13.28.00.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(DICOM/PACS設定画面)</div>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">この画面から、DICOMサーバを設定できます。</span><br />
<span style="color: #444444;">(筆者はこの画面のように、DCM4CHEEというDICOMサーバに接続してみました。)</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">この設定までうまくできれば、次は通信です。</span><br />
<span style="color: #444444;">DICOMファイル選択ダイアログを再度表示して、虫眼鏡マークのPACSクエリパネルを表示します。</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-5qLPvYs-4_U/Vnt3GXlnMlI/AAAAAAAABe0/rLF19ZJHzVQ/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B13.37.40.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="174" src="https://1.bp.blogspot.com/-5qLPvYs-4_U/Vnt3GXlnMlI/AAAAAAAABe0/rLF19ZJHzVQ/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B13.37.40.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(<span style="color: #444444;">虫眼鏡マークのPACSクエリパネル</span>)</div>
<br />
筆者のDICOMサーバには数例しかサンプルが格納されていないので、全症例分のデータを、このダイアログの右上検索ボタンからリストしてみます。<br />
もし、事前に患者名などがわかっている場合には、ドロップダウンから検索情報を指定して検索することもできます。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-80il_CsnGko/Vnt3Gb_WCXI/AAAAAAAABfM/wjSzmqpeMas/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B13.37.47.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="174" src="https://1.bp.blogspot.com/-80il_CsnGko/Vnt3Gb_WCXI/AAAAAAAABfM/wjSzmqpeMas/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B13.37.47.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(DICOMサーバ内のデータをリスト)</div>
<br />
このリストから、任意のデータを選択して、"Retrieve to Local"で、Tudor DICOMビューワ内のDICOMSTOREフォルダに画像がコピーされます。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-LacBezlgtaQ/Vnt3GSWESLI/AAAAAAAABfQ/QPxtQ0jweXc/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B13.38.10.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="174" src="https://1.bp.blogspot.com/-LacBezlgtaQ/Vnt3GSWESLI/AAAAAAAABfQ/QPxtQ0jweXc/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B13.38.10.png" width="320" /></a></div>
<br />
コピーされたら、Tudor DICOMビューワのデータリストを更新して、ビューワに表示してみましょう。データリストを更新するには、<span style="color: #444444;">DICOMファイル選択ダイアログの右下矢印マークのDICOMSTOREパネルを表示して、更新ボタンを押します。</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-EUIaZgcLQCU/Vnt3HD_18ZI/AAAAAAAABfU/xiivBIPoPFE/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B13.38.19.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="217" src="https://4.bp.blogspot.com/-EUIaZgcLQCU/Vnt3HD_18ZI/AAAAAAAABfU/xiivBIPoPFE/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B13.38.19.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(更新前)</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-_gWvAuMiq9I/Vnt3HZe3GnI/AAAAAAAABfc/kSzjdMCZAP4/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B13.39.11.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="217" src="https://1.bp.blogspot.com/-_gWvAuMiq9I/Vnt3HZe3GnI/AAAAAAAABfc/kSzjdMCZAP4/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B13.39.11.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(更新後:GAIAというデータが増えた)</div>
<br />
あとは、このリストからデータを選択して、シリーズ単位で一気に表示したい場合はOpen Series、一枚だけを表示したい場合はOpen Imageを使って、ビューワに画像を表示します。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-8JIZ3cPh_NY/Vnt3HaQgvUI/AAAAAAAABfg/wZY9vBcXmmw/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B13.39.31.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="174" src="https://3.bp.blogspot.com/-8JIZ3cPh_NY/Vnt3HaQgvUI/AAAAAAAABfg/wZY9vBcXmmw/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B13.39.31.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(任意のデータを選択してopen imageした結果)</div>
<br />
この例では、Tudor DICOMビューワ(DICOM STORE)にDICOMサーバから画像をクエリ&リトリーブする例を示しましたが、逆に、ビューワからサーバに画像を送る(send to PACS)することもできます。<br />
<br />
このように、データがサーバに整理されていると、データの選択も迅速に行えて、さらに、ビューワの機能を使って画像を参照することができます。<br />
<br />
<h4>
その他の機能</h4>
<br />
<span style="color: #444444;">また、もう1つ重要なポイントとして、このツールには患者や被験者の個人情報を匿名化する機能があります。</span><br />
<span style="color: #444444;">医学研究に患者さんの同意を得て画像を利用する以上は、患者さんの個人を特定しうる情報をまったく関係ない文字列や記号に置き換えたり、なんらかの暗号化を行うことで、匿名化をします。たとえば、氏名や患者ID、施設名などです。</span><br />
<span style="color: #444444;">このような機能もしっかりこのツールには備わっています。</span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-XDOvotL765Q/Vnt78JgbL0I/AAAAAAAABfs/8El0K59XZaI/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B13.59.59.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://1.bp.blogspot.com/-XDOvotL765Q/Vnt78JgbL0I/AAAAAAAABfs/8El0K59XZaI/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B13.59.59.png" width="278" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(匿名化ツール)</div>
<br />
<span style="color: #444444;">ImageJでこのような匿名化の確認を行う際は、DICOM画像を表示してから、メニューのImage>Show Info...でDICOMヘッダー情報というメタデータを確認することができます。</span><br />
<span style="color: #444444;">この操作では、この画像に関する背景情報が豊富に記録されているので、用途に応じて確認してみてください。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">メタデータを確認するもうひとつの方法は、Tudor DICOMビューワのCompare DICOM header(またはimages)を起動して、元になるDICOMヘッダーと比較対象のDICOMヘッダーを比較して、その差異を強調表示して確認することも可能です。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-jaYGxZiaMPo/Vnt9NvTDHlI/AAAAAAAABf4/0oPiUdkSBQo/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B14.05.22.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="221" src="https://4.bp.blogspot.com/-jaYGxZiaMPo/Vnt9NvTDHlI/AAAAAAAABf4/0oPiUdkSBQo/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B14.05.22.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(<span style="color: #444444;">Compare DICOM images</span>)</div>
<div class="separator" style="clear: both; text-align: center;">
※画像の差分表示:中央とheaderデータの差異を強調表示</div>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">もう一つ、粋な機能として、このビューワは、起動ウィンドウ左下のImageJアイコンを押すと、Tudor DICOM Viewerに内蔵されているImageJが起動でき、このImageJにビューワ側でアクティブになっている画像をアウトプットできます。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-UpqbvSoEhVg/VntuNUUUwKI/AAAAAAAABd4/3YFbItuZ1Lc/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B12.25.02.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="223" src="https://3.bp.blogspot.com/-UpqbvSoEhVg/VntuNUUUwKI/AAAAAAAABd4/3YFbItuZ1Lc/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-24%2B12.25.02.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(ビューワ内蔵ImageJを起動)</div>
<br />
<span style="color: #444444;">また、実行ファイルと共にセットになっているフォルダにpluginsフォルダがあり、ここにImageJプラグインを追加していくことができます。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">最後に、、</span><br />
<span style="color: #444444;">操作してみて思ったのですが、途中でフリーズすることもあるので、強制終了なども必要なことがあります。このような制限があることをあらかじめご承知おきくださいね。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">また、お気づきになった方もいらっしゃるとは思いますが、実は、Tudor DICOMビューアはWebビューワとしても使えるので、このあたりはまた追い追いご紹介いたします。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">以上、今回はImageJをDICOMビューワとして使う方法を紹介しました。</span>
<span style="color: #444444;">次回も医用画像処理について解説を行います!</span><br />
<br />
<div class="p6" style="background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18.2px;">
<span class="s2"><span style="color: #444444;">参考記事:「</span></span><span style="color: #444444; line-height: 18.2px;">山本修司:</span><span style="color: #444444; line-height: 18.2px;">ImageJで学ぶ実践医用・バイオ画像処理.INNERVISION(26・4) 2011, p82-83」</span></div>
<div class="p6" style="background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18.2px;"><br /></div>
VISブログ担当者http://www.blogger.com/profile/14228255165322496017noreply@blogger.com0tag:blogger.com,1999:blog-2981532364676062595.post-77030981947521189652015-12-20T13:15:00.005+09:002021-02-19T14:56:44.219+09:00第66回 ImageJによるグラフの解析で学ぶ!<div class="p1"><span style="color: #444444;">ImageJを使って画像解析するにあたり、解析結果を可視化するグラフ機能は重宝します。このグラフ機能一つとっても、ImageJは様々な解析をサポートする機能が充実しています。</span></div>
<div class="p1">
<span style="color: #444444;"><br /></span></div>
<div class="p1">
<span style="color: #444444;">今回はグラフの解析に便利な手法と解析方法を紹介します。</span></div>
<div class="p1">
<span style="color: #444444;"><br /></span></div>
<h4>
<span style="color: #444444;">ダイレクトにグラフに数値と座標を与える方法</span></h4>
<div class="p1">
<span style="color: #444444;"><br /></span></div>
<div class="p1">
<span style="color: #444444;">ImageJで画像をロードして、画像上</span><span style="color: #444444;">の直線もしくは曲線上のプロファイルカー</span><span style="color: #444444;">ブを表示する作業はよく使うのではないでしょうか。このような解析結果は、その数値情報などが含まれているので、何も悩むことなく、グラフとして使えます。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-ZVZO20-tld0/VnYgpZ0mCII/AAAAAAAABbU/3U_eIU-MJDY/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-20%2B12.29.06.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="26" src="https://4.bp.blogspot.com/-ZVZO20-tld0/VnYgpZ0mCII/AAAAAAAABbU/3U_eIU-MJDY/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-20%2B12.29.06.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
サンプル画像:ツリーリング(四角形ROIを設置)</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-f_pCKzIgJ68/VnYgpSuVvcI/AAAAAAAABbY/g91g7TSRS3o/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-20%2B12.29.22.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="216" src="https://3.bp.blogspot.com/-f_pCKzIgJ68/VnYgpSuVvcI/AAAAAAAABbY/g91g7TSRS3o/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-20%2B12.29.22.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
ROIのプロットプロファイル結果</div>
<br /></div>
<div class="p1">
<span style="color: #444444;">しかし、手元に「グラフの絵だけある状態」だとどうでしょうか。なんとかこのグラフから形跡結果を導き出したいと思ったことがある方もいらっしゃるかもしれません。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">このようなニーズに応えるべく、今回は、</span><span style="color: #444444;">あらかじめ教科書や雑誌などに掲載され</span><span style="color: #444444;">ているグラフをスキャナなどで取り込ん</span><span style="color: #444444;">で画像化したものに数値と座標を与え</span><span style="color: #444444;">る作業から始めてみます。</span></div>
<div class="p1">
<span style="color: #444444;"><br /></span></div>
<div class="p1">
<span style="color: #444444;">まず、サンプルとして、ImageJにて</span><span style="color: #444444;">“Line Graph”(File>Open sample)を</span><span style="color: #444444;">ロードします。</span></div>
<div class="p1">
<span style="color: #444444;"><br /></span></div>
<div class="p1">
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-5RlZgZs2eyI/VnYgpcJf89I/AAAAAAAABbo/ceuOe_i77yw/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-20%2B12.27.57.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="255" src="https://1.bp.blogspot.com/-5RlZgZs2eyI/VnYgpcJf89I/AAAAAAAABbo/ceuOe_i77yw/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-20%2B12.27.57.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="color: #444444;">(File>Open Samples>Line </span><span style="color: #444444;">Graph)</span></div>
<br /></div>
<div class="p1">
<span style="color: #444444;">この画像は、</span><span style="color: #444444;">グラフデータではありま</span><span style="color: #444444;">すが、グラフが描画</span><span style="color: #444444;">されている“画像”ですので、グラフ</span><span style="color: #444444;">の正確な数値情報は保持していません。よって、そのような情報を</span><span style="color: #444444;">グラフに与えるために、ImageJ</span><span style="color: #444444;">には“Analyze Line Graph”という機</span><span style="color: #444444;">能が備わっています。</span></div>
<div class="p1">
<span style="color: #444444;"><br /></span></div>
<div class="p1">
<span style="color: #444444;">この画像の場合、複</span><span style="color: #444444;">数のグラフが描画されていますので、まず、</span><span style="color: #444444;">画像の中から特定のグラフの抽出作業を</span><span style="color: #444444;">行います。</span></div>
<div class="p1">
<span style="color: #444444;">以下に手順を示します。</span></div>
<div class="p1">
<span style="color: #444444;"><br /></span></div>
<div class="p1">
<span style="color: #444444;">① 画像を8ビットグレイスケールに変換</span><span style="color: #444444;">〈Image/Type/8 bit〉</span></div>
<div class="p1">
<span style="color: #444444;">② グラフを二値化〈Image/Adjust/</span><span style="color: #444444;">Threshold...〉</span></div>
<div class="p1">
<span style="color: #444444;">③ ImageJ アイコンメニューのポリゴンツールや</span><span face=""verdana" , sans-serif" style="background-color: white; color: #333333; font-size: 16px; line-height: 24px;">同じ明るさまたは近い明るさの部分の輪郭に囲まれた選択範囲を作成する</span><span style="color: #444444;">Wand </span><span style="color: #444444;">Tool(魔法の杖のアイコン)で特定のグラフを選択し,〈Edit/</span><span style="color: #444444;">Clear Outside〉で余計な画像を消す</span><span style="color: #444444;">。</span></div>
<div class="p2">
<span style="color: #444444;">④ 細かい不要な部分は、Free Hand </span><span style="color: #444444;">Selectionアイコンなどを用いて、</span><span style="color: #444444;">〈BackSpace〉ボタンを押しながら消す</span><span class="s1" style="color: #444444;">。</span></div>
<div class="p2">
<span class="s1" style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-XqM-v23vMBM/VnYkU6yAVmI/AAAAAAAABb0/7qd9TvWjPI4/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-20%2B12.44.11.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="255" src="https://3.bp.blogspot.com/-XqM-v23vMBM/VnYkU6yAVmI/AAAAAAAABb0/7qd9TvWjPI4/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-20%2B12.44.11.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(2値化)</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-D-6oHxCwWHs/VnYkU8WUARI/AAAAAAAABbw/MwWOeA7nfLI/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-20%2B12.44.50.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="255" src="https://2.bp.blogspot.com/-D-6oHxCwWHs/VnYkU8WUARI/AAAAAAAABbw/MwWOeA7nfLI/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-20%2B12.44.50.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(ポリゴンツールで選択後、Clear Outside)</div>
<br /></div>
<div class="p2">
<span style="color: #444444;">グラフが重なっている部分や軸と連</span><span style="color: #444444;">結して自動抽出されてしまった余分な画</span><span style="color: #444444;">像には、どうしてもマニュアル作業が必</span><span style="color: #444444;">要ですが、Wand Tool アイコンをダブルクリックして、領域選択の</span><span style="color: #444444;">連結を、4近傍や8近傍の連結にしたり、</span><span style="color: #444444;">耐用量をコントロールすることである程</span><span style="color: #444444;">度は抽出できます。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-SRcVqCzXx3E/VnYla2_zoTI/AAAAAAAABcE/pyBm9BEILuE/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-20%2B12.49.35.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="239" src="https://2.bp.blogspot.com/-SRcVqCzXx3E/VnYla2_zoTI/AAAAAAAABcE/pyBm9BEILuE/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-20%2B12.49.35.png" width="320" /></a></div>
<span style="color: #444444;"><br /></span></div>
<div class="p2">
<span style="color: #444444;"><br /></span></div>
<div class="p2">
<span style="color: #444444;">次に、このままでは二値化された曲線</span><span style="color: #444444;">の絵でしかないので、</span><span style="color: #444444;">〈Analyze></span><span style="color: #444444;">Tools>Analyze Line Graph〉を選</span><span style="color: #444444;">択し、座標と数値情報を付加します。</span></div>
<div class="p2">
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-TASsGrvi_yI/VnYoPyK9aTI/AAAAAAAABcQ/WSnj_2DaOfk/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-20%2B12.56.34.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="216" src="https://2.bp.blogspot.com/-TASsGrvi_yI/VnYoPyK9aTI/AAAAAAAABcQ/WSnj_2DaOfk/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-20%2B12.56.34.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(グラフ化)</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-jaqkpP7a3hQ/VnYoP2H8IqI/AAAAAAAABcU/BuqT2n-JImk/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-20%2B13.01.42.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="216" src="https://1.bp.blogspot.com/-jaqkpP7a3hQ/VnYoP2H8IqI/AAAAAAAABcU/BuqT2n-JImk/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-20%2B13.01.42.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(More>Set Range to Fit All)</div>
<span style="color: #444444;"><br /></span></div>
<h4>
<span style="color: #444444;">グラフのカーブフィッティング</span></h4>
<div class="p1">
<span style="color: #444444;"><br /></span></div>
<div class="p1">
<span style="color: #444444;">グラフを表示できたら、グラフのフィッ</span><span style="color: #444444;">ティングによってグラフの特性を解析す</span><span style="color: #444444;">ることができます。ImageJ の〈Analyze/</span><span style="color: #444444;">Tools/Curve Fitting〉を選択すると、</span><span style="color: #444444;">カーブフィッティングツールが現れるので、グラフ化したデータからリストを出力し、カーブフィッティングツールからOpenして(1行目のX, Yは削除する)</span><span style="color: #444444;">、任意のフィッティングメソッドを選択して、〈Fit〉ボタンを押すと、選択した数</span><span style="color: #444444;">式に応じてフィッティングカーブが表示</span></div>
<div class="p1">
<span style="color: #444444;">されます。</span></div>
<div class="p1">
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-dRNS9xSXm_s/VnYoP4B1Q-I/AAAAAAAABcc/7Mk005MRres/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-20%2B12.57.44.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="175" src="https://2.bp.blogspot.com/-dRNS9xSXm_s/VnYoP4B1Q-I/AAAAAAAABcc/7Mk005MRres/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-20%2B12.57.44.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(カーブフィッティングツール)</div>
<span style="color: #444444;"><span class="s1"><br /></span></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-OjvnhChtZOE/VnYpwMx2qXI/AAAAAAAABcs/Rvqeq_Y_we4/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-20%2B13.04.33.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="257" src="https://3.bp.blogspot.com/-OjvnhChtZOE/VnYpwMx2qXI/AAAAAAAABcs/Rvqeq_Y_we4/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-20%2B13.04.33.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(事前に、グラフのデータウィンドウの下にある<リスト>からリストデータを保存しておく)</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-0CyB0QEkqiE/VnYpwOyeq8I/AAAAAAAABcw/4x9CG2upfgY/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-20%2B13.05.53.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="216" src="https://2.bp.blogspot.com/-0CyB0QEkqiE/VnYpwOyeq8I/AAAAAAAABcw/4x9CG2upfgY/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-20%2B13.05.53.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(保存しておいたリストデータ"Open"し、2nd Degree Polynomialでフィッティングした結果)</div>
<br />
<span style="color: #444444;">同時にログが表示されます</span><span style="color: #444444;">が、そこに具体的な数式のパラメータ</span><span style="color: #444444;">が表示されます。使用できる数式は次</span><span style="color: #444444;">のとおりです。</span></div>
<div class="p1">
<span style="color: #444444;"><br /></span></div>
<div class="p1">
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-iQSg6Utje6A/VnYqvRvNd5I/AAAAAAAABdA/IqE3ac_GnmI/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-20%2B13.12.20.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="303" src="https://3.bp.blogspot.com/-iQSg6Utje6A/VnYqvRvNd5I/AAAAAAAABdA/IqE3ac_GnmI/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-20%2B13.12.20.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(IJ_1.46 user's guide, p149.:http://rsbweb.nih.gov/ij/docs/user-guide.pdf)</div>
<br /></div>
<div class="p1">
<span style="color: #444444;">また、フィッティング後も、これらの近似された数</span><span style="color: #444444;">値が改めてグラフからリスティングデー</span><span style="color: #444444;">タとして保存できます。解析</span><span style="color: #444444;">をさらに進めて得られたフィッティング</span><span style="color: #444444;">データは、エクセルなどにコピー& ペー</span><span style="color: #444444;">ストして、グラフの再表示や統計値を計</span><span style="color: #444444;">算することができます。</span></div>
<div class="p1">
<span style="color: #444444;"><br /></span></div>
<div class="p1">
<span style="color: #444444;">今回はImageJ を用いたグラフ表示とカーブフィッティング方法について述べました。</span></div>
<div class="p1">
<span style="color: #444444;">次回も画像解析に役に立つ、ImageJならではのテクニックを紹介します。</span></div>
<div class="p1">
<span style="color: #444444;"><br /></span></div>
<div class="p6" style="background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18.2px;">
<span class="s2"><span style="color: #444444;">参考記事:「</span></span><span style="color: #444444; line-height: 18.2px;">山本修司:</span><span style="color: #444444; line-height: 18.2px;">ImageJで学ぶ実践医用・バイオ画像処理.INNERVISION(26・6) 2011, p76-77」</span></div>
<div class="p6" style="background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18.2px;"><br /></div>
VISブログ担当者http://www.blogger.com/profile/14228255165322496017noreply@blogger.com0tag:blogger.com,1999:blog-2981532364676062595.post-2363447300351574512015-12-14T13:27:00.005+09:002021-02-19T14:56:23.223+09:00第64回 ImageJのプログラムエディタで学ぶ!<span style="color: #444444;">今回は、ImageJでプログラムを書く場合の便利なエディタの機能について紹介します!</span><br /><br />
<h4>
<span style="color: #444444;">ImageJのプログラムエディタについて</span></h4>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">ImageJはオープンソースソフトウェアであるため、ImageJそのものをユーザの思い通りに改変して利用することができます(ライセンス条項に則って)。</span><br />
<span style="color: #444444;">このような改変を行うために統合開発環境(Integrated Development Environment:IDE)というソフトウェアを用いて本腰を入れて開発を行うこともできます。この方法については、</span><span face=""arial" , "tahoma" , "helvetica" , "freesans" , sans-serif" style="background-color: white; color: #444444;">第42回 ImageJのソースコード分解(Eclipseを用いたImageJのプラグイン実行方法)で学ぶ!</span><span style="color: #444444;">を参照してください。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">今回は、このようなIDEを用いず、プラグインやマクロを作成する場合に使うImageJのエディタを、このエディタを強化すツールであるjEditをImageJビルトインする方法(「IJ_Ed advanced editor for ImageJ」)も含めて、紹介していきます。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<h4>
<span style="color: #444444;">ImageJのjEditエディタの実装</span></h4>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">まず、jEditは</span><span style="color: #444444;">マルチオペレーティングシステム対応の</span><span style="color: #444444;">フリーのプログラムエディタです。</span><span style="color: #444444;">主な特徴は以下のとおりです。</span><br />
<ul>
<li><span style="color: #444444;">シンタックスハイライト</span></li>
<li><span style="color: #444444;">ソースコードのオートインデントやプログラム解析</span></li>
<li><span style="color: #444444;">検索・置換</span></li>
<li><span style="color: #444444;">ファイルマネジメント(文字エンコード)</span></li>
<li><span style="color: #444444;">機能のカスタマイズや拡張</span></li>
</ul>
<span style="color: #444444;">ImageJでjEditを使うには、次のWebサイトからダウンロードして、ImageJのプラグインフォルダに解凍します。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">・jEditダウンロード</span><br />
<span style="color: #444444;"><a href="http://www.jedit.org/index.php?page=download">http://www.jedit.org/index.php?page=download</a></span><br />
<span style="color: #444444;"><span style="font-family: inherit;"><span style="color: #444444;">・</span><span style="background-color: white; line-height: 20.48px; text-align: justify;">IJ Ed2 </span></span><span style="font-family: inherit;">Imag</span>eJプラグインダウンロード</span><br />
<a href="http://imagejdocu.tudor.lu/doku.php?id=plugin:utilities:ij_ed:start" target="_blank">http://imagejdocu.tudor.lu/doku.php?id=plugin:utilities:ij_ed:start</a><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">上記が完了したら、インストール完了です。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<h4>
<span style="color: #444444;">jEditを使ってマクロを起動させてみよう</span></h4>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">まず、jEditを起動します。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-TUQE1KarSqs/Vm48mc-MgCI/AAAAAAAABag/kELCtXhmn8E/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-14%2B12.50.27.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="225" src="https://4.bp.blogspot.com/-TUQE1KarSqs/Vm48mc-MgCI/AAAAAAAABag/kELCtXhmn8E/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-14%2B12.50.27.png" width="320" /></a></div>
<br />
<span style="color: #444444;">次に、ImageJを起動して、ImageJのプラグインのリストから<plugins>Editor>IJ Ed2 jEdit link>を選択して起動してみましょう。ImageJを起動している場合は、そのままプラグインを起動しましょう。</span><br />
<span style="color: #444444;">起動画面です。</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-5gsH9pMcvlM/Vm49Hqa1GhI/AAAAAAAABao/rw_yelhnoeQ/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-14%2B12.52.23.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="122" src="https://1.bp.blogspot.com/-5gsH9pMcvlM/Vm49Hqa1GhI/AAAAAAAABao/rw_yelhnoeQ/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-14%2B12.52.23.png" width="320" /></a></div>
<span style="color: #444444;">早速、簡単なマクロを動かしてみましょう。</span><span style="color: #444444;">最初は、"Hello"ダイアログを表示してみます。jEditの新規テキストに、次のように書いてみます。</span><br />
<span style="color: #444444;"><br /></span>showMessage("Hello Re-ImageJ Readers!");<br />
<br />
<span style="color: #444444;">そして、プラグインのウィンドウ内の"Run macro"から実行してみましょう。</span><br />
<span style="color: #444444;">次のようにポップアップが表示されます。</span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-G4iqklDGIr8/Vm4-cBV9oxI/AAAAAAAABa0/68dj2am7wLM/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-14%2B12.57.33.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="182" src="https://2.bp.blogspot.com/-G4iqklDGIr8/Vm4-cBV9oxI/AAAAAAAABa0/68dj2am7wLM/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-14%2B12.57.33.png" width="400" /></a></div>
<br />
<span style="color: #444444;">もう一つ、同じ画面上で2つマクロを編集してみます。</span><span style="color: #444444;">一つは上記のマクロで、もう一つマクロを増やします。</span><br />
<span style="color: #444444;">jEditの新規テキストボタンを押して、新規テキストを作成して、レイアウトを2パネルに変更します(jEditウィンドウの右上)。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">新しいテキストには、次のようにサンプル画像を指定して表示するマクロを書いてみました。</span><br />
<span style="color: #444444;"><br /></span>
run ("Blobs (25K)");<br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">編集しているjEdit上のテキストをアクティブにしたまま、同じように、プラグインウィンドウの"Run macro"を押して、マクロを実行します。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-laVAVQoJA18/Vm4_3jRoLMI/AAAAAAAABbA/_2yaYd0hMkI/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-14%2B13.04.20.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="145" src="https://1.bp.blogspot.com/-laVAVQoJA18/Vm4_3jRoLMI/AAAAAAAABbA/_2yaYd0hMkI/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-14%2B13.04.20.png" width="320" /></a></div>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">上記操作は、開発者が動画でも公開しているので、チェックしてみて下さい。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/sLvXBBGGsBs/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/sLvXBBGGsBs?feature=player_embedded" width="320"></iframe></div>
<div class="separator" style="clear: both; text-align: center;">
(Introduced by:https://www.youtube.com/watch?v=sLvXBBGGsBs)</div>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">このような操作の他に、このプラグインでは、"Install macro"で編集しているマクロをImageJにインストールしたり、編集しているテキストファイルがjavaファイルの場合は、”Compile java”でクラスファイルにコンパイルしたりできます。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">jEditのデフォルトのメニューからマクロのテキストファイルを読み込んで編集することもできます。</span><span style="color: #444444;">もちろん、jEditは主にプログラム用のエディタなので、ゼロからプログラムを作成することもできます。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">今回は、ImageJを用いたプログラム開発のためにjEditを用いる方法を紹介しました。ImageJ標準のエディタを使うよりも、jEditなどのプログラム開発専用のエディタを使うほうがプラグインやマクロを開発しやすいと思う人が多いはずです。</span><br />
<span style="color: #444444;">jEditは、開発環境として、IDEには敵わないと個人的には思いますが、ちょっとしたマクロを書きたいときには便利です。</span><span style="color: #444444;">普段からImageJを自分でアレンジして使っている方々にとって有益な情報になれば幸いです。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div style="background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18.2px;">
<span class="s2"><span style="color: #444444;">参考記事:「</span></span><span style="color: #444444; line-height: 18.2px;">山本修司:</span><span style="color: #444444; line-height: 18.2px;">ImageJで学ぶ実践医用・バイオ画像処理.INNERVISION(26・2) 2011, p96-97」</span></div>
<div style="background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18.2px;"><br /></div>
VISブログ担当者http://www.blogger.com/profile/14228255165322496017noreply@blogger.com0tag:blogger.com,1999:blog-2981532364676062595.post-28801157181289298292015-12-13T12:05:00.002+09:002021-02-19T14:56:00.590+09:00第63回 ImageJによる領域抽出の応用ーFijiとレベルセット法で学ぶ!<span style="color: #444444;">ImageJでは、画像濃淡値の閾値による領域抽出が標準で用意されていますが、今回は、最先端かつ応用的なレベルセット法という領域抽出法を紹介します。画像の中の対象周辺の濃度勾配の計算を繰り返しながら正確に輪郭を抽出する手法です。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<h4>
<span style="color: #444444;">領域抽出手法について</span></h4>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">ImageJで実行可能な領域抽出法については、これまでにいくつか基礎的な方法に限り説明を行ってきました。今回は、ImageJを生命科学の研究用に特化させた"Fiji"を使って、より応用的な輪郭抽出法の説明を行います。</span><br />
<span style="color: #444444;">Fijiについては、</span><span face=""arial" , "tahoma" , "helvetica" , "freesans" , sans-serif" style="background-color: white; color: #444444;">第51回ImageJの高次画像処理パッケージーFijiについてーで学ぶ!</span><span style="color: #444444;">を参照してください。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">Fijiで扱うことができる領域抽出法は多く揃っています。以下に、主な領域抽出法を紹介します。</span><br />
<ul>
<li><span style="color: #444444;">自動局所閾値処理</span></li>
<li><span style="color: #444444;">マルチ大津法</span></li>
<li><span style="color: #444444;">最大エントロピー閾値法</span></li>
<li><span style="color: #444444;">混合モデリング閾値法</span></li>
<li><span style="color: #444444;">Nuclei Watershed Separation法</span></li>
<li><span style="color: #444444;">SIOX:Simple Interactive Object Extraction</span></li>
<li><span style="color: #444444;">レベルセット法</span></li>
</ul>
<span style="color: #444444;">それぞれの画像の領域抽出法には長所・短所があるため、目的に応じて使い分ける必要があり、この手法自体に優劣をつけて評価できるものではないことに留意してください。</span><br />
<span style="color: #444444;">2015年12月現在、Fijiのプラグインに設定されているSegmentationツールは次の通りです。</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-wM-2Fm-R7eE/VmzgH33mxHI/AAAAAAAABaQ/3R6_ahSZ48E/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-13%2B12.02.43.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="280" src="https://3.bp.blogspot.com/-wM-2Fm-R7eE/VmzgH33mxHI/AAAAAAAABaQ/3R6_ahSZ48E/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-13%2B12.02.43.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(各機能の詳細はFijiサイトで確認してください。)</div>
<br />
<h4>
<span style="color: #444444;">レベルセット法による領域抽出法</span></h4>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;"><a href="http://fiji.sc/Level_Sets" target="_blank">レベルセット法</a>は、</span><span style="color: #444444;">オブジェクトの境界を抽出するために、</span><span style="color: #444444;">濃淡の高低差のある位置を認識し、</span><span style="color: #444444;">隣接するピクセル間の差分の評価を偏微分方程式(</span><span face=""arial" , sans-serif" style="background-color: white; color: #444444;">partial differential equations :PDE</span><span style="color: #444444;">)をベースに解いていく手法です。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">抽出領域が成長している間は、常に新しく追加されたピクセルに現在の選択範囲の差を計算し、事前に選択された濃淡値の差を越える場合、または、それが事前に選択された成長の特定レートを超えている場合は、成長が止まります。</span><br />
<span style="color: #444444;">しかし、このアルゴリズムは、オブジェクトの外側に領域が漏洩する可能性もあります。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">輪郭がオブジェクトの境界に到達するまでのレベルは、</span><span style="color: #444444;">ゴムバンドの強さとグレーレベルの違いを事前にレベルセット設定ダイアログから選択して調整できます。</span><br />
<span style="color: #444444;">この設定の中にあるスピーディーファーストマーチングは、処理データが大きい場合に、高速なレベルセットによる輪郭抽出として使用できます。例えば</span><span style="color: #444444;">、画像が大きければ、スピーディーファーストマーチングでスタートして、レベルセット法でオブジェクトを定義し、輪郭抽出を使用することで、オブジェクト検出の効率化を図ることができます。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<h4>
<span style="color: #444444;">Fijiによるレベルセット法のアルゴリズムの詳細</span></h4>
<br />
<span style="color: #444444;">レベルセット法の<a href="https://en.wikipedia.org/wiki/Fast_marching_method" target="_blank">高速マーチングアルゴリズム</a>(Flood fillに似ている処理方法)はオブジェクトの境界に向かってシード点から展開されていきます。</span><span style="color: #444444;">アクティブな輪郭は、画像の複数の固有の幾何学的測定に準じて、特定時間内に初期輪郭を進化させます。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">Fijiに実装されたプラグインで測定されるのは、エッジベースの制約、グレー値ペナルティ、あいまいなエッジにおけるオブジェクト境界漏れを防ぐ局率制約です。</span><br />
<span style="color: #444444;"><br /></span><span style="color: #444444;">Fijiのプラグインは偏微分方程式を用いた図に示す式に基づいています。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-b2jagNijW1I/VmzNPijaIBI/AAAAAAAABZI/BeD1CyN_Vqs/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-13%2B10.42.55.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="293" src="https://4.bp.blogspot.com/-b2jagNijW1I/VmzNPijaIBI/AAAAAAAABZI/BeD1CyN_Vqs/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-13%2B10.42.55.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
(補足)</div>
<br />
<ul>
<li><span style="color: #444444;">Φ(i)=最新の抽出表面</span></li>
<li><span style="color: #444444;">W(a)=移流重量</span></li>
<li><span style="color: #444444;">F(a)=移流力</span></li>
<li><span style="color: #444444;">W(c)=曲率重量</span></li>
<li><span style="color: #444444;">F(c)=曲率力</span></li>
<li><span style="color: #444444;">∇I*=ガウシアンぼかし画像間の差分</span></li>
</ul>
<br />
<span style="color: #444444;"><br /></span>
<br />
<h4>
<span style="color: #444444;">Fijiを用いたレベルセット法の実行例</span></h4>
<br />
<span style="color: #444444;">レベルセット法はFijiのプラグインから選択できます。</span><br />
<span style="color: #444444;">まず、対象とする画像を表示して、ポイントアイコン(またはポリゴンや円形ROI)を選択し、領域抽出したシードポイントを決定します。次に、FijiメニューからPlugin>Segmentation>Level Setsを選択すると、図のようなダイアログが表れます。</span><br />
<span style="color: #444444;">一般的なものであれば、デフォルトの設定でうまく抽出できるようになっています。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-_VKDrC5Luxw/VmzWRrgQI6I/AAAAAAAABZY/_ceG_dLFaSM/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-13%2B11.05.27.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="271" src="https://1.bp.blogspot.com/-_VKDrC5Luxw/VmzWRrgQI6I/AAAAAAAABZY/_ceG_dLFaSM/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-13%2B11.05.27.png" width="320" /></a></div>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">シード点にポイントツールを利用している場合は、"Use Fast Marching"をチェックすると、高速に輪郭を探してくれます。また、ある程度マニュアルで任意ROIによって形状を作ってから"Use Level Sets"をチェックして実行すると、ROIをうまく対象画像の辺縁にマッチしてくれます。</span><span style="color: #444444;">"Use Level Sets"はデフォルトでOnになっています。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">上記設定で、そのままOKをすると、領域抽出が繰り返され、設定された閾値領域がすべて抽出されると、自動で計算が止まり、ROIと二値化画像を表示してくれます。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-INleL2injYE/VmzcYW7Xg5I/AAAAAAAABZ4/8c8cD73Z2ik/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-13%2B11.46.10.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://2.bp.blogspot.com/-INleL2injYE/VmzcYW7Xg5I/AAAAAAAABZ4/8c8cD73Z2ik/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-13%2B11.46.10.png" width="269" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(抽出結果:濃淡値の閾値"50")</div>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">この例では、脳腫瘍が他の脈管や白質・灰白質などの正常組織とコントラストが淡く、デフォルト設定ではうまく抽出されませんでした。造影コントラストのある脈管系を除く脳全体が抽出されたことがわかります。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">そのため、境界条件をもう少し厳しくして、再度、計算させてみると、次のように、画像内の脳腫瘍と同じ濃淡レベルの領域が複数抽出されました。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-fOYivh-xQ8Q/VmzerFDw9KI/AAAAAAAABaE/Mw-CbIrLFgY/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-13%2B11.56.55.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="312" src="https://2.bp.blogspot.com/-fOYivh-xQ8Q/VmzerFDw9KI/AAAAAAAABaE/Mw-CbIrLFgY/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-13%2B11.56.55.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(濃淡値の閾値を"50"→"10"に設定)</div>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-XCxWtNOkTGg/VmzWRmdeLII/AAAAAAAABZk/QSQWQf2_vwQ/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-13%2B11.21.11.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://2.bp.blogspot.com/-XCxWtNOkTGg/VmzWRmdeLII/AAAAAAAABZk/QSQWQf2_vwQ/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-13%2B11.21.11.png" width="269" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(実行結果)</div>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">同じような目的で利用する領域抽出処理にSnake処理がありますが、利用する上で大きく違うポイントは、レベルセットでは、このように複数の関心領域を同時に分けて検出してくれるところです。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">また、上記の例では、外側に膨張していく処理ですが、Region expand設定をInsideにすれば、内側に膨張させていくことも可能です。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">このように、レベルセット法はImageJのデフォルトの領域ツールとは異なり、シードポイントを拡張しながら対象物の輪郭を抽出したり、同様に対象物の周辺から輪郭に向かって縮小していくような微分方程式を用いた優れた領域抽出法です。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">今回は、画像の領域抽出処理の中でもレベルセット法による輪郭抽出について説明を行いました。</span><span style="color: #444444;">本処理は、特に、腫瘍の面積を正確に計算したり、複雑な輪郭形状を抽出するのに便利な領域抽出法です。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">次回もImageJによる画像処理の応用について説明を行います。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div style="background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18.2px;">
<span class="s2"><span style="color: #444444;">参考記事:「</span></span><span style="color: #444444; line-height: 18.2px;">山本修司:</span><span style="color: #444444; line-height: 18.2px;">ImageJで学ぶ実践医用・バイオ画像処理.INNERVISION(26・1) 2011, p86-87」</span></div>
<div style="background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18.2px;"><br /></div>VISブログ担当者http://www.blogger.com/profile/14228255165322496017noreply@blogger.com0tag:blogger.com,1999:blog-2981532364676062595.post-55267113649252842152015-12-10T19:50:00.006+09:002021-02-19T14:55:37.937+09:00第62回 ImageJによる関心領域計算手法ーいろいろなROI計測方法についてで学ぶ!<span style="color: #444444;">ImageJが持つほかのソフトウェアにはない強みの1つとして、多彩な画像解析機能が挙げられます。画像解析を行う場合、入力画像全体を解析するよりも画像の中心の関心領域(region of interest:ROI)を抽出し、その中の統計解析や定量解析を行うことが圧倒的に多いです。本稿では、ImageJの基本ツールの部分に立ち返り、ROIを用いた便利な計測方法を紹介します。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<h4>
<span style="color: #444444;">ROIツール</span></h4>
<br />
<span style="color: #444444;"><br /></span><span style="color: #444444;">まず、ImageJのメニューにあるROIツールアイコンについての簡単な使用例を示します。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-qMx9MmM2PZo/VmlPdPtFubI/AAAAAAAABXA/LxOMfZyXAeg/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B19.07.20.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="85" src="https://1.bp.blogspot.com/-qMx9MmM2PZo/VmlPdPtFubI/AAAAAAAABXA/LxOMfZyXAeg/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B19.07.20.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-i_hc4lCRVno/VmlPdG0AldI/AAAAAAAABW8/41MdcHl4BvY/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B19.09.38.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://3.bp.blogspot.com/-i_hc4lCRVno/VmlPdG0AldI/AAAAAAAABW8/41MdcHl4BvY/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B19.09.38.png" width="301" /></a></div>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">ROIの形状には矩形、円形、ポリゴン形状、フリーハンド形状などがあります。また、領域を囲むという定義からは外れますが、ラインツールやポイントツールもROIツールの1つとして説明していきます。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">ROIのアイコンには赤い逆三角形のマークが右下についているものとついていないものがあります。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-8-LcTIGfXrU/VmlPyLXrh-I/AAAAAAAABXM/e017UBPVJ00/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B19.10.57.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="55" src="https://2.bp.blogspot.com/-8-LcTIGfXrU/VmlPyLXrh-I/AAAAAAAABXM/e017UBPVJ00/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B19.10.57.png" width="400" /></a></div>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">ついているものはROI上で右クリックするかダブルクリックするとより詳細な機能がダイアログとして現れます。図は、円形ROIを選択して、画像上にROIを描画したシーンと、このROIを右クリックしてブラシツールに切り替えたシーンです。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-1iksHL0425I/VmlQ9XFokXI/AAAAAAAABXc/ABJMIJb6B1Q/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B19.14.54.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://3.bp.blogspot.com/-1iksHL0425I/VmlQ9XFokXI/AAAAAAAABXc/ABJMIJb6B1Q/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B19.14.54.png" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(ImageJメニューの円形ROIアイコンを右クリック)</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-GECBz-rweB4/VmlQ9SnXtdI/AAAAAAAABXY/2quy4XzX7bA/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B19.15.55.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="243" src="https://2.bp.blogspot.com/-GECBz-rweB4/VmlQ9SnXtdI/AAAAAAAABXY/2quy4XzX7bA/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B19.15.55.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(Selection Brush Toolで輪郭を変形)</div>
<br />
<span style="color: #444444;">このように円形ROIではブラシツールと使い分けることができます。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">また、次の図は、ラインツールをラインの幅を変えて使用しているシーンです。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-bfGFQC61YYo/VmlXAUvKkLI/AAAAAAAABX0/TogrREmBZOA/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B19.41.27.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://2.bp.blogspot.com/-bfGFQC61YYo/VmlXAUvKkLI/AAAAAAAABX0/TogrREmBZOA/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B19.41.27.png" width="304" /></a></div>
<br />
<span style="color: #444444;">線幅を増やしたラインのプロファイルは、幅のピクセル値の平均値をプロットしていくため、通常のラインツールを使用したときよりも滑らかに描かれていることがわかります。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">ライン上のピクセル値を位置ごとにプロットしたもの(ラインプロファイル)</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-Z-Azh_jZi2Q/VmlXAbnp_oI/AAAAAAAABX8/mEiUJzdqnMk/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B19.40.56.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="216" src="https://1.bp.blogspot.com/-Z-Azh_jZi2Q/VmlXAbnp_oI/AAAAAAAABX8/mEiUJzdqnMk/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B19.40.56.png" width="320" /></a></div>
<span style="color: #444444;">線幅を30ピクセルにしたラインツール(Edit>Options>Line Width)のプロファイル</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-RH4KO5Vp7ic/VmlXAbPSwiI/AAAAAAAABYE/AppZ1USIgtE/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B19.41.16.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="216" src="https://2.bp.blogspot.com/-RH4KO5Vp7ic/VmlXAbPSwiI/AAAAAAAABYE/AppZ1USIgtE/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B19.41.16.png" width="320" /></a></div>
<span style="color: #444444;">このように、ラインツールは幅を変えるだけでなく、さまざまな形状で利用できます。通常のライン描画に加えて、ポリゴンラインや自由線、矢印線などを描画でき、それぞれのライン上の画素値を上記のようにプロットすることができます。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<h4>
<span style="color: #444444;">ROIの計測項目</span></h4>
<br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">画像上の任意の領域を描画するだけではなく、その領域内の統計値を計算したい場合は、まず最初に評価項目を決定します。</span><span style="color: #444444;">ImageJのメニューから、Analyze>Set Measurements...を選択し、計測に必要な項目をチェックします。</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-FJSVwGOQhqg/VmlXz3bQsfI/AAAAAAAABYI/so5_OMwdZO8/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B19.45.20.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="221" src="https://4.bp.blogspot.com/-FJSVwGOQhqg/VmlXz3bQsfI/AAAAAAAABYI/so5_OMwdZO8/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B19.45.20.png" width="320" /></a></div>
<span style="color: #444444;"><br /></span>
<br />
<h4>
<span style="color: #444444;">マルチROI、マルチ画像対応ROIの自動計測</span></h4>
<br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">ImageJには画像上に複数のROIを設定して、すべてを同時に計測する作業や、その作業を複数の画像にわたり一挙に解析してしまう特別なツールが備わっています。それが、"ROI Manager"です。ImageJメニューのAnalyze>Tools>ROI Manager...を選択すると、図のようなダイアログ画表示されます。これがROI Managerです。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-kt2ANBOkhrg/VmlX9ZBcpwI/AAAAAAAABYQ/auuLFgkDJtA/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B19.46.00.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://3.bp.blogspot.com/-kt2ANBOkhrg/VmlX9ZBcpwI/AAAAAAAABYQ/auuLFgkDJtA/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B19.46.00.png" width="250" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(すでにいくつかのROIが記録された状態のものです)</div>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">このROIマネージャーを表示したまま、画像上にユーザが使いたいROI(上記図の場合は、円形ROIですが、ラインツールも使用可能)を設定し、ROIマネージャーの<Add>ボタンを押すと、上図のように、ROIの位置とROI番号が記録されます。これを同様に繰り返し、複数のROIを"Add"機能によって付加していきます。最後に、Measureボタンを押すと、表示している現在の画像のみの複数のROIの統計値がすべて結果テーブルに自動的に表示されます。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-FwEwgicdwkQ/VmlYhqGwEbI/AAAAAAAABYY/bqaOXvPAKCA/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B19.48.18.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="165" src="https://3.bp.blogspot.com/-FwEwgicdwkQ/VmlYhqGwEbI/AAAAAAAABYY/bqaOXvPAKCA/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B19.48.18.png" width="320" /></a></div>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">この結果テーブルを見てわかるとおり、先ほど、Set Measurementsで設定した項目になっています。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<h4>
<span style="color: #444444;">スタック画像、マルチフレーム、別シリーズスタックの計測</span></h4>
<br />
<br />
<span style="color: #444444;">測定対象とする画像が1枚だけでなく、多チャンネルもしくはスタック画像で、同一箇所のROIを複数の画像上で測る場合にも、ROIマネージャで一挙に計測することができます。ROIマネージャ上のMoreボタンを押して、Multi Measureを押すと、複数画像ROI計測用ダイアログが出現するので、Measure all slicesをチェックしてOKを押すと全画像にわたり同一箇所のROIが計測されます。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-NwGfPnKgVUw/VmlYzdyyFlI/AAAAAAAABYg/F0KiW9Rl2Do/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B19.49.23.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://3.bp.blogspot.com/-NwGfPnKgVUw/VmlYzdyyFlI/AAAAAAAABYg/F0KiW9Rl2Do/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B19.49.23.png" width="155" /></a></div>
<br />
<span style="color: #444444;">さらに、一度計測を行ったROIのポジションと大きさをImageJを起動するたびに設定しなおすのは非常に煩雑な作業です。その対応として、同じダイアログのMoreボタンからSaveでいったん保存しておくと、次回からはImageJを立ち上げて同一の画像でも別の画像を読み込んでもROIマネージャを起動して同じMore機能でOpenを押すと、以前と同じ位置にROIが表示されます。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-nUgKiPt_sNk/VmlYzecxUDI/AAAAAAAABYs/69SBsLbfUlY/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B19.49.33.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://2.bp.blogspot.com/-nUgKiPt_sNk/VmlYzecxUDI/AAAAAAAABYs/69SBsLbfUlY/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B19.49.33.png" width="155" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="color: #444444;">実践的な例では、ファントムを用いた計測などがあります。</span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="color: #444444;">以下は、NEMA NU 2 2012 PET bodyファントムを計測した画像ですが、ROIもたくさん作る必要があり、かつ、マルチフレームでシリーズが複数に分かれます。</span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="color: #444444;">このような場合でも、上記のようにROIデータを保管して、複数シリーズに適用することや、スタック画像であっても、その中の一枚だけを計測したり、スタック画像全てを対象として、全データテーブルを作ったりできます。</span></div>
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-yVuPtW8uUxQ/VmzAy-AE_TI/AAAAAAAABY4/X9WZtDwQ8tY/s1600/NEMA_NU_2_2012%2528PET%2529Sample.jpeg" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://2.bp.blogspot.com/-yVuPtW8uUxQ/VmzAy-AE_TI/AAAAAAAABY4/X9WZtDwQ8tY/s1600/NEMA_NU_2_2012%2528PET%2529Sample.jpeg" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(<span style="color: #444444;">NEMA NU 2 2012 PET bodyファントム</span>)</div>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">このように、ImageJではROI計測の作業が非常に便利で使いやすくかつ高速です。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">今回はImageJによるROIの計測方法について説明を行いました。次回も続けてImageJならではの便利な機能と使い方の説明を行います。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div style="background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18.2px;">
<span class="s2"><span style="color: #444444;">参考記事:「</span></span><span style="color: #444444; line-height: 18.2px;">山本修司:</span><span style="color: #444444; line-height: 18.2px;">ImageJで学ぶ実践医用・バイオ画像処理.INNERVISION(25・12) 2010, p102-103」</span></div>
<div style="background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18.2px;"><br /></div>VISブログ担当者http://www.blogger.com/profile/14228255165322496017noreply@blogger.com0tag:blogger.com,1999:blog-2981532364676062595.post-13103008267757032602015-12-10T19:04:00.003+09:002021-02-19T14:55:19.994+09:00第61回 ImageJによるコントラスト調整の応用ーCLAHEについてで学ぶ!<span style="color: #444444;">ImageJの標準の画像処理機能の中には、ヒストグラムを均一にしてコントラストを調整するメニューもありますが、同じ画像の中でも濃淡コントラストが極端に異なる領域が存在する場合、画像ノイズも強調されてしまい、期待通りの画像処理結果が得られないことがあります。このような場合に、ユーザー側で許容できるノイズレベルや、画質を調整できるコントラスト制御機能があれば非常に便利です。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">今回は、このコントラストの均一化について、パラメータの調整が可能な”CLAHE”(コントラスト制限付適応ヒストグラム均一化/均等化)について説明します。</span><br />
<span style="color: #444444;">医用画像処理の応用として、CLAHE処理は、放射線治療の分野で使用されるリニアックグラフィ(ポータルイメージ)やマンモグラフィなどにも適応されています。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<h4>
<span style="color: #444444;">CLAHEとは</span></h4>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;"><span style="color: #444444;">ヒストグラム均一化処理は、処理対象となる画像全体に機能しますが、コントラスト制限付適応ヒストグラム均一化/均等化処理(Contrast Limited Adaptive Histogram Equalization:CLAHE)は、画像内のtilesと呼ばれる分割されたブロックごとに処理をすることで、</span><span face=""arial" , sans-serif" style="background-color: white; line-height: 18.2px;">画像の局所領域のコントラストを強調し、細部の可視性を高める手法です。CLAHE</span><span face=""arial" , sans-serif" style="background-color: white; line-height: 18.2px;">は局所領域のノイズの過剰な増幅を抑えた強調処理ができるといわれています。</span></span><br />
<span style="color: #444444;"><br /></span><span style="color: #444444;">CLAHEでは、分割されたtileに対して、近似的かつ最適なヒストグラムのコントラストになるよう自動濃淡調整を行います。この処理の際、計算ブロックごとの境界にアーチファクトが生じるため、 双一次内挿(バイリニア補間)を使って、近傍のtileに補間処理をかけます。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">ImageJでは、Stephan Saalfeld氏によって開発されたCLAHEプラグイン(http://rsbweb.nih.gov/ij/plugins/clahe/CLAHE_.java)が用意されており、通常のヒストグラム均一化と一味違う結果が得られます。</span><br />
<span style="color: #444444;">以下にCLAHEのコントロールパラメータを示します。</span><br />
<ul>
<li><span style="color: #444444;">ブロックサイズ:画像を分割するtileのサイズの決定。目安として画質を維持したい対象のサイズよりも大きなブロックサイズを選択すと良い。</span></li>
<li><span style="color: #444444;">ヒストグラムのビン数:8および24ビットカラー(RGB)のみ対応のヒストグラムで、ビン数はtileのピクセル数よりも小さく設定しなければならない。</span></li>
<li><span style="color: #444444;">最大スロープ:強度伝達関数(intensity transfer function)によるコントラスト伸張の制限を決める。この値の1は、元画像を基準として、それよりも大きな値を入力することによって画像局所の最大コントラストを決定する。</span></li>
</ul>
<div>
<span style="color: #444444;"><br /></span></div>
<h4>
<span style="color: #444444;">ImageJを用いたCLAHE処理</span></h4>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">ここからは、実際にImageJでCLAHEを利用する方法を紹介します。</span><br />
<span style="color: #444444;">まず、CLAHEのプラグインファイルをImageJプラグインのWebサイトからダウンロードし、ImageJのプラグインフォルダ下に置きます。ダウンロードできない場合は、上記URLのソースをすべてテキストにコピーしてから、拡張 子を".java"に変えます。</span><br />
<br />
<span style="color: #444444;">対象となる画像をImageJに表示し、インストールしたCLAHEプラグインをプラグインメニューのコンパイル&ランから選択して起動します。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-QyIgeUCIqb8/Vmk8GpQfPhI/AAAAAAAABV8/oiJlEZSs-Zc/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B17.24.05.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="247" src="https://3.bp.blogspot.com/-QyIgeUCIqb8/Vmk8GpQfPhI/AAAAAAAABV8/oiJlEZSs-Zc/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B17.24.05.png" width="320" /></a></div>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">すると、前述したパラメータを入力するウィンドウが現れるので、それぞれの値を入力します。</span><span style="color: #444444;">図に、同一症例におけるImageJを用いた標準的なコントラスト均一化処理を行った場合と、CLAHE処理を行った場合を示します。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">標準的なコントラスト均一化処理(Process>EnhanceContrast...)</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-eIGrVpwpM_A/Vmk8xxUGF_I/AAAAAAAABWM/W1Ewgl4XS20/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B17.49.31.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="247" src="https://1.bp.blogspot.com/-eIGrVpwpM_A/Vmk8xxUGF_I/AAAAAAAABWM/W1Ewgl4XS20/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B17.49.31.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-JXvLsQaKQ0c/Vmk8x9dpCPI/AAAAAAAABWQ/kcDxr1Hr9gw/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B17.49.47.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="249" src="https://2.bp.blogspot.com/-JXvLsQaKQ0c/Vmk8x9dpCPI/AAAAAAAABWQ/kcDxr1Hr9gw/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B17.49.47.png" width="320" /></a></div>
<span style="color: #444444;">CLAHE処理</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-QyIgeUCIqb8/Vmk8GpQfPhI/AAAAAAAABWE/ql-lDsJHPZI/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B17.24.05.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="247" src="https://2.bp.blogspot.com/-QyIgeUCIqb8/Vmk8GpQfPhI/AAAAAAAABWE/ql-lDsJHPZI/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B17.24.05.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-QeNNUlnT-0I/Vmk8G9iHnCI/AAAAAAAABWI/OM6TPDEOgDo/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B17.24.20.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="249" src="https://1.bp.blogspot.com/-QeNNUlnT-0I/Vmk8G9iHnCI/AAAAAAAABWI/OM6TPDEOgDo/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B17.24.20.png" width="320" /></a></div>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">この例では、tileのサイズを127×127にし、ヒストグラムビン数は画像が8ビットであるため256とし、maximum slopeをオリジナルの1より大きな値の3で処理してみた例となります。</span><br />
<span style="color: #444444;">その結果、目視評価では、CLAHEによる処理は、ノイズを抑制しながらコントラストのバランスが良くなったように見えます。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">図は、前述の比較例を<a href="http://bigwww.epfl.ch/sage/soft/snr/" target="_blank">ImageJのSNR計測プラグイン</a>を用いて定量的に行った例です。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-XM7-Bc0Lrmc/VmlNwe4ZpYI/AAAAAAAABWw/gS66U6LZKsM/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B19.02.09.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="173" src="https://1.bp.blogspot.com/-XM7-Bc0Lrmc/VmlNwe4ZpYI/AAAAAAAABWw/gS66U6LZKsM/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B19.02.09.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(Term1:オリジナル、Term1-1:均一化処理、Term1-2:CLAHE(tile:127)、Term1-3CLAHE(tile:63)、Term1-4CLAHE(tile:27))</div>
<span style="color: #444444;"><br /></span>
<span style="color: #444444; font-family: inherit;"><span style="color: #444444;">それぞれ、オリジナルを元画像(リファレンス)としてSNR(</span>Signal-to-noise ratio)、PSNR(Peak signal-to-noise ratio)、RMSE(Root mean square error)、MAE(Mean absolute error)を求めた値を示しています。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">CLAHEでtileを細かくしていくほど、すべてのデータが元データと比べて改善していることがわかります。</span><span style="color: #444444;">tileなどの設定値や解析対象物によって使い分けをすると、より良い結果が導けるかもしれません。</span><span style="color: #444444;">腹部MRI画像での処理例では、かなり改善されるようです。</span><br />
<br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">今回は濃淡値の均等化による調整を行う際、従来のヒストグラム均一化処理とは異なるCLAHE処理を用いて、ノイズを抑制を調整しながら、コントラストを均一に強調する方法を紹介しました。次回もImageJの便利な機能を紹介します。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div style="background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18.2px;">
<span class="s2"><span style="color: #444444;">参考記事:「</span></span><span style="color: #444444; line-height: 18.2px;">山本修司:</span><span style="color: #444444; line-height: 18.2px;">ImageJで学ぶ実践医用・バイオ画像処理.INNERVISION(25・11) 2010, p114-115」</span></div>
<div style="background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18.2px;"><br /></div>VISブログ担当者http://www.blogger.com/profile/14228255165322496017noreply@blogger.com0tag:blogger.com,1999:blog-2981532364676062595.post-43365669126905513122015-12-10T17:07:00.001+09:002021-02-19T14:55:01.687+09:00第60回 ImageJによるGUIの活用で学ぶ!<span style="color: #444444;">ImageJではユーザが独自にプログラム開発を行ってオリジナルのImageJを作成することができます。(その方法には、ImageJの開発用にパッケージ化されたJava言語のライブラリを用いる方法や、マクロというImageJ特有のマクロ言語を用いる方法の二つがあります。)</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">今回はImageJを使いやすくするために、ユーザ自らがアイコンなどを作成して、ImageJのルックアンドフィールをアレンジする方法を紹介します。</span><br />
<br />
<h4>
プラグインの準備</h4>
<br />
まず、ImageJでグラフィカルユーザインターフェース(GUI:ジーユーアイまたはグイ)を作成するためのプラグインをインストールします。プラグインファイルは”Action Bar Plugin”です。<br />
<br />
<a href="http://imagejdocu.tudor.lu/doku.php?id=plugin:utilities:action_bar:start">http://imagejdocu.tudor.lu/doku.php?id=plugin:utilities:action_bar:start</a><br />
<br />
このプラグインは、Jerome Mutterer氏(Institut de Biologie Moleculaire des Plantes, Strasbourg)によって作成されたものです。<br />
<br />
このActionBarプラグインは、ダウンロード後、解凍して、フォルダごとPluginsフォルダにコピーすれば使えるようになります。フォルダ構成と内容は以下のようにしてみました。<br />
<br />
<pre class="code" style="background-color: #f7f9fa; border: 1px dashed rgb(140, 172, 187); font-size: 12.48px; line-height: 20.48px; margin-bottom: 1em; margin-right: 0.1em; overflow: auto; padding: 0.5em; text-align: justify;">ImageJ/plugins/ActionBar Action Bar プラグイン用フォルダ</pre>
<pre class="code" style="background-color: #f7f9fa; border: 1px dashed rgb(140, 172, 187); font-size: 12.48px; line-height: 20.48px; margin-bottom: 1em; margin-right: 0.1em; overflow: auto; padding: 0.5em; text-align: justify;">action<span style="font-size: 12.48px; line-height: 20.48px;">_bar202.jar ActionBarフォルダにjarを配置</span></pre>
<pre class="code" style="background-color: #f7f9fa; border: 1px dashed rgb(140, 172, 187); font-size: 12.48px; line-height: 20.48px; margin-bottom: 1em; margin-right: 0.1em; overflow: auto; padding: 0.5em; text-align: justify;"><span style="font-size: 12.48px; line-height: 20.48px;">icons/ ActionBarフォルダにiconsフォルダを作成</span></pre>
<br />
さっそく、ActionBarの動作を確認していきましょう。<br />
次のようなGUIが自在に使えるようになりますよ。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-SO5r5MtHJ8g/VmkGLSVelII/AAAAAAAABTM/XcywnI5HU1E/s1600/actionbar.jpeg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="169" src="https://1.bp.blogspot.com/-SO5r5MtHJ8g/VmkGLSVelII/AAAAAAAABTM/XcywnI5HU1E/s320/actionbar.jpeg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(http://imagejdocu.tudor.lu/doku.php?id=plugin:utilities:action_bar:startより引用)</div>
<br />
ユーザー自身でよく使うアイコンをあらかじめ作成しておき、開始時に表示させれば作業効率が向上します。<br />
<br />
<h4>
アイコンの操作方法</h4>
<br />
アイコンを独自でコントロールする場合に、ActionBarの構成を変更することができます。プラグインメニューから”ActionBar”を選択すれば、図のようなウィンドウが表示されます。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-TS-AZXh2-vs/VmkGr0Rk7OI/AAAAAAAABTU/F3OXYL0YzpY/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B13.59.08.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="224" src="https://3.bp.blogspot.com/-TS-AZXh2-vs/VmkGr0Rk7OI/AAAAAAAABTU/F3OXYL0YzpY/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B13.59.08.png" width="320" /></a></div>
<br />
このウィンドウの中のタイトルに従って、テキストボックスを埋めていくと、独自のGUIを構成することができます。<br />
前述の図のテキストボックス変更せず、デフォルトでOKボタンを押すと、次の図のようなGUIとマクロコードが自動表示されます。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-CJM5pH4aF4I/VmkG5THS03I/AAAAAAAABTc/ZM0Z9-my2lg/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B14.00.06.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://1.bp.blogspot.com/-CJM5pH4aF4I/VmkG5THS03I/AAAAAAAABTc/ZM0Z9-my2lg/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B14.00.06.png" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-BBrMVEcOKoo/VmkG5RIGOJI/AAAAAAAABTg/84_jPVrtsbw/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B14.00.03.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="186" src="https://4.bp.blogspot.com/-BBrMVEcOKoo/VmkG5RIGOJI/AAAAAAAABTg/84_jPVrtsbw/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B14.00.03.png" width="320" /></a></div>
<br />
このコードを改変すると、独自のGUIが作成できます。例として、次のようなコードに改変してみました。1つ目のボタンを以下のように変更してみます。<br />
<br />
<div class="p1">
<line></div>
<div class="p1">
<button> 1 line 1</div>
<div class="p1">
label=hello</div>
<div class="p1">
icon=noicon</div>
<div class="p1">
arg=<macro></div>
<div class="p1">
showMessage("Good luck");</div>
<br />
<div class="p1">
</macro></div>
<br />
もし、ActionBarプラグインを起動させている場合は、一旦GUIを終了させてから、このマクロを、ImageJのメニューから"Run Macro"します。(もしくは、このコード上で、Ctrl+Rを押す)そうすると、ビルドされて、書き換えられたGUIが表示されます。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-b1yIF7F4NgQ/VmkN8jsRR8I/AAAAAAAABT0/4PB7T8Vy7uo/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B14.27.58.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="134" src="https://1.bp.blogspot.com/-b1yIF7F4NgQ/VmkN8jsRR8I/AAAAAAAABT0/4PB7T8Vy7uo/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B14.27.58.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(ライン1の一つ目のボタンが変わり、ボタンを押すと、指定した文字列が表示される。)</div>
<br />
このように、新しいボタンを作成するには以下のルールに従うようにします。<br />
<br />
⑴新しいボタンは<button>タグを宣言する<br />
⑵2番目のラインは、「label=」キーワードで続けて入力する<br />
⑶3番目のラインは「icon=」キーワードで画像を入力できる<br />
→ImageJ/Plugins/ActionBar/icons folder下に画像を用意しておくか、アイコンを使用しない場合は「noicon」キーワードを入力する。画像を用意する場合は、画像までの相対パスを"icon="以降に記録する(例えば、"VIS-test-ActBar/abc.png"など)。<br />
⑷最後のコードには「arg=」キーワードを入力する。これはボタンキーが押された時に動作するアクションを入力する。<br />
<br />
arg=の書き方は、標準的には1ラインで下記のように記述します。<br />
arg=if(isOpen(“Log”)) selectWindow(“Log”); run(“Close”);<br />
<br />
しかし、これではわかりにくという場合には、arg=の次に<macro></macro>または<tool></tool>を挟んで記述すれば、プログラムがわかりやすくなる場合があります。<br />
<br />
・簡単な実行処理記述が長くなる時は<macro></macro>で囲む。<br />
<br />
arg=<macro> <macro></macro><br />
<macro>if (isOpen(“Log”)) { </macro><br />
<macro>selectWindow(“Log”); </macro><br />
<macro>run(“Close”); </macro><br />
<macro>}</macro><br />
<macro></macro> </macro><br />
<macro><br /></macro>
<macro>・ImageJ Tool機能を使う場合は、</macro><tool></tool>で囲む。<br />
<br />
<div class="p1">
arg=<tool></div>
<div class="p1">
getCursorLoc(x, y, z, flags);</div>
<div class="p1">
print(“Pixel: ”+x+“ ”+y+“ Value: ”+getPixel(x,y));</div>
<br />
<div class="p1">
</tool></div>
<br />
より詳しいGUIのタグの説明は割愛しますが、同プラグイン配布ページにPDFファイルによる詳細な説明があるので、参照してみてください。<br />
<br />
(こちら)<br />
<a href="http://imagejdocu.tudor.lu/lib/exe/fetch.php?media=plugin:utilities:action_bar:mutterer_workshop.pdf">http://imagejdocu.tudor.lu/lib/exe/fetch.php?media=plugin:utilities:action_bar:mutterer_workshop.pdf</a><br />
<br />
ActionBarのフォルダ下には幾つかのサンプルマクロが入っているので、参考にしながら、独自のアイコンとイベント処理コードを書くのが最も近道です。特に画像を開くと、その画像に磁石のようにアタッチメントされるSticky Barマクロなどは、非常に便利なGUIマクロです。<br />
<br />
<h4>
FigureJ</h4>
<br />
もう一つ、このJerome Mutterer氏が新たに開発されているプラグイン「FigureJ」を続けてご紹介いたします。<br />
<br />
<a href="http://imagejdocu.tudor.lu/doku.php?id=plugin:utilities:figurej:start">http://imagejdocu.tudor.lu/doku.php?id=plugin:utilities:figurej:start</a><br />
<br />
このプラグインは、ActionBarとは違い、論文やレポートに画像の図を綺麗に作る時に使われるツールです。<br />
<br />
機能は以下の通りです。<br />
<br />
<ul style="background-color: white; color: #638c9c; font-family: "Lucida Grande", Arial, Verdana, sans-serif; font-size: 12.8px; line-height: 1.5em; list-style-image: none; list-style-type: square; margin: 0px 0px 1em 3.5em; padding: 0px; text-align: justify;">
<li class="level1" style="margin: 0px; padding: 0px;"><div class="li" style="color: black; margin: 0px; padding: 0px;">
簡単に図のレイアウトを作成</div>
</li>
<li class="level1" style="margin: 0px; padding: 0px;"><div class="li" style="color: black; margin: 0px; padding: 0px;">
視覚的にパネルに画像を配置</div>
</li>
<li class="level1" style="margin: 0px; padding: 0px;"><div class="li" style="color: black; margin: 0px; padding: 0px;">
画像のスケーリングやローテーション</div>
</li>
<li class="level1" style="margin: 0px; padding: 0px;"><div class="li" style="color: black; margin: 0px; padding: 0px;">
ラベルやスケールバーの設置</div>
</li>
<li class="level1" style="margin: 0px; padding: 0px;"><div class="li" style="color: black; margin: 0px; padding: 0px;">
パネルごとにオリジナルの画像データソースを扱える</div>
</li>
<li class="level1" style="margin: 0px; padding: 0px;"><div class="li" style="color: black; margin: 0px; padding: 0px;">
保存と再編集</div>
</li>
<li class="level1" style="margin: 0px; padding: 0px;"><div class="li" style="color: black; margin: 0px; padding: 0px;">
各パネルの編集ログと一緒に画像を一般的な画像フォーマットでエクスポート</div>
</li>
</ul>
インストールは、いつも通り、以下のJarファイルを一つのフォルダにまとめ、pluginsフォルダに配置します。<br />
<br />
<ul style="background-color: white; color: #638c9c; font-family: "Lucida Grande", Arial, Verdana, sans-serif; font-size: 12.8px; line-height: 1.5em; list-style-image: none; list-style-type: square; margin: 0px 0px 1em 3.5em; padding: 0px; text-align: justify;">
<li class="level1" style="margin: 0px; padding: 0px;"><div class="li" style="color: black; margin: 0px; padding: 0px;">
figurej_110b.jar → get it from this <a class="media mediafile mf_jar" href="http://imagejdocu.tudor.lu/lib/exe/fetch.php?media=plugin:utilities:figurej:figure_j110b.jar" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-origin: initial; background-position: 0px 1px; background-repeat: no-repeat; background-size: initial; background: url("http://imagejdocu.tudor.lu/lib/images/fileicons/file.png") 0px 1px no-repeat transparent; color: #436976; margin: 0px; padding: 0px 0px 1px 18px; text-decoration: none;" target="_blank" title="plugin:utilities:figurej:figure_j110b.jar">link</a></div>
</li>
</ul>
<ul style="background-color: white; color: #638c9c; font-family: "Lucida Grande", Arial, Verdana, sans-serif; font-size: 12.8px; line-height: 1.5em; list-style-image: none; list-style-type: square; margin: 0px 0px 1em 3.5em; padding: 0px; text-align: justify;">
<li class="level1" style="margin: 0px; padding: 0px;"><div class="li" style="color: black; margin: 0px; padding: 0px;">
imagescience.jar → get it from Eric Meijering website <a class="urlextern" href="http://www.imagescience.org/meijering/software/download/imagescience.jar" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-origin: initial; background-position: 0px 1px; background-repeat: no-repeat; background-size: initial; background: url("http://imagejdocu.tudor.lu/lib/tpl/dokubook/images/link_icon.gif") 0px 1px no-repeat transparent; color: purple; margin: 0px; padding: 1px 0px 1px 16px; text-decoration: none;" target="_blank" title="http://www.imagescience.org/meijering/software/download/imagescience.jar">http://www.imagescience.org/meijering/software/download/imagescience.jar</a></div>
</li>
</ul>
<ul style="background-color: white; color: #638c9c; font-family: "Lucida Grande", Arial, Verdana, sans-serif; font-size: 12.8px; line-height: 1.5em; list-style-image: none; list-style-type: square; margin: 0px 0px 1em 3.5em; padding: 0px; text-align: justify;">
<li class="level1" style="margin: 0px; padding: 0px;"><div class="li" style="color: black; margin: 0px; padding: 0px;">
loci_tools.jar → get it from the LOCI website at <a class="urlextern" href="http://loci.wisc.edu/bio-formats/downloads" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-origin: initial; background-position: 0px 1px; background-repeat: no-repeat; background-size: initial; background: url("http://imagejdocu.tudor.lu/lib/tpl/dokubook/images/link_icon.gif") 0px 1px no-repeat transparent; color: purple; margin: 0px; padding: 1px 0px 1px 16px; text-decoration: none;" target="_blank" title="http://loci.wisc.edu/bio-formats/downloads">http://loci.wisc.edu/bio-formats/downloads</a> , choose the (stable release) version</div>
</li>
</ul>
<ul style="background-color: white; color: #638c9c; font-family: "Lucida Grande", Arial, Verdana, sans-serif; font-size: 12.8px; line-height: 1.5em; list-style-image: none; list-style-type: square; margin: 0px 0px 1em 3.5em; padding: 0px; text-align: justify;">
<li class="level1" style="margin: 0px; padding: 0px;"><div class="li" style="color: black; margin: 0px; padding: 0px;">
LSM_Reader.jar → get it from <a class="media mediafile mf_zip" href="http://imagejdocu.tudor.lu/lib/exe/fetch.php?media=plugin:utilities:figurej:lsmreader.zip" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-origin: initial; background-position: 0px 1px; background-repeat: no-repeat; background-size: initial; background: url("http://imagejdocu.tudor.lu/lib/images/fileicons/zip.png") 0px 1px no-repeat transparent; color: #436976; margin: 0px; padding: 0px 0px 1px 18px; text-decoration: none;" target="_blank" title="plugin:utilities:figurej:lsmreader.zip">this link</a> and unzip it in your plugins folder.</div>
</li>
</ul>
インストールができたら、プラグインメニューからFigureJを起動してみます。すると、次のような小さいウィンドウが現れます。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-Y6miR_wnswg/VmktuA_XUEI/AAAAAAAABUE/BV1tMTnjvRA/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B15.05.34.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://2.bp.blogspot.com/-Y6miR_wnswg/VmktuA_XUEI/AAAAAAAABUE/BV1tMTnjvRA/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B15.05.34.png" /></a></div>
<br />
この図の「New」または「Open」を押して、編集ウィンドウを開きます。今回は、「New」を押してみます。<br />
すると、図の作成をするためのウィンドウの設定画面が現れるので、そのままデフォルトのままOKします。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-HB5wXu6rpng/VmktuOdF6XI/AAAAAAAABVM/pZm1wwgcnsY/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B16.22.55.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="186" src="https://2.bp.blogspot.com/-HB5wXu6rpng/VmktuOdF6XI/AAAAAAAABVM/pZm1wwgcnsY/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B16.22.55.png" width="320" /></a></div>
<br />
そうすると、図を編集するためのメインウィンドウが立ち上がります。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-_5zfXzJ1TEU/VmktuheqG2I/AAAAAAAABU0/X1w__V-7lt4/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B16.23.48.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="245" src="https://2.bp.blogspot.com/-_5zfXzJ1TEU/VmktuheqG2I/AAAAAAAABU0/X1w__V-7lt4/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B16.23.48.png" width="320" /></a></div>
<br />
ここで、レイアウトを決めてみます。例えば、2段にして、上を2列、下を1列にしてみます。この作業を行うには、図を表示するウィンドウをアクティブにしてから、設定画面の「Split -」「Split |」を使います。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/--bZgFLtiw7k/Vmktu7fuK_I/AAAAAAAABUw/k_F0JNKJzWM/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B16.26.31.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://3.bp.blogspot.com/--bZgFLtiw7k/Vmktu7fuK_I/AAAAAAAABUw/k_F0JNKJzWM/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B16.26.31.png" width="310" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(まず上下に分割)</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-T-tIEecc_3c/Vmktu6TL5mI/AAAAAAAABVU/-MJ08EkDxuI/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B16.26.41.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://3.bp.blogspot.com/-T-tIEecc_3c/Vmktu6TL5mI/AAAAAAAABVU/-MJ08EkDxuI/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B16.26.41.png" width="310" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(上の列を2つに分割)</div>
<br />
それから、パネルに画像をはめ込んでいきます。任意のパネルを選択してから、Open imageから画像を選択して、切り取りたい領域をROIを調整したら、「OK」として、それぞれのパネルに画像をはめていきます。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-pC1pYxgLR64/VmktvEYUQLI/AAAAAAAABU8/L3onm53hfS4/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B16.30.13.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://3.bp.blogspot.com/-pC1pYxgLR64/VmktvEYUQLI/AAAAAAAABU8/L3onm53hfS4/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B16.30.13.png" width="295" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(任意の画像を開き、カットしたい領域を選択)</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-45A4-EEpk-M/VmktvUZGYbI/AAAAAAAABVI/opI2AnBDZQY/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B16.37.49.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://3.bp.blogspot.com/-45A4-EEpk-M/VmktvUZGYbI/AAAAAAAABVI/opI2AnBDZQY/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B16.37.49.png" width="310" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(すべてをはめ込んだ後の画面)</div>
<br />
そして、せっかくなら文字も、という場合も、「more」ボタンからOption画面を起動して、Panel labelsの設定を調整して、アクティブになっている画像パネルの四隅に好きな文字、例えば、ABCなどをそれぞれの図に順番につけることもできます。この機能を使わなくとも、ImageJのテキスト入力機能でも同じような操作が可能です。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-1w9zFv0vHcM/VmktvfIrJzI/AAAAAAAABVE/sSC6qge5-Lk/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B16.38.24.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://2.bp.blogspot.com/-1w9zFv0vHcM/VmktvfIrJzI/AAAAAAAABVE/sSC6qge5-Lk/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B16.38.24.png" width="181" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-koAtzIrlyOI/Vmktvi1kwrI/AAAAAAAABU4/AedawE23Xoc/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B16.38.41.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://1.bp.blogspot.com/-koAtzIrlyOI/Vmktvi1kwrI/AAAAAAAABU4/AedawE23Xoc/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B16.38.41.png" width="282" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-gvZkg_XARhc/Vmktv9nWNwI/AAAAAAAABVQ/M88gOfdYUnE/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B16.39.41.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://2.bp.blogspot.com/-gvZkg_XARhc/Vmktv9nWNwI/AAAAAAAABVQ/M88gOfdYUnE/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-10%2B16.39.41.png" width="310" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(順序を入力)</div>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">今回はImageJの操作に便利なマクロによるGUI作成方法および論文やレポートのための図のレイアウト作成について説明を行いました。次回も便利なツールの解説を行います。</span><br /><br />
<div style="background-color: white; color: #444444; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18.2px;">
<span class="s2" style="color: #444444;">参考記事:「</span><span style="font-size: small; line-height: 18.2px;">山本修司:</span><span style="line-height: 18.2px;">ImageJで学ぶ実践医用・バイオ画像処理.INNERVISION(25・9) 2010, p100-101」</span></div>
<div style="background-color: white; color: #444444; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2px;"><br /></div>VISブログ担当者http://www.blogger.com/profile/14228255165322496017noreply@blogger.com0tag:blogger.com,1999:blog-2981532364676062595.post-60219493530723664602015-12-09T13:44:00.005+09:002016-08-06T10:10:41.672+09:00第68回ImageJによる粒子画像流速測定法の利用で学ぶ!<span style="background-color: white; color: #444444; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; line-height: 18.2px;">この記事は参考記事を援用して、筆者の考えも交えつつ、記述しています。</span><br />
<br />
前回、OpenCVをImageJで利用する方法を紹介しましたが、今回はより実践的にOpenCVを応用した粒子画像流速測定法(Particle Image Velocimetry:PIV)をご紹介します。<br />
<br />
<h4>
粒子画像流速測定法(PIV)とは</h4>
<br />
粒子の流れを可視化する画像処理手法の一つに粒子画像流速測定法があります。追跡対象の粒子が何らかの媒体の中でどのように動くのか、その流れや挙動を可視化することによって流れの速度分布を定量計測することができます。1つの粒子を追跡することで、速度と方向が把握できます。<br />
コンピュータ内でなく、実際のウェットな実験では、拡散する粒子の追跡はレーザードプラ速度計測器や熱線流速計などが用いられます。<br />
<br />
流量の解析には、2つのレーザー光を照射し、高速フレームカメラで撮像して計測します。医用画像に応用する場合でも、スタックさえれた動画像の関心領域の動態挙動を可視化することは血流の解析や、そのほかの生理的な動きベクトルを観察するのにも応用可能です。<br />
<br />
<h4>
ImageJを用いたPIV</h4>
<br />
ImageJを用いたPIVの方法は、<br />
<h3 class="post-title entry-title" itemprop="name" style="background-color: white; color: #444444; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-stretch: normal; margin: 0px; position: relative;">
<a href="http://re-imagej.blogspot.jp/2015/09/27imagej.html" style="color: #3778cd; font-stretch: normal;"><span style="font-size: small;">第27回 連続画像処理 ImageJによる動画像の取り扱いについてで学ぶ!</span></a></h3>
をご参照ください!<br />
<br />
次回もImageJによる応用画像処理方法について述べます。<br />
<br />
<div class="p6" style="background-color: white; color: #444444; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18.2px;">
<span class="s2">参考記事:「</span><span style="line-height: 18.2px;">山本修司:</span><span style="line-height: 18.2px;">ImageJで学ぶ実践医用・バイオ画像処理.INNERVISION(26・9) 2011, p118-119」</span></div>
<div class="p6" style="background-color: white; color: #444444; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18.2px;">
<span class="s2"><br /></span></div>
<div class="p6" style="background-color: white; color: #444444; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18.2px;">
<span class="s2"><span style="font-family: inherit;"><span class="s2" style="line-height: 18.2px;"><span style="line-height: 15.9565px;"><a href="http://www.vis-ionary.com/" style="color: #4d469c; text-decoration: none;" target="_blank">Visionary Imaging Services, Inc.</a>は、イメージング技術サポートを通じて、創薬研究や医療機器開発など、臨床研究(臨床試験)サポートサービスを展開しております。</span></span><span class="s2" style="line-height: 18.2px;"><span style="line-height: 15.9565px;">OsiriXシリーズも販売中です!よろしくお願いします!</span></span></span></span></div>
<br />
<br />VISブログ担当者http://www.blogger.com/profile/14228255165322496017noreply@blogger.com0tag:blogger.com,1999:blog-2981532364676062595.post-49686848951425455022015-12-01T10:25:00.003+09:002021-02-19T14:54:29.941+09:00第59回 ImageJによるPET-CT Viewerの概要で学ぶ!<span face=""arial" , "tahoma" , "helvetica" , "freesans" , sans-serif" style="background-color: white; line-height: 18.2px;"><span style="color: #444444;"><br /></span></span><span style="color: #444444;">近年、日本でも普及してきたPET-CTおよびSPECT-CT用のフュージョンを含めた優秀な</span><span style="color: #444444;">ImageJ</span><span style="color: #444444;">プラグインがボストンにあるベスイスラエル病院で開発され、紹介されています。</span><br />
<span style="color: #444444;">DICOMビューワとしても完成度が高く、医師、技師にとって非常に使いやすいGUIになっています。研究や教育に大いに役立つツールなので、今回はPET-CT Viewerをご紹介します。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<h4>
<span style="color: #444444;">PET-CT Viewerプラグインの準備</span></h4>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">PET-CT Viewerはベスイスラエル病院の核医学のチーム<span style="font-family: inherit;">(<span style="background-color: white; line-height: 18px;"> </span><span style="background-color: white; line-height: 18px;">Nuclear Medicine at Beth Israel Deaconess Medical Center, Boston MA.</span>)</span></span><span style="color: #444444;">によって作成されたImageJのプラグインです。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-c2_oDUjGlZU/Vly6nW99ObI/AAAAAAAABQE/0NcjY7jjSsE/s1600/audrey1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="147" src="https://4.bp.blogspot.com/-c2_oDUjGlZU/Vly6nW99ObI/AAAAAAAABQE/0NcjY7jjSsE/s320/audrey1.png" width="320" /></a></div>
<br />
<span style="color: #444444;">その動作環境はFijiが推奨されているようです。</span><span style="color: #444444;">以降はFijiで動作を紹介します。</span><br />
<span style="color: #444444;">Fijiをインストールしていない方は<a href="http://re-imagej.blogspot.jp/2015/11/51imagejfiji.html" target="_blank">第51回</a>を参照して、インストールしてみてください。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">Fijiが用意できたら、PET-CT Viewerのソースコードリポジトリから、以下の各種ファイルをダウンロードします。まずは、ユーザーマニュアルをダウンロードしましょう。</span><br />
<span style="color: #444444;">(http://sourceforge.net/projects/bifijiplugins/files/)</span><br />
<span style="color: #444444;"><br /></span>
<br />
<ul style="background-color: white; color: #444444; font-family: Arial, sans-serif; margin: 0.3em 0px 0px 1.6em; padding: 0px;">
<li style="margin: 0px 0px 0.5em 2em; padding: 0px;"><a href="file:///Users/Tatsunidas/Downloads/BI%20quick%20user%20guide.pdf" target="_blank">Beth Israel PluginQuick User Guide</a></li>
<li style="margin: 0px 0px 0.5em 2em; padding: 0px;">Pet_Ct_Viewer.jar<br />メインのJarファイルです。<a class="external text" href="http://sourceforge.net/p/bifijiplugins/wiki/Pet-Ct%20Viewer/" rel="nofollow" style="background-attachment: scroll; background-color: transparent; background-image: url(http://fiji.sc/skins/vitilevu/external.png); background-position: 100% 50%; background-repeat: no-repeat; color: #0066aa; margin: 0px; padding: 0px 13px 0px 0px; text-decoration: none;">Help</a></li>
<li style="margin: 0px 0px 0.5em 2em; padding: 0px;">Read_CD.jar<div style="margin-bottom: 1em; padding: 0px;">
PET画像が含まれる外部メディア読み込み時に利用できるパッケージです。 <a class="external text" href="http://sourceforge.net/p/bifijiplugins/wiki/CD%20Dialog/" rel="nofollow" style="background-attachment: scroll; background-color: transparent; background-image: url(http://fiji.sc/skins/vitilevu/external.png); background-position: 100% 50%; background-repeat: no-repeat; color: #0066aa; margin: 0px; padding: 0px 13px 0px 0px; text-decoration: none;">Help</a></div>
</li>
<li style="margin: 0px 0px 0.5em 2em; padding: 0px;">Gastric_Emptying.jar<div style="margin-bottom: 1em; padding: 0px;">
計測や便利ツール群です。</div>
<ul style="margin: 0.3em 0px 0px 1.6em; padding: 0px;">
<li style="margin: 0px 0px 0.5em 2em; padding: 0px;">Gastric Emptying <a class="external text" href="http://sourceforge.net/p/bifijiplugins/wiki/Gastric%20Emptying/" rel="nofollow" style="background-attachment: scroll; background-color: transparent; background-image: url(http://fiji.sc/skins/vitilevu/external.png); background-position: 100% 50%; background-repeat: no-repeat; color: #0066aa; margin: 0px; padding: 0px 13px 0px 0px; text-decoration: none;">Help</a></li>
<li style="margin: 0px 0px 0.5em 2em; padding: 0px;">Renal Clearance <a class="external text" href="http://sourceforge.net/p/bifijiplugins/wiki/Renal%20Clearance/" rel="nofollow" style="background-attachment: scroll; background-color: transparent; background-image: url(http://fiji.sc/skins/vitilevu/external.png); background-position: 100% 50%; background-repeat: no-repeat; color: #0066aa; margin: 0px; padding: 0px 13px 0px 0px; text-decoration: none;">Help</a></li>
<li style="margin: 0px 0px 0.5em 2em; padding: 0px;">Save As Dicom <a class="external text" href="http://sourceforge.net/p/bifijiplugins/wiki/Save%20as%20myDicom/" rel="nofollow" style="background-attachment: scroll; background-color: transparent; background-image: url(http://fiji.sc/skins/vitilevu/external.png); background-position: 100% 50%; background-repeat: no-repeat; color: #0066aa; margin: 0px; padding: 0px 13px 0px 0px; text-decoration: none;">Help</a></li>
<li style="margin: 0px 0px 0.5em 2em; padding: 0px;">Postage Stamps <a class="external text" href="http://sourceforge.net/p/bifijiplugins/wiki/Postage%20stamps/" rel="nofollow" style="background-attachment: scroll; background-color: transparent; background-image: url(http://fiji.sc/skins/vitilevu/external.png); background-position: 100% 50%; background-repeat: no-repeat; color: #0066aa; margin: 0px; padding: 0px 13px 0px 0px; text-decoration: none;">Help</a></li>
<li style="margin: 0px 0px 0.5em 2em; padding: 0px;">Mask <a class="external text" href="http://sourceforge.net/p/bifijiplugins/wiki/Mask/" rel="nofollow" style="background-attachment: scroll; background-color: transparent; background-image: url(http://fiji.sc/skins/vitilevu/external.png); background-position: 100% 50%; background-repeat: no-repeat; color: #0066aa; margin: 0px; padding: 0px 13px 0px 0px; text-decoration: none;">Help</a></li>
</ul>
</li>
<li style="margin: 0px 0px 0.5em 2em; padding: 0px;">Read_BI_Studies.jar<div style="margin-bottom: 1em; padding: 0px;">
Beth Israel miniPacsの読み書き用パッケージです。 <a class="external text" href="http://sourceforge.net/p/bifijiplugins/wiki/Reading%20studies/" rel="nofollow" style="background-attachment: scroll; background-color: transparent; background-image: url(http://fiji.sc/skins/vitilevu/external.png); background-position: 100% 50%; background-repeat: no-repeat; color: #0066aa; margin: 0px; padding: 0px 13px 0px 0px; text-decoration: none;">Help</a> セットアップ用の<a class="external text" href="http://sourceforge.net/projects/bifijiplugins/files/" rel="nofollow" style="background-attachment: scroll; background-color: transparent; background-image: url(http://fiji.sc/skins/vitilevu/external.png); background-position: 100% 50%; background-repeat: no-repeat; color: #0066aa; margin: 0px; padding: 0px 13px 0px 0px; text-decoration: none;">createBIdatabase.jar</a> が別に必要です。これはデフォルトでは含まれていません。 <a class="external text" href="http://sourceforge.net/p/bifijiplugins/wiki/BI%20Database/" rel="nofollow" style="background-attachment: scroll; background-color: transparent; background-image: url(http://fiji.sc/skins/vitilevu/external.png); background-position: 100% 50%; background-repeat: no-repeat; color: #0066aa; margin: 0px; padding: 0px 13px 0px 0px; text-decoration: none;">Help</a></div>
</li>
<li style="margin: 0px 0px 0.5em 2em; padding: 0px;">Read_ClearCanvas_Studies.jar<div style="margin-bottom: 1em; padding: 0px;">
Clear Canvasのスタディデータを読み書きするためのパッケージです。 <a class="external text" href="http://sourceforge.net/p/bifijiplugins/wiki/Clear%20Canvas%20Dialog/" rel="nofollow" style="background-attachment: scroll; background-color: transparent; background-image: url(http://fiji.sc/skins/vitilevu/external.png); background-position: 100% 50%; background-repeat: no-repeat; color: #0066aa; margin: 0px; padding: 0px 13px 0px 0px; text-decoration: none;">Help</a></div>
</li>
<li style="margin: 0px 0px 0.5em 2em; padding: 0px;">StartupMacros.ijm<div style="margin-bottom: 1em; padding: 0px;">
Fijiがスタートすると同時にPET-CT Viewerが起動するマクロです。</div>
</li>
<li style="margin: 0px 0px 0.5em 2em; padding: 0px;"><div style="margin-bottom: 1em; padding: 0px;">
lib</div>
<div style="margin-bottom: 1em; padding: 0px;">
PET-CT Viewer起動に必要なdcm4cheなどのライブラリ群です。</div>
</li>
</ul>
<span style="color: #444444;">インストールの方法は2つあります。</span><br />
<span style="color: #444444;">一つは、ユーザーマニュアル通り、FijiのHelpからプラグインを含めてアップデートすることです。もう一つは、いつも通り、上記パッケージ群を1つのフォルダにまとめて、FijiのPluginsフォルダにコピーします(Macの場合は、Finderで</span><span style="color: #444444;">Fijiの実行ファイルのディレクトリを</span><span style="color: #444444;">開いて、Fijiの実行ファイルを右クリックして、パッケージの内容を表示)。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">早速、ImageJプラグイン同様に、PET-CT Viewerを起動してみます。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-SAPoDFWiw9k/VlzKW8r-XwI/AAAAAAAABQU/sNb2R_V603c/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B7.14.33.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="241" src="https://2.bp.blogspot.com/-SAPoDFWiw9k/VlzKW8r-XwI/AAAAAAAABQU/sNb2R_V603c/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B7.14.33.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(起動画面)</div>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">あらかじめ読み込んでおいたCTとPETの2つのスタック(複数シリーズでもOK)があれば、自動的にシリーズがPET-CTウィンドウ画面にリスティングされます。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<h4>
<span style="color: #444444;">PET-CT Viewerの機能について</span></h4>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">まず、サンプルデータを表示してみます。</span><br />
<span style="color: #444444;">先に、PET-CTのPET画像とCT画像をそれぞれスタック画像として表示しておき、PET-CT Viewerを起動し、リストの中のフュ</span><span style="color: #444444;">ージョンしたい2つのシリーズをチェックして、</span><span style="color: #444444;">OKします。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-cvG-ZGESx4c/Vlzk0cP5tLI/AAAAAAAABQg/X-iK05CKuR4/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B9.06.25.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="241" src="https://1.bp.blogspot.com/-cvG-ZGESx4c/Vlzk0cP5tLI/AAAAAAAABQg/X-iK05CKuR4/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B9.06.25.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(スタック画像のリスト)</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="color: #444444;">その後、ビューワが起動し、</span><span style="color: #444444;">PET画像のMIP画像が回転し始めます。</span></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-mfbT4ZKvc9I/VlzlPunNUII/AAAAAAAABQw/mKD8gj6rmlM/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B9.09.21.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="143" src="https://2.bp.blogspot.com/-mfbT4ZKvc9I/VlzlPunNUII/AAAAAAAABQw/mKD8gj6rmlM/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B9.09.21.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(表示)</div>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">このとき、すでに2つのシリーズはフュージョンされており、拡大、縮小、ウィンド二ング、ページングを同期して、簡単に観察することができます。動画表示を停止するときは、MIPボタンを押すと停止します。再度見るときは、もう一度MIPマークを押して、MIPマーク隣の>>マークでスタートストップを調整します。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">その他、FボタンとSボタンはそれぞれ正面と側面のリセット表示になっています。マウスカーソルを画像上に持っていけば、</span><span style="color: #444444;">SUVbw(Max)(以下、SUVと略す)とHU値が表示されます。もし、DICOMタグに綺麗に放射線医薬品情報シーケンスが付随していない場合は、MaxCountが表示されます。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-YSq6xwAN0j4/VlzpCKVMU5I/AAAAAAAABQ8/lRItcKCloR4/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B9.22.34.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="178" src="https://4.bp.blogspot.com/-YSq6xwAN0j4/VlzpCKVMU5I/AAAAAAAABQ8/lRItcKCloR4/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B9.22.34.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(PET画像上にSUVbwmaxが表示されている)</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-9pt5z-CntNw/VlzpER9NS-I/AAAAAAAABRE/UgNGLE8gCn8/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B9.22.28.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="178" src="https://3.bp.blogspot.com/-9pt5z-CntNw/VlzpER9NS-I/AAAAAAAABRE/UgNGLE8gCn8/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B9.22.28.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(SUVが計算されておらず、PET画像上にMaxCountのみ表示されている)</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
画像読み込み時に、SUVが正しく計算できないときは、体重、(身長)、投与開始時刻、投与量、半減期、撮像開始時刻(SUV算出に必要な変数)のポップアップウィンドウが出現します。このポップアップは、正しい値がない変数を示すためのものです。このウィンドウ上で編集しなおしても計算に反映はされません。読み込みDICOMデータのタグを編集する必要があります。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
身長も入力できるので、<span style="color: #444444;">Lean body mass </span><span style="color: #444444;">SUV(<a href="http://www.ncbi.nlm.nih.gov/pmc/articles/PMC4043039/" target="_blank">SUL</a>)も算出できるようです。Edit>Optionメニューから、Use SULをチェックして設定します。詳細はこちらを。(http://sourceforge.net/p/bifijiplugins/wiki/Options/)</span></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-pkrI33j-aYU/Vlzqa9rY-fI/AAAAAAAABRY/BNWLbniz__A/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B9.28.54.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="178" src="https://1.bp.blogspot.com/-pkrI33j-aYU/Vlzqa9rY-fI/AAAAAAAABRY/BNWLbniz__A/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B9.28.54.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<span style="color: #444444;">次に、こちらの図は、コロナルビューで同期しています。このように、アキシャル、コロナル、サジタルを自由に変更することができます。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-bMiqisr8cuo/VlzvhwN6N-I/AAAAAAAABRo/lXBsLt7Lofk/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B9.52.48.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="143" src="https://3.bp.blogspot.com/-bMiqisr8cuo/VlzvhwN6N-I/AAAAAAAABRo/lXBsLt7Lofk/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B9.52.48.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-7mwBMIQx3hI/Vlzvhx1khAI/AAAAAAAABRw/nrF63XHNwP0/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B9.52.58.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="157" src="https://3.bp.blogspot.com/-7mwBMIQx3hI/Vlzvhx1khAI/AAAAAAAABRw/nrF63XHNwP0/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B9.52.58.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-LdvTu_OpfxY/Vlzvh6CNRRI/AAAAAAAABRs/K7mpo_CwPec/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B9.53.02.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="157" src="https://2.bp.blogspot.com/-LdvTu_OpfxY/Vlzvh6CNRRI/AAAAAAAABRs/K7mpo_CwPec/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B9.53.02.png" width="320" /></a></div>
<br />
<span style="color: #444444;">また、次の図は、CTとPETそれぞれを自在なウィンドウとカラー(HotIronに変更)で3直行断面を同時表示している例です。</span><span style="color: #444444;">Editメニューのツールバーも機能が豊富です。次の図では、ツールバーを表示しています。計測を行った位置のブックマークやテキスト入力、アローの入力、長さの計測、SUV計測などの機能が揃っています。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-KTsksAm4la4/VlzyiAew49I/AAAAAAAABSM/rcsn7M5_SF4/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B10.02.36.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="166" src="https://4.bp.blogspot.com/-KTsksAm4la4/VlzyiAew49I/AAAAAAAABSM/rcsn7M5_SF4/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B10.02.36.png" width="320" /></a></div>
<br />
<span style="color: #444444;">CT表示では、Cross sectionの緑のラインが邪魔なときは、ラインの長さを調整できます。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-YcUB4YkJYQc/VlzyiDsKJOI/AAAAAAAABSc/V84TRpNBIHQ/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B10.05.31.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="290" src="https://1.bp.blogspot.com/-YcUB4YkJYQc/VlzyiDsKJOI/AAAAAAAABSc/V84TRpNBIHQ/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B10.05.31.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-UojNt7Ik-sw/VlzyiNMEVsI/AAAAAAAABSY/f1Y29jXRNOY/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B10.05.13.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="280" src="https://2.bp.blogspot.com/-UojNt7Ik-sw/VlzyiNMEVsI/AAAAAAAABSY/f1Y29jXRNOY/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B10.05.13.png" width="320" /></a></div>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">それぞれのモダリティ(PET,CT,MIP)での表示画面で、右クリックすると、ポップアップメニューが開きますが、内容はそれぞれ異なります。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;"><b>PET</b></span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">Auto level:SUV値が5に修正されるような条件に自動で濃淡レベルを調整</span><br />
<span style="color: #444444;">Brain:</span><span style="color: #444444;">SUV値が10に修正されるような条件に自動で濃淡レベルを調整</span><br />
<span style="color: #444444;">Fused:フュージョン画像を表示する。MIPがアクティブでないと使えない。</span><br />
<span style="color: #444444;">Corrected: 吸収補正画像を表示(デフォルト)</span><br />
<span style="color: #444444;">Uncorrected:吸収補正なしのPETデータを表示</span><br />
<span style="color: #444444;">3PET:新しいウィンドウで、3軸表示。</span><br />
<span style="color: #444444;">Inverse:反転</span><br />
<span style="color: #444444;">Gray scale:カラースケールをグレースケールで表示</span><br />
<span style="color: #444444;">Blues:ブルータイプカラースケール</span><br />
<span style="color: #444444;">Hot iron:イエローレッドカラースケール表示</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;"><b>CT/MRI</b></span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">Abdomen-Chest:HU値セット</span><br />
<span style="color: #444444;">3CT:3軸表示</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">(MRIの場合は、CTをMRIに置きかえる)</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;"><b>MIP</b></span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">PET gray scale:PETグレースケールを調整。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">この他、SUVを計測するための円形VOIのサイジングなども、オプション設定で可能になっています。</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-nCapHB1bwfU/Vlzyi8eHq5I/AAAAAAAABSk/_-4YkaCDhNk/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B9.59.22.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="232" src="https://2.bp.blogspot.com/-nCapHB1bwfU/Vlzyi8eHq5I/AAAAAAAABSk/_-4YkaCDhNk/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B9.59.22.png" width="400" /></a></div>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">また、今回はご紹介していませんが、MRIのデータも取得している場合は、Sync MRI data機能を使って、マニュアルでフュージョン位置合わせも可能です。</span><br />
<span style="color: #444444;">位置合わせはリジッドマッチングなども今後組み込まれるといいですね。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-m3NxXeMbjJ8/Vlz1oprCwOI/AAAAAAAABSw/3rx3e3es3k0/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B10.19.06.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="292" src="https://2.bp.blogspot.com/-m3NxXeMbjJ8/Vlz1oprCwOI/AAAAAAAABSw/3rx3e3es3k0/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B10.19.06.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(<a href="http://sourceforge.net/p/bifijiplugins/wiki/Sync%20MRI%20data/">http://sourceforge.net/p/bifijiplugins/wiki/Sync%20MRI%20data/</a>より引用)</div>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">また、Brown Adipose Tissueの測定のためのツールなど、ホットトピックなテーマのツールのインターフェースも組み込まれています。※詳細な使い方を検証していますので、また更新します。</span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-yXhZ3DXfSD4/Vlz2bQ3LVKI/AAAAAAAABS4/hb8T4UKfJYw/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B10.22.36.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="100" src="https://1.bp.blogspot.com/-yXhZ3DXfSD4/Vlz2bQ3LVKI/AAAAAAAABS4/hb8T4UKfJYw/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B10.22.36.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(ユーザーガイドより引用)</div>
<br />
<div class="page" title="Page 6">
</div>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">今回は、Fijiを用いたPET/CTフュージョンビューワの説明を行いました。</span><br />
<span style="color: #444444;">フュージョンまでできる市販のDICOMビューワは増えていますが、フリーでは数少ないので、このツールは研究や教育に十分利用できると考えられます。</span><br />
<span style="color: #444444;">このツールがより進化して、位置合わせの方法や種々のSUV算出や調整も可能になるといいですね。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">次回も、ImageJの最新の話題と実践的な使い方について説明します。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">参考文献</span><br />
<br />
<ol>
<li>Paul E. Kinahan, PhD et al:PET/CT Standardized Uptake Values (SUVs) in Clinical Practice
and Assessing Response to Therapy.Semin Ultrasound CT MR. 2010 December ; 31(6): 496–505.</li>
<li>http://www.med.harvard.edu/JPNM/ij/plugins/TPcollection.html</li>
</ol>
<br />
<br />
<div style="background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18.2px;">
<span class="s2"><span style="color: #444444;">参考記事:「</span></span><span style="color: #444444; line-height: 18.2px;">山本修司:</span><span style="color: #444444; line-height: 18.2px;">ImageJで学ぶ実践医用・バイオ画像処理.INNERVISION(25・8) 2010, p108-110」</span></div>
<div style="background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18.2px;"><br /></div>VISブログ担当者http://www.blogger.com/profile/14228255165322496017noreply@blogger.com0tag:blogger.com,1999:blog-2981532364676062595.post-5890076081976870162015-12-01T06:01:00.003+09:002021-02-19T14:54:10.098+09:00第58回 ImageJの便利な機能と操作テクニックで学ぶ!<span style="color: #444444;">ImageJにはショートカットキーの登録やコマンドファインダなどの便利な機能があります。</span><br />
<span style="color: #444444;">今回はこのような普段あまり気にすることがなかったようなImageJの機能や操作テクニックについて説明を行います。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<h4>
<span style="color: #444444;">ユーティリティ</span></h4>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">ImageJのPluginsメニューのサブメニュー<Utilities>から”Find Commands”を選択すると、図のような、コマンドファインダーというウィンドウが現れます。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-s0AMH4lC9yY/VlywH1lvC5I/AAAAAAAABPU/QdR2GLKIXTU/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B5.22.29.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="229" src="https://4.bp.blogspot.com/-s0AMH4lC9yY/VlywH1lvC5I/AAAAAAAABPU/QdR2GLKIXTU/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B5.22.29.png" width="320" /></a></div>
<br />
<span style="color: #444444;">例えば、この画像上の”Search”ボックス内にFF・・・と入力すると、部分一致検索でFFT(高速フーリエ変換)などのコマンドが検索結果で取得でき、このウィンドウの下部にある<Run>ボタンを押すと、画像のFFTが実行されます。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-FaF6s0YVVuQ/Vlyw0OWykZI/AAAAAAAABPc/ATzAb3Ey6Rg/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B5.25.34.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://3.bp.blogspot.com/-FaF6s0YVVuQ/Vlyw0OWykZI/AAAAAAAABPc/ATzAb3Ey6Rg/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B5.25.34.png" width="284" /></a></div>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">このコマンドファインダは、CommandキーとLキーでショートカットになっており、これを押して</span><span style="color: #444444;">表示させることもできます。コマンドリストからFFTを選択して、ダブルクリックしても同様の処理ができます。</span><br />
<span style="color: #444444;">Command Finderを閉じる場合は、ウィンドウクローズボタンでもいいのですが、ESCキーで閉じることもできます。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">このようにショートカットとコマンド検索をうまく使えば、時間を節約して簡単に画像処理ができます。</span><br />
<span style="color: #444444;">また、同じUtilitiesサブメニューにあるSearch機能は次の図のように、マクロやスクリプト、またフォルダを指定して画像ファイルなどを検索すると、Log画面に結果を表示します。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-Hwq0JsIJwBI/VlyzYJ1zPPI/AAAAAAAABPo/RFLHzyvgmqg/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B5.32.59.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="276" src="https://3.bp.blogspot.com/-Hwq0JsIJwBI/VlyzYJ1zPPI/AAAAAAAABPo/RFLHzyvgmqg/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B5.32.59.png" width="320" /></a></div>
<br />
<span style="color: #444444;">該当するファイルをLogウィンドウからダブルクリックするだけで、画像が表示されます。</span><br />
<span style="color: #444444;">プラグインやマクロをサーチすると、ソースコードが表示されます。</span><br />
<span style="color: #444444;">処理のUndoはZキーで、RedoはRキーで実行できます。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<h4>
<span style="color: #444444;">バーチャルスタックとハイパースタック</span></h4>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">バーチャルスタックは画像群(スタック)をRAMの小さなコンピュータ上で使用するのに役立ちます。バーチャルスタックは、スタック画像をあらかじめ開いておき、Image>Hyperstacksから変換をします。</span><br />
<span style="color: #444444;">これは表示されたスタックの中の特定の画像のみに対して画像処理することから、スタックの画像を別の画像に変えると、バーチャルスタック画像およびバーチャルスタックに施した処理は保持されないため、気をつける必要があります。</span><br />
<span style="color: #444444;">ただし、ImageJメニューの<Process/Batch/Virtual Stack>を選択すれば、バーチャルスタックをバッチ処理化して保存する(操作手順を記録しておき、後から再現する)ことができます。手順は以下のとおりです。</span><br />
<br />
1. Open a virtual stack<br />
2. Run Process>Batch>Virtual Stack. . .<br />
3. Select an Output folder and Output format<br />
4. Select ‘Crop’ from the Add Macro Code drop-down menu<br />
5. Edit the macro code as needed and press the Test button to verify the macro
6. Click Process to create the cropped virtual stack<br />
<br />
<span style="color: #444444;">ImageJのハイパースタック機能は、4次元、5次元画像の閲覧に適しています。3次元幾何学空間と、カラーやウェイブチャネルおよび時間を加えた五次元を表示できます。サンプルファイルとして、ImageJではMitosis(有糸分裂)という5Dスタックの画像があるので、これで試すことができます。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dx2pFBCPCECky3h6VXu922c-nl2aBlNERxPVItiwE1MOjcCScKZ0c0hZv_lFGVUrsnTLyVMNEni04kyplJW1A' class='b-hbp-video b-uploaded' frameborder='0'></iframe></div>
<br />
<h4>
<span style="color: #444444;">ImageJのテキストエディタ</span></h4>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">ImageJでは、マクロ、プラグインやスクリプトなどを使って、ユーザ独自で拡張できますが、その場合のほとんどが、ImageJ付属のテキストエディタを使うことになります。ImageJのテキストエディタは”指定行番号へジャンプ”や”画像情報へコピー”など、さまざまな機能が搭載されています。図に、エディタの便利な機能を示します。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-OORpDrKEeCI/Vly44nGyn6I/AAAAAAAABP4/rqyalsFQTUU/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B5.59.48.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="145" src="https://2.bp.blogspot.com/-OORpDrKEeCI/Vly44nGyn6I/AAAAAAAABP4/rqyalsFQTUU/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B5.59.48.png" width="320" /></a></div>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">もちろん、Microsoft Wordのようにショートカットキーが使用できるため、編集作業も効率的に行うことができます。</span><br />
<span style="color: #444444;">マクロを実行する場合は、Ctrl+Rキー、コードのラインを実行する場合は、Ctrl+Yキー、編集したマクロをプラグインに実装する場合はCtrl+Iキー、マクロ機能のサーチ機能で特定のマクロを探す場合はCtrl+Shift+Fキーなど、さまざまです。</span><br />
<span style="color: #444444;">マクロ機能は日々増え続けており、現在では300種類を超えるマクロが公開されています。</span><br />
<span style="color: #444444;">また、マクロと比べて高度ではありますが、スクリプトも使用できます。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">今回は、最近のImageJの便利な機能を利用して画像処理効率を上げる方法を紹介しました。</span><span style="color: #444444;">ImageJの豊富な機能を組み合わせると、市販のDICOMビューワよりもはるかに高度な画像解析ができることを実感できます。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">次回も続けてImageJに最近加えられた便利な機能を紹介します。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div style="background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18.2px;">
<span class="s2"><span style="color: #444444;">参考記事:「</span></span><span style="color: #444444; line-height: 18.2px;">山本修司:</span><span style="color: #444444; line-height: 18.2px;">ImageJで学ぶ実践医用・バイオ画像処理.INNERVISION(25・7) 2010, p76-77」</span></div>
<div style="background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18.2px;"><br /></div>
VISブログ担当者http://www.blogger.com/profile/14228255165322496017noreply@blogger.com0tag:blogger.com,1999:blog-2981532364676062595.post-63997193240007565782015-12-01T05:19:00.004+09:002021-02-19T14:53:53.636+09:00第57回 ImageJによる特徴点抽出画像処理(2)で学ぶ!<span style="color: #444444;">前回、SIFT(Scale Invariant Feature Transform)による画像の特徴点抽出法について説明を行いました。ImageJにおいてもプラグインとしてSIFTが紹介されており、さらに、高速バージョンのSIFTとして、SURF(Speed Up Robust Features)なども利用することができます。医用への応用としては適用範囲は広く、放射線治療による位置あわせの確認や、<a href="http://ieeexplore.ieee.org/xpl/articleDetails.jsp?reload=true&arnumber=7006030" target="_blank">MRIを用いた3D-SIFTによるアルツハイマーの定量診断</a>などにも利用できます。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">今回は、前回の続きとして、抽出したキーポイントの絞り込みから、方向の抽出に至るまでの計算方法の説明を行います。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<h4>
<span style="color: #444444;">キーポイントの絞り込み方法</span></h4>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">前回説明した26近傍からのキーポイントの候補点を抽出した後、さらに候補点には、DoGの結果画像D(u,v,σ)の出力値が低い(Low contrast)点やエッジ上の点が含まれているため、これらの点を除外する必要があります。画像ノイズが増えると、キーポイントしては不要な点も増えるため、ヘッセ行列から主曲率を求めて(参考文献2)、キーポイントを絞り込みます。上記の26近傍から計算されたキーポイント主曲点をD(x,y,σ)として、前回の式を繰り返し使用すると、入力画像はI(x,y)、ガウス関数はG(x,y,σ)、平滑化画像はL(x,y,σ)、平滑画像の差分(DoG画像)となり、Dogの結果画像D(x,y,σ)は、下記の式で表されます。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div style="text-align: center;">
<span style="color: #444444;">L(x,y,σ)=</span><span style="color: #444444;">G(x,y,σ)×</span><span style="color: #444444;">I(x,y)</span></div>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">ここで、</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-ZPxmluOQ7oc/VlykX1rIXNI/AAAAAAAABNk/zr-ZlZeHpAo/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B4.32.26.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://1.bp.blogspot.com/-ZPxmluOQ7oc/VlykX1rIXNI/AAAAAAAABNk/zr-ZlZeHpAo/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B4.32.26.png" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="color: #444444; text-align: start;">D(x,y,σ)</span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="color: #444444; text-align: start;">=(</span><span style="color: #444444;">G(x,y,kσ)-</span><span style="color: #444444;">G(x,y,σ))</span><span style="color: #444444;">×</span><span style="color: #444444;">I(x,y)</span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="color: #444444;">=L</span><span style="color: #444444;">(x,y,kσ)-L</span><span style="color: #444444;">(x,y,σ) </span><span style="color: #444444;"> </span></div>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">上記の式でキーポイント候補になった点の二次元ヘッセ行列より主曲率を求めてキーポイントを絞り込むのが、特徴抽出の常套手段です。ここで、D(x,y,σ)のヘッセ行列を下記の式で表します。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-PrvTdecvhd0/Vlymu9af-rI/AAAAAAAABNw/RP7tVBoYu-4/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B4.42.26.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://2.bp.blogspot.com/-PrvTdecvhd0/Vlymu9af-rI/AAAAAAAABNw/RP7tVBoYu-4/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B4.42.26.png" /></a></div>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">この行列内の要素は、DoG出力画像のキーポイント候補点の濃淡値の二次動関数です。</span><br />
<span style="color: #444444;">この行列から求められる第1固有値をα、第2固有値をβとし、行列の対角成分の和をTr(H)、行列式をDet(H)とすると、それらの関係式は、次のように表すことができます。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div style="text-align: center;">
<span style="color: #444444;">Tr(H)=Dxx+Dyy=α+β</span></div>
<div style="text-align: center;">
<span style="color: #444444;"><br /></span></div>
<div style="text-align: center;">
<span style="color: #444444;">Det(H)=DxxDyy-Dxy^2</span></div>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">また、ここで、γ-α/β(α>β)として、γを第1固有値と第2固有値の比率で表現すると、式のようになります。</span><br />
<br />
<div style="text-align: center;">
<span style="color: #444444;">Tr(H)^2/Det(H)=(</span><span style="color: #444444;">α+β</span><span style="color: #444444;">)^2/</span><span style="color: #444444;">αβ</span></div>
<div style="text-align: center;">
<span style="color: #444444;">=(γβ</span><span style="color: #444444;">+β)^2/γβ^2</span></div>
<div style="text-align: center;">
<span style="color: #444444;">=(γ+1)^2/γ</span></div>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">このγ値で閾値をコントロールすることによって、エッジに存在する候補点などが削除できます。</span><span style="color: #444444;">参考文献1によれば、γ値は10が良いと報告されています。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<h4>
<span style="color: #444444;">キーポイントのサブピクセル位置推定</span></h4>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">キーポイントの候補点であるDoG画像D(x,y,σ)の二次元関数について、より精度の高いサブピクセル位置を決定する方法を説明します。</span><br />
<span style="color: #444444;">座標点(x,y,z)をある点(オフセット)のベクトルX=(x,y,z)^2とすると、関数D(X)は、Xを中心として、<a href="http://www.ice.tohtech.ac.jp/~nakagawa/taylorexp/taylor1.htm" target="_blank">テイラー展開</a>して、下記の式で表されます。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-BQG2t1GRAB8/VlyrzJmDzaI/AAAAAAAABOA/oyCOLhwDSyw/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B5.03.26.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://2.bp.blogspot.com/-BQG2t1GRAB8/VlyrzJmDzaI/AAAAAAAABOA/oyCOLhwDSyw/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B5.03.26.png" /></a></div>
<br />
<br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">ここで、極値の位置Xは、Xに関するこの関数とそれをゼロに設定した場合、</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-3tJFywpPrfk/VlyrzGcaM9I/AAAAAAAABOE/cH0ZSZe9Vw8/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B5.03.33.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://1.bp.blogspot.com/-3tJFywpPrfk/VlyrzGcaM9I/AAAAAAAABOE/cH0ZSZe9Vw8/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B5.03.33.png" /></a></div>
<br />
<span style="color: #444444;">となり、このX^を求めることによって、キーポイントの候補点のサブピクセル位置が決定します。</span><br />
<span style="color: #444444;">また、候補点の除外対象となる低いコントラスト点を除外するには、このサブピクセル位置の点をテイラー展開した式に代入して、次のようにD(X^)を求めます。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-QbsLjjWSeEQ/VlyrzIUmUKI/AAAAAAAABOI/P3fyQmOLezM/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B5.03.54.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://3.bp.blogspot.com/-QbsLjjWSeEQ/VlyrzIUmUKI/AAAAAAAABOI/P3fyQmOLezM/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B5.03.54.png" /></a></div>
<br />
<span style="color: #444444;">このD(X’)は、参考文献1による閾値として0.03以下を削除対象としています。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<h4>
<span style="color: #444444;">オリエンテーションの算出</span></h4>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">キーポイント候補からキーポイントの位置とノイズを除去した後、次のステップとして回転に不変なオリエンテーションを算出します。</span><br />
<span style="color: #444444;">まず、キーポイント検出された座標上で平滑化された画像L(x,y)の勾配強度m(x,y)と勾配方向θを次式によって算出します。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-3Njka0qsaBI/VlysWt8AEEI/AAAAAAAABOY/8Ggmzf1Uu8A/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B5.06.23.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="57" src="https://4.bp.blogspot.com/-3Njka0qsaBI/VlysWt8AEEI/AAAAAAAABOY/8Ggmzf1Uu8A/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-12-01%2B5.06.23.png" width="400" /></a></div>
<br />
<span style="color: #444444;">この平滑化された画像の勾配強度m(x,y)と、ガウス関数G(x,y,σ)を乗じた局所の重み画像をW(x,y)として、オリエンテーションヒストグラムを作成します。ヒストグラムの横軸は360°をカバーするために、ヒストグラム・ビン数を36(横軸は0〜35の方向数になる)に設定します。最終的に、この局所領域の代表値となるオリエンテーションは、ヒストグラムの最大強度の80%以上の値を選択します。もちろん、この値を持つオリエンテーションは1つとは限りません。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<h4>
<span style="color: #444444;">ImageJによるSIFTの計算</span></h4>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">ImageJ(Fiji)ではSIFTによる特徴抽出プラグインを備えています。ImageJの生命科学用の専用ツールである”Fiji”をダウンロードして、</span><span face=""arial" , "tahoma" , "helvetica" , "freesans" , sans-serif" style="background-color: white; line-height: 18.2px;"><span style="color: #444444;">Plugins>Feature Extraction>Extract SIFT correspondences</span></span><span style="color: #444444;">を選択します。すると、図のように前述したパラメータを入力するダイアログが現れます。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-HI3ZVsWWPq0/VlytlFzqmcI/AAAAAAAABOk/TKzw2YlI22M/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-30%2B12.08.45.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="304" src="https://4.bp.blogspot.com/-HI3ZVsWWPq0/VlytlFzqmcI/AAAAAAAABOk/TKzw2YlI22M/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-30%2B12.08.45.png" width="320" /></a></div>
<br />
<span style="color: #444444;">この時の設定値は、前述した最適とされている経験値があらかじめ設定されていますので、なにも変更しなくても、良好な特徴抽出結果が得られます。</span><br />
<span style="color: #444444;">ここでようやく、第56回で紹介したSIFTの実行結果が何を意味しているのかがわかります。</span><br />
<span style="color: #444444;">次の図は、2枚の頭部MRIのT1W画像(ベースラインとフォローアップ(3年後))を用いたSIFTの実行例です。ベースラインの画像とフォローアップの画像で示されているポイントがよく一致していることがわかります。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-FD47lRS-kDs/VlyuoYa_wkI/AAAAAAAABPA/uzyATaL6M88/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-30%2B12.10.13.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://4.bp.blogspot.com/-FD47lRS-kDs/VlyuoYa_wkI/AAAAAAAABPA/uzyATaL6M88/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-30%2B12.10.13.png" width="243" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(ベースライン)</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-o9wN6RKoyp4/Vlyuocj9J-I/AAAAAAAABPE/VWMsaBHyxuo/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-30%2B12.10.16.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://4.bp.blogspot.com/-o9wN6RKoyp4/Vlyuocj9J-I/AAAAAAAABPE/VWMsaBHyxuo/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-30%2B12.10.16.png" width="236" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(フォローアップ(3年))</div>
<br />
<span style="color: #444444;">SIFTはあくまで画像の特徴抽出方法の1つであり、他に高速計算法(SURFなど)もあります。検出したオリエンテーションを特徴量としたり、対応点での画像マッチングなど、医用画像の評価方法として様々な解析に応用可能です。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">次回もImageJによる医用画像を対象とした有効なプラグインのアルゴリズムとその処理方法を解説します。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">参考文献</span><br />
<br />
<ol>
<li><span style="color: #444444;">David G. Lowe:Distinctive Image Features from Scale-Invariant Keypoints</span></li>
<li><span style="color: #444444;"><a href="http://www.isl.titech.ac.jp/~nagahashilab/member/longb/imageanalysis/LectureNotes/ImageAnalysis04.pdf" target="_blank">東京工業大学 長橋 宏:画像解析論(4)スライド</a></span></li>
</ol>
<br />
<div style="background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18.2px;">
<span class="s2"><span style="color: #444444;">参考記事:「</span></span><span style="color: #444444; line-height: 18.2px;">山本修司:</span><span style="color: #444444; line-height: 18.2px;">ImageJで学ぶ実践医用・バイオ画像処理.INNERVISION(25・6) 2010, p104-105」</span></div>
VISブログ担当者http://www.blogger.com/profile/14228255165322496017noreply@blogger.com1tag:blogger.com,1999:blog-2981532364676062595.post-18461170287359659732015-11-30T13:16:00.003+09:002021-02-19T14:53:36.543+09:00第56回 ImageJによる特徴点抽出画像処理で学ぶ!<span style="color: #444444;">医用画像処理でよく話題にあがるアルゴリズムの1つに、画像間の位置合わせ処理があります。位置あわせの精度を画像解析によって定量化する類似アルゴリズムとして、連続画像の特徴点の移動量を表示、計算する画像処理(特徴点追跡アルゴリズム)があり、特に防犯カメラの人の動きの解析や交通システムなどに使用されています。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">今回は、ImageJのプラグインでも紹介されている特徴点追跡アルゴリズムについて説明します。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<h4>
<span style="color: #444444;">特徴点抽出の概要</span></h4>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">複数の画像間の対応点を抽出するために局所特徴量を計算する方法には幾つかの手法があり、改良版や高速計算のアルゴリズムなどがいくつかの論文で説明されています。</span><br />
<span style="color: #444444;">まず最初に、Fijiによる2値画像間に対応する特徴点の自動抽出結果を示します。</span><br />
<span style="color: #444444;">(Plugins>Feature Extraction>Extract SIFT correspondences)</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">テスト画像(</span>multiple sclerosis<span style="color: #444444;">):</span><a href="http://www.nature.com/nrneurol/journal/v11/n10/pdf/nrneurol.2015.157.pdf" target="_blank">MAGNIMS</a> consensus guidelines on the use
of MRI in multiple sclerosis—establishing
disease prognosis and monitoring patients, Fig.1(a〜d)<br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-9GyYlovPfg0/Vlu-VXDJ5GI/AAAAAAAABLk/GAOG8nIpiRQ/s1600/BS.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://1.bp.blogspot.com/-9GyYlovPfg0/Vlu-VXDJ5GI/AAAAAAAABLk/GAOG8nIpiRQ/s320/BS.png" width="239" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
Baseline</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-6a36JgkkMCM/Vlu-VzptsDI/AAAAAAAABLo/kAndSgPaTDc/s1600/FU3.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://2.bp.blogspot.com/-6a36JgkkMCM/Vlu-VzptsDI/AAAAAAAABLo/kAndSgPaTDc/s320/FU3.png" width="229" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
Follow up (3 years later)</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-QgpzQzcHIT0/Vlu-WEl-qQI/AAAAAAAABLw/li6WgDIj9pc/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-30%2B12.08.45.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="304" src="https://2.bp.blogspot.com/-QgpzQzcHIT0/Vlu-WEl-qQI/AAAAAAAABLw/li6WgDIj9pc/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-30%2B12.08.45.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(計算設定)</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-dwrR76Ldrbo/Vlu-WZZn6DI/AAAAAAAABME/rhcub6_G8zg/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-30%2B12.10.13.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://2.bp.blogspot.com/-dwrR76Ldrbo/Vlu-WZZn6DI/AAAAAAAABME/rhcub6_G8zg/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-30%2B12.10.13.png" width="243" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
特徴点抽出結果(Baseline)</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-2zSmWuvWiYc/Vlu-WV4ChGI/AAAAAAAABL8/wKCk-6uwARk/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-30%2B12.10.16.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://4.bp.blogspot.com/-2zSmWuvWiYc/Vlu-WV4ChGI/AAAAAAAABL8/wKCk-6uwARk/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-30%2B12.10.16.png" width="236" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
特徴点抽出結果(Follow up (3year))</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">ここから、この結果がどのように計算されたかを解説していきます。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">画像間の相互の特徴点を抽出し、それぞれの点の追跡を行う際のもっとも単純なケースは、対象となる画像同士について、画像サイズが同じで、平行なズレの場合です。その場合は、差分をとってその勾配の方向に移動すればいいということになりますが、画像間で画像サイズが異なる場合や、回転やピクセル値が複雑に変化する場合には、特別なアルゴリズムを適用しなければうまく特徴点を追跡できません。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">D.Loweらは、下記に示す、画像特徴量セットを計算するためのステップを説明しています。(ところどころ、オーバーオール?スケール?モデル?という疑問はあると思いますが、詳しくは、参考文献1をご参照ください。)</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">1.スケールスペース極地検出</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">これは、オーバーオールのスケールと画像の位置を探索計算するための第一段階です。</span><br />
<span style="color: #444444;">スケールや方向に対して不変の関心位置を同定するために、ガウシアン関数の変化を利用して実装しています。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">2.キーポイントの位置決め</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">それぞれの候補点において、モデルが位置とスケールを決定するためにフィッティングされます。キーポイントはそれらの安定性の計測をもとに選択されます。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">3.方向の割り当て</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">1つもしくはそれ以上の方向は、局所画像のグラディエントをベースにそれぞれのキーポイント位置に割り当てられます。すべての先行演算はそれぞれの特徴点ごとに割り当てられた方向、スケール、位置に関連して変換され、画像上で計算されます。</span><br />
<span style="color: #444444;">その結果、これらの変換に対して不変性が与えられます。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">4.キーポイント記述子</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">局所画像のグラディエントは、それぞれのキーポイント周辺の領域に選択されたスケールで計測され、局所の形状の歪みや、輝度の変化の有意レベルを許容する代表値に変換されます。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">D.Loweらは、局所特徴量に関連したスケール不変軸の中へ画像データを変換するこのアプローチを、”Scale Invarian Feature Transform(SIFT)”と名付けています。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<h4>
<span style="color: #444444;">SIFTアルゴリズム</span></h4>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">SIFTアルゴリズムについては、藤吉らの研究報告によって日本語で詳細に紹介されています。本稿では、スケールに不変な画像処理を行い、その画像上から特徴点の位置推定、方向および強度を求める計算のロジックを解説します。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">まずはじめに、対象画像(群)に対して、Difference of Gaussian処理を行います。これは、単に、σ値を変換して、ガウシアンフィルタを掛けた画像同士を順次サブトラクションしていく処理です。ガウシアンフィルタのσ(標準偏差)が大きくなると、計算量の負担が大きくなるため、σが大きくなるに従って、画像サイズを小さくしていく方法がD.Loweらの高速計算のためのロジックです。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">入力画像をI(u,v)、ガウシアン関数をG(x,y,σ)、平滑化画像L(u,v,σ)、平滑画像間の差分(DoG画像)とすると、DoGの結果画像D(u,v,σ)は、下記の式で表されます。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div style="text-align: center;">
<span style="color: #444444;">L(u,v,σ)=</span><span style="color: #444444;">G(x,y,σ)×</span><span style="color: #444444;">I(u,v)</span></div>
<div style="text-align: center;">
<span style="color: #444444;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-1kgn2JWCXq0/VlvC4vuiiiI/AAAAAAAABMg/DgVQLmBOig8/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-30%2B12.30.17.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://2.bp.blogspot.com/-1kgn2JWCXq0/VlvC4vuiiiI/AAAAAAAABMg/DgVQLmBOig8/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-30%2B12.30.17.png" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
D(x,y,σ)={ G(x,y,kσ)-G(x,y,σ) }×I(u,v)</div>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">ここで、σが大きくなると、ガウシアンフィルタのウィンドウサイズが大きくなり、これに伴い、処理ができない端の領域の拡大と計算コストが増加するという問題を解消するために、画像をダウンサイズしてσを落としていく計算を繰り返します。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">σ(初期値)を増加させながら、複数の平滑化画像を作成し、例えば、2σ、すなわち、[L1(2σ)]になったら、画像サイズを1/2にダウンサンプリングします。この画像を改めて[L2(σ)]として、オリジナルの画像の時と同様に2σまで計算を繰り返します。</span><br />
<span style="color: #444444;">このとき、この計算を適用できるのは、下記の式が成り立つためです。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div style="text-align: center;">
<span style="color: #444444;">L1(2σ) ≒</span><span style="color: #444444;">L2(σ)</span></div>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">次の図に平滑化処理の例を示します。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-mvDWirOWOgQ/VlvKNLv_qeI/AAAAAAAABM4/eQNrBMTfWdg/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-30%2B13.01.33.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="309" src="https://2.bp.blogspot.com/-mvDWirOWOgQ/VlvKNLv_qeI/AAAAAAAABM4/eQNrBMTfWdg/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-30%2B13.01.33.png" width="320" /></a></div>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">最適な平滑化の処理の回数やσの値についても実験から算出されています。</span><br />
<span style="color: #444444;">まず、オリジナルサイズの画像の平滑化(オリジナルサイズなので1オクターブと称し、ダウンサイズするたびに2オクターブ、3オクターブとつけていく)の回数を分割数s、σの増加率をkとした場合、kは分割数乗法逆元で増加します。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-rrUntGbS6qQ/VlvLcnyWpTI/AAAAAAAABNE/qD-OU87nfGA/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-30%2B13.06.57.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://1.bp.blogspot.com/-rrUntGbS6qQ/VlvLcnyWpTI/AAAAAAAABNE/qD-OU87nfGA/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-30%2B13.06.57.png" /></a></div>
<br />
<span style="color: #444444;">後述する通り、特徴点となる画像の極致探索には3画像を1セットで処理(26近傍の極致探索を行う)するため、s枚の極致検出の対象となる画像を得るには、s+2枚のDoG画像、必然的にs+3枚の平滑化画像が必要になります。次の図に、藤吉らが提示した説明図を引用します。</span><br />
<span style="color: #444444;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-I2V2giMU1DE/VlvMMQA2-tI/AAAAAAAABNI/z-ysrvr_XpQ/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-30%2B13.09.42.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="292" src="https://2.bp.blogspot.com/-I2V2giMU1DE/VlvMMQA2-tI/AAAAAAAABNI/z-ysrvr_XpQ/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-30%2B13.09.42.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(参考文献3より引用)</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-REN3GwH8Lmw/VlvMMbGXaGI/AAAAAAAABNM/DYJgDFJH2Bg/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-30%2B13.09.58.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="254" src="https://4.bp.blogspot.com/-REN3GwH8Lmw/VlvMMbGXaGI/AAAAAAAABNM/DYJgDFJH2Bg/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-30%2B13.09.58.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(参考文献3より引用)</div>
<br />
<span style="color: #444444;">参考文献1によれば、分割数r=3、初期値σ=1.6のときに最適なキーポイントを得ることができるとされています。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">参考文献3の図5より、極値には注目点(黒色のピクセル)とその26近傍(灰色)を比較して注目点が極値だった場合は、キーポイントの候補点となります。このとき、極致はσの小さい画像から順番に計算していきます。キーポイント候補点をより厳密に絞り込む方法として、<a href="https://ja.wikipedia.org/wiki/%E3%83%98%E3%83%83%E3%82%BB%E8%A1%8C%E5%88%97" target="_blank">ヘッセ行列</a>を用いた絞り込みが用いられているようです。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">次回は続けて、特徴点計算の際のキーポイントの絞り込みアルゴリズムや方向の算出方法を続けて解説します!</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">参考文献</span><br />
<br />
<ol>
<li><span style="color: #444444;">David G. Lowe:Distinctive Image Features from Scale-Invariant Keypoints.</span></li>
<li><span style="color: #444444;">藤吉研究室中部大学工学部情報工学科.画像局所特徴量と特定物体認識- SIFTと最近のアプローチ -</span><span style="color: #444444;">(http://www.vision.cs.chubu.ac.jp/cvtutorial/PDF/02SIFTandMore.pdf)</span></li>
<li><span style="color: #444444;">藤吉 弘亘.中部大学工学部情報工学科:Gradient ベースの特徴抽出-SIFT と HOG-</span><span style="color: #444444;">(http://www.vision.cs.chubu.ac.jp/SIFT/PDF/sift_tutorial.pdf)</span></li>
</ol>
<br />
<div style="background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18.2px;">
<span style="color: #444444;"><span class="s2">参考記事:「</span></span><span style="color: #444444; line-height: 18.2px;">山本修司:</span><span style="color: #444444; line-height: 18.2px;">ImageJで学ぶ実践医用・バイオ画像処理.INNERVISION(25・4) 2010, p80-81」</span></div>
<div style="background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18.2px;"><br /></div>VISブログ担当者http://www.blogger.com/profile/14228255165322496017noreply@blogger.com0tag:blogger.com,1999:blog-2981532364676062595.post-64626036402495447672015-11-30T11:50:00.005+09:002021-02-19T14:53:17.872+09:00第55回 ImageJによる顕微鏡画像処理-マイクロマネージャーにおけるオートフォーカス調整とポジショニング制御-で学ぶ!<span style="color: #444444; font-family: inherit;">前回に引き続き「マイクロマネージャー(μManager)」の使用方法について説明をしていきます。</span><br />
<span style="color: #444444; font-family: inherit;">今回は、</span><span style="color: #444444;">ソフトウェア上で、</span><span style="color: #444444; font-family: inherit;">顕微鏡やカメラのフォー</span><span style="color: #444444; font-family: inherit;">カス調整や試料のポジショニングを制御する方法について解説します。従来の顕微鏡システムは試料をステージに置いて高精度のネジで</span><span style="color: #444444; font-family: inherit;">ステージを前後左右・上下にマニュアル調整するものが多かったと思いますが、最近の顕微鏡システムでは、これらの作業はソフトウェア上で調整が可</span><span style="color: #444444; font-family: inherit;">能となっています。</span><br />
<span style="color: #444444; font-family: inherit;">これらのソフトウェアは各種メーカーからオプションとして提供されるものもありますが、これらのオプションは現在でも高価なものもあるようです。</span><br />
<span style="color: #444444; font-family: inherit;">ImageJとμManagerの組み合わせによって、このような非効率を解消できれば、その効果は絶大です。</span><br />
<span style="color: #444444; font-family: inherit;"><br /></span>
<br />
<h4>
<span style="color: #444444; font-family: inherit;">オートフォーカス機能</span></h4>
<span style="color: #444444; font-family: inherit;"><br /></span>
<span style="color: #444444; font-family: inherit;">1.ハードウェアによる</span><span style="color: #444444; font-family: inherit;">オートフォーカス機能</span><br />
<span style="color: #444444; font-family: inherit;"><br /></span>
<span style="color: #444444; font-family: inherit;">μManagerのハードウェアベースの</span><span style="color: #444444; font-family: inherit;">オートフォーカスは、ニコン社のパーフェ</span><span style="color: #444444; font-family: inherit;">クトフォーカス(PFS)、ASI CRIF、</span><span style="color: #444444; font-family: inherit;">Weiss定義フォーカス、オリンパス社の</span><span style="color: #444444; font-family: inherit;">Zドリフト補正(ZDC)などのデバイス</span><span style="color: #444444; font-family: inherit;">に対応しています。</span><span style="color: #444444; font-family: inherit;">μManager</span><span style="color: #444444; font-family: inherit;">でこれらのデバイスをアクティブにす</span><span style="color: #444444; font-family: inherit;">るためには、ハードウェアコンフィグレー</span><span style="color: #444444; font-family: inherit;">ションでこれらを設定する必要があります。設定方法は<a href="https://micro-manager.org/wiki/Micro-Manager_Configuration_Guide#Hardware_Configuration_Wizard" target="_blank">ハードウェアコンフィグレーションを参照</a>してください。</span><br />
<span style="color: #444444; font-family: inherit;"><br /></span>
<span style="color: #444444; font-family: inherit;">2.ソフトウェアによる</span><span style="color: #444444; font-family: inherit;">オートフォーカス機能</span><br />
<span style="color: #444444; font-family: inherit;"><br /></span>
<span style="color: #444444; font-family: inherit;">ソフトウェアベースのオートフォーカ</span><span style="color: #444444; font-family: inherit;">スプラグインは、オートフォーカスの</span><span style="color: #444444; font-family: inherit;">プロパティダイアログボックスから利用で</span><span style="color: #444444; font-family: inherit;">きます。任意のカメラおよびZステー</span><span style="color: #444444; font-family: inherit;">ジで動作するように設計されています。</span><br />
<span style="color: #444444; font-family: inherit;">これ</span><span style="color: #444444; font-family: inherit;">らのオートフォーカスのプラグインは、繰</span><span style="color: #444444; font-family: inherit;">り返して焦点位置を調整し、特定の画</span><span style="color: #444444; font-family: inherit;">像特性を最適化するように画像を取得</span><span style="color: #444444; font-family: inherit;">できます。このような画像取得例として、Pakpoom Subsoontorn</span><span style="color: #444444; font-family: inherit;">とHernan Garcia(ともにカリフォ</span><span style="color: #444444; font-family: inherit;">ルニア工科大学)は、画像のグラディエ</span><span style="color: #444444; font-family: inherit;">ントの相対強度に基づいてオートフォー</span><span style="color: #444444; font-family: inherit;">カスするためのJavaプラグインモジュー</span><span style="color: #444444; font-family: inherit;">ル “<a href="https://micro-manager.org/wiki/Autofocus_manual" target="_blank">JAF H&P</a>”を開発しています。</span><br />
<span style="color: #444444; font-family: inherit;"><br /></span>
<span style="color: #444444; font-family: inherit;">3.多次元収集によるオートフォーカス</span><br />
<span style="color: #444444; font-family: inherit;"><br /></span>
<span style="color: #444444; font-family: inherit;">多次元収集ウインドウ<Multi-D Acq.>からオートフォー</span><span style="color: #444444; font-family: inherit;">カスシステムとの統合ができます。</span><span style="color: #444444; font-family: inherit;"><A</span><span style="color: #444444; font-family: inherit;">utofocus>のチェックをし、その中の<Options>ボタンをクリックす</span><span style="color: #444444; font-family: inherit;">ると、オートフォーカスプロパティウィンドウが開き、構成を選</span><span style="color: #444444; font-family: inherit;">択することができます。</span><span style="color: #444444; font-family: inherit;">ユーザはオートフォーカ</span><span style="color: #444444; font-family: inherit;">スイベントでどのくらいのフレーム</span><span style="color: #444444; font-family: inherit;">数をスキップするかもここから指定できます。</span><br />
<span style="color: #444444; font-family: inherit;"><br /></span>
<br />
<h4>
<span style="color: #444444; font-family: inherit;">ポジショニング</span></h4>
<span style="color: #444444; font-family: inherit;"><br /></span>
<span style="color: #444444; font-family: inherit;">1.ポジショニングリストダイアログ</span><br />
<span style="color: #444444; font-family: inherit;"><br /></span>
<span style="color: #444444; font-family: inherit;">ポジションリストダイアログは,“Tools/Stage Position</span><span style="color: #444444; font-family: inherit;"> List...”メニューまたは“Multi-Dimensional </span><span style="color: #444444; font-family: inherit;">Acquisition”ウインドウのMultiple positions(XY)の中にある"Edit position list..."から表示するこ</span><span style="color: #444444; font-family: inherit;">とができます。</span><br />
<span style="color: #444444; font-family: inherit;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-TxjhKAsXI3Q/Vlu1HHvbPjI/AAAAAAAABLE/LNL_AT8FS-w/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-30%2B11.31.32.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://2.bp.blogspot.com/-TxjhKAsXI3Q/Vlu1HHvbPjI/AAAAAAAABLE/LNL_AT8FS-w/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-30%2B11.31.32.png" width="214" /></a></div>
<br />
<span style="color: #444444; font-family: inherit;">ダイアログの下部では、</span><span style="color: #444444; font-family: inherit;">利用できるステージ軸のリストがあり、</span><span style="color: #444444; font-family: inherit;">位置の記録</span><span style="color: #444444; font-family: inherit;">ができます。ユーザーが選</span><span style="color: #444444; font-family: inherit;">択したすべてのステージの中で現在の</span><span style="color: #444444; font-family: inherit;">ステージ位置を記録するために<Mark></span><span style="color: #444444; font-family: inherit;">ボタンを使用します。<Mark>を押してポ</span><span style="color: #444444; font-family: inherit;">ジションが選択されれば、その位置がオー</span><span style="color: #444444; font-family: inherit;">バーライトされます。</span><br />
<span style="color: #444444; font-family: inherit;">また、ポジションを</span><span style="color: #444444; font-family: inherit;">選択して<Go to>ボタンを押すと、以前</span><span style="color: #444444; font-family: inherit;">のポジジョンに戻ることができます。ボタ</span><span style="color: #444444; font-family: inherit;">ンは"Current position”パネルに示さ</span><span style="color: #444444; font-family: inherit;">れるステージポジションに更新されます。</span><span style="color: #444444; font-family: inherit;">ポジションリストは<Save As>ボタンで</span><span style="color: #444444; font-family: inherit;">保存でき、“Load”することによって</span><span style="color: #444444; font-family: inherit;">後から再利用できます。ポジションリスト</span><span style="color: #444444; font-family: inherit;">ダイアログの<Create Grid>ボタンは、</span><span style="color: #444444; font-family: inherit;">Tile Creatorダイアログを開きます。</span><br />
<span style="color: #444444; font-family: inherit;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-qcWUu96_4Z8/Vlu1YcGA_QI/AAAAAAAABLM/36ZhF08py-w/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-30%2B11.32.47.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="275" src="https://1.bp.blogspot.com/-qcWUu96_4Z8/Vlu1YcGA_QI/AAAAAAAABLM/36ZhF08py-w/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-30%2B11.32.47.png" width="320" /></a></div>
<br />
<span style="color: #444444; font-family: inherit;">このダイアログで顕微鏡切片の</span><span style="color: #444444; font-family: inherit;">ある対象のエリアのポジショ</span><span style="color: #444444; font-family: inherit;">ンリストを簡単に生成できます。</span><br />
<span style="color: #444444; font-family: inherit;"><br /></span>
<span style="color: #444444; font-family: inherit;">2.Tile Creator</span><br />
<span style="color: #444444; font-family: inherit;"><br /></span>
<span style="color: #444444; font-family: inherit;">ユーザが関心を持つ対象の、少な</span><span style="color: #444444; font-family: inherit;">くとも2つのコーナーにマークを付けて</span><span style="color: #444444; font-family: inherit;">Tile Creatorダイアログの<Set>ボタン</span><span style="color: #444444; font-family: inherit;">を押します。<OK>を押すと、ユーザーがセッ</span><span style="color: #444444; font-family: inherit;">トしたコーナー周辺に、バウンディング</span><span style="color: #444444; font-family: inherit;">ボックスをカバーするポジションリスト</span><span style="color: #444444; font-family: inherit;">を生成します。</span><br />
<span style="color: #444444; font-family: inherit;">正確なポジションリストを</span><span style="color: #444444; font-family: inherit;">つくるには、ダイアログには正確なピク</span><span style="color: #444444; font-family: inherit;">セルサイズが必要です。ユーザ</span><span style="color: #444444; font-family: inherit;">のシステムがキャリブレーションされて</span><span style="color: #444444; font-family: inherit;">いれば、正確なピクセルサイズが自動</span><span style="color: #444444; font-family: inherit;">的に表示されます。そうでない場合は、ユー</span><span style="color: #444444; font-family: inherit;">ザが正確な数値を人力する必要があります。</span><br />
<span style="color: #444444; font-family: inherit;"><br /></span>
<span style="color: #444444; font-family: inherit;">3.インタラクティブなステージ移動</span><br />
<span style="color: #444444; font-family: inherit;"><br /></span>
<span style="color: #444444; font-family: inherit;">顕微鏡ステージのポジショニングは面</span><span style="color: #444444; font-family: inherit;">倒な作業ですが、μManagerには</span><span style="color: #444444; font-family: inherit;">この作業をより簡単にするための“Tools/</span><span style="color: #444444; font-family: inherit;">Mouse Moves Stage”オプションが備</span><span style="color: #444444; font-family: inherit;">わっています。</span><br />
<span style="color: #444444; font-family: inherit;">Mouse Moves Stageを可</span><span style="color: #444444; font-family: inherit;">にしたとき、“Live”ウインドウ上の任</span><span style="color: #444444; font-family: inherit;">意の位置でダブルクリックして、その位置を</span><span style="color: #444444; font-family: inherit;">センターとしてステージが</span><span style="color: #444444; font-family: inherit;">動きます。</span><br />
<span style="color: #444444; font-family: inherit;">ステージが動かな</span><span style="color: #444444; font-family: inherit;">い場合は、ステー</span><span style="color: #444444; font-family: inherit;">ジ移動補正を保管するために、カメラプ</span><span style="color: #444444; font-family: inherit;">ロパティの“TransposeMirrorX“、</span><span style="color: #444444; font-family: inherit;">“TransposeMirrorY”、“TransposeXY”</span><span style="color: #444444; font-family: inherit;">を使用して調整が可能です。</span><br />
<span style="color: #444444; font-family: inherit;"><br /></span>
<span style="color: #444444; font-family: inherit;">キャ</span><span style="color: #444444; font-family: inherit;">リブレーションは、一旦グループを作ったのち、そのグループのプリセット編集で、設定できます。(</span><span style="color: #444444;"><a href="https://micro-manager.org/wiki/Micro-Manager_Configuration_Guide#Pixel_Size_Calibration">https://micro-manager.org/wiki/Micro-Manager_Configuration_Guide#Pixel_Size_Calibration</a></span><span style="color: #444444; font-family: inherit;">)</span><br />
<span style="color: #444444; font-family: inherit;"><br /></span>
<span style="color: #444444; font-family: inherit;">これまで4回にわたりμManagerに</span><span style="color: #444444; font-family: inherit;">ついて解説してきました。</span><br />
<span style="color: #444444; font-family: inherit;">ImageJは、その</span><span style="color: #444444; font-family: inherit;">アイコンのデザインからもわかる通り、顕微鏡画像</span><span style="color: #444444; font-family: inherit;">の解析機能(プラグインを含め)が豊富</span><span style="color: #444444; font-family: inherit;">です。医用画像処理の場合は、ソフ</span><span style="color: #444444; font-family: inherit;">トウェアが医療機器などのハードウェア</span><span style="color: #444444; font-family: inherit;">をコントロールするケースはきわめて少</span><span style="color: #444444; font-family: inherit;">ないですが、顕微鏡や特別なカメラなどの場</span><br />
<span style="color: #444444; font-family: inherit;">合は映像装置そのものがコンピュータ</span><span style="color: #444444; font-family: inherit;">とともに持ち運びやすいこともあり、機</span><span style="color: #444444; font-family: inherit;">械制御プログラムが多彩に用意されています</span><span style="color: #444444; font-family: inherit;">。</span><br />
<span style="color: #444444; font-family: inherit;"><br /></span>
<span style="color: #444444; font-family: inherit;">ImageJを使ってカメラ制御など</span><span style="color: #444444; font-family: inherit;">の組み込み系プログラムなどを作成する</span><span style="color: #444444; font-family: inherit;">のも面白いかもしれませんね。</span><br />
<span style="color: #444444; font-family: inherit;"><br /></span>
<span style="color: #444444; font-family: inherit;">次回はImageJを用いた新たな画像</span><span style="color: #444444; font-family: inherit;">処理プラグインの解説を行います。</span><br />
<span style="color: #444444; font-family: inherit;"><br /></span>
<br />
<div style="background-color: white; line-height: 18.2px;">
<span style="color: #444444; font-family: inherit;"><span class="s2">参考記事:「</span></span><span face="arial, tahoma, helvetica, freesans, sans-serif" style="color: #444444; line-height: 18.2px;">山本修司:</span><span style="color: #444444; font-family: inherit; line-height: 18.2px;">ImageJで学ぶ実践医用・バイオ画像処理.INNERVISION(25・2) 2010, p106-107」</span></div>
<div style="background-color: white; line-height: 18.2px;"><br /></div>VISブログ担当者http://www.blogger.com/profile/14228255165322496017noreply@blogger.com0tag:blogger.com,1999:blog-2981532364676062595.post-24954602565330573742015-11-28T14:49:00.001+09:002021-02-19T14:53:00.412+09:00第54回 ImageJによる顕微鏡画像処理 -マイクロマネージャーにおけるバイオイメージングデータのグループ管理-で学ぶ!<div class="p1"><span class="s3" style="color: #444444; font-family: inherit;">前回に引き続き</span><span class="s3" style="color: #444444; font-family: inherit;">「マイクロマネージャー</span><span class="s4" style="color: #444444; font-family: inherit;">(μManager)</span><span class="s3" style="color: #444444; font-family: inherit;">」の使用方法について説明を行います。</span></div>
<div class="p3">
<span style="color: #444444; font-family: inherit;"><span class="s4"> lmageJ</span><span class="s3">による顕微鏡画像の画像処理は、</span><span class="s3">医用画像処理とバイオイメージングの両方の特徴を知ることによっ</span></span><span class="s3" style="color: #444444; font-family: inherit;">て、</span><span class="s3" style="color: #444444; font-family: inherit;">それぞれの独特な画像処理機能が、</span><span class="s3" style="color: #444444; font-family: inherit;">お互いの領域に取り込まれれば、</span><span class="s3" style="color: #444444; font-family: inherit;">新たなバイオ・メディカル分野における複合画像処理が可能と</span><span class="s3" style="color: #444444; font-family: inherit;">なります。</span></div>
<div class="p3">
<span class="s3" style="color: #444444; font-family: inherit;"><br /></span></div>
<div class="p3">
<span class="s3" style="color: #444444; font-family: inherit;">今回も、</span><span class="s4" style="color: #444444; font-family: inherit;">μManager</span><span class="s3" style="color: #444444; font-family: inherit;">のホームページのミラーサイトページ</span><span class="s4" style="color: #444444; font-family: inherit;">(http://elegans.bio.nagoya-u.ac.jp/~tsukada/MicroManager/u_guide.html)を参考に、</span><span class="s3" style="color: #444444; font-family: inherit;">使用方法</span><span class="s5" style="color: #444444; font-family: inherit;">の説明をします。</span></div>
<div class="p3">
<br /></div>
<h4>
<span style="color: #444444; font-family: inherit;">画像グループの管理方法</span></h4>
<div class="p4">
<span style="color: #444444; font-family: inherit;"><br /></span></div>
<div class="p4">
<span style="color: #444444; font-family: inherit;"><b>多元的データ取得方法</b></span></div>
<div class="p3">
<span style="color: #444444; font-family: inherit;"><span class="s3"><br /></span></span></div>
<div class="p3">
<span style="color: #444444; font-family: inherit;"><span class="s3">複数画像のスタックを取得するには、</span><span class="s7">取得コントロールダイアログ</span><span class="s3">を開く</span><span class="s4"><Multi-D Acq.></span><span class="s3">ボタンを押します</span><span class="s9">。</span><span class="s2">μManager</span><span class="s9">は、</span><span class="s9">マルチチャネル</span><span class="s2">(</span><span class="s9">波</span><span class="s3">長軸</span><span class="s4">)</span><span class="s3">やマルチフレーム</span><span class="s4">(</span><span class="s3">時間軸</span><span class="s4">)、</span><span class="s3">マル</span></span><span class="s9" style="background-color: white; color: #444444; font-family: inherit; line-height: 18.2px;">チスライス</span><span class="s2" style="background-color: white; color: #444444; font-family: inherit; line-height: 18.2px;">(Z</span><span class="s9" style="background-color: white; color: #444444; font-family: inherit; line-height: 18.2px;">軸</span><span class="s2" style="background-color: white; color: #444444; font-family: inherit; line-height: 18.2px;">)</span><span class="s9" style="background-color: white; color: #444444; font-family: inherit; line-height: 18.2px;">の生成もしくは、</span><span class="s9" style="background-color: white; color: #444444; font-family: inherit; line-height: 18.2px;">上</span><span style="background-color: white; color: #444444; font-family: inherit; line-height: 18.2px;">記のどのような組み合わせの構築も可能</span><span style="background-color: white; color: #444444; font-family: inherit; line-height: 18.2px;">です。</span><br />
<span style="background-color: white; color: #444444; font-family: inherit; line-height: 18.2px;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-kElt0ufgFP0/Vlk7A0SMWWI/AAAAAAAABK0/kvPaFlWDVxw/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-28%2B14.25.37.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://4.bp.blogspot.com/-kElt0ufgFP0/Vlk7A0SMWWI/AAAAAAAABK0/kvPaFlWDVxw/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-28%2B14.25.37.png" width="315" /></a></div>
<br /></div>
<div style="background-color: white; line-height: 18.2px;">
<span style="color: #444444; font-family: inherit;"><span class="s9">このようなスタックは、</span><span class="s2">5D image</span><span class="s9">と</span><span class="s9">して参照されます。</span><span class="s2">5D image</span><span class="s9">は、</span><span class="s9">マルチポジションで取得されます。ダイア</span><span class="s5">ログにあるコントロールを使って、チャネ</span><span class="s3">ル、</span><span class="s3">スライス、</span><span class="s3">フレームを定義した後、<</span><span class="s4">Acquire></span><span class="s3">ボタンを押すと、</span><span class="s3">マルチチャネルの画像が取得されます。</span></span></div>
<div style="background-color: white; line-height: 18.2px;">
<br /></div>
<div style="background-color: white; line-height: 18.2px;">
<span style="color: #444444; font-family: inherit;"><span class="s3"><br /></span></span></div>
<div style="background-color: white; line-height: 18.2px;">
<span style="color: #444444; font-family: inherit;"><span class="s3">こ</span><span class="s3">こで表示されたウインドウは、</span><span class="s4">“lmage5D </span></span><span class="s2" style="background-color: transparent; color: #444444; font-family: inherit;">Viewer”</span><span class="s3" style="background-color: transparent; color: #444444; font-family: inherit;">と呼ばれています。時間軸を持っ</span><span class="s11" style="background-color: transparent; color: #444444; font-family: inherit;">ている画像を取得した場合、</span><span class="s11" style="background-color: transparent; color: #444444; font-family: inherit;">この</span><span class="s2" style="background-color: transparent; color: #444444; font-family: inherit;">Image 5D Viewer</span><span class="s3" style="background-color: transparent; color: #444444; font-family: inherit;">から、ユーザーは</span><span class="s3" style="background-color: transparent; color: #444444; font-family: inherit;">連</span><span class="s13" style="background-color: transparent; color: #444444; font-family: inherit;">続画像のプレイバック、</span><span class="s13" style="background-color: transparent; color: #444444; font-family: inherit;">チャネル表示、</span><span class="s3" style="background-color: transparent; color: #444444; font-family: inherit;">スライスやフレーム、</span><span class="s3" style="background-color: transparent; color: #444444; font-family: inherit;">メタデータの表示</span><span class="s3" style="background-color: transparent; color: #444444; font-family: inherit;">などが可能で、</span><span class="s3" style="background-color: transparent; color: #444444; font-family: inherit;">スタック</span><span class="s11" style="background-color: transparent; color: #444444; font-family: inherit;">画像の保存もできます。</span></div>
<div style="background-color: white; line-height: 18.2px;">
<span class="s11" style="background-color: transparent; color: #444444; font-family: inherit;"><br /></span></div>
<div style="background-color: white; line-height: 18.2px;">
<span class="s11" style="background-color: transparent; color: #444444; font-family: inherit;">チャネルは、</span><span class="s12" style="background-color: transparent; color: #444444; font-family: inherit;">"</span><span class="s4" style="background-color: transparent; color: #444444; font-family: inherit;">Channel group”</span><span class="s3" style="background-color: transparent; color: #444444; font-family: inherit;">をアクティブにしてか</span><span class="s3" style="background-color: transparent; color: #444444; font-family: inherit;">ら選択できます。チャネルグループは、</span><span class="s3" style="background-color: transparent; color: #444444; font-family: inherit;">メ</span><span class="s9" style="background-color: transparent; color: #444444; font-family: inherit;">インの</span><span class="s2" style="background-color: transparent; color: #444444; font-family: inherit;">μManager</span><span class="s9" style="background-color: transparent; color: #444444; font-family: inherit;">コントールパネルで定義</span><span class="s3" style="background-color: transparent; color: #444444; font-family: inherit;">される構成プリセットグループに対応し</span><span class="s4" style="background-color: transparent; color: #444444; font-family: inherit;"> </span><span class="s3" style="background-color: transparent; color: #444444; font-family: inherit;">ています。チャネルグループを切り替えると、</span><span class="s3" style="background-color: transparent; color: #444444; font-family: inherit;">以前に定義したすべてのチャネルは消去</span><span class="s13" style="background-color: transparent; color: #444444; font-family: inherit;">されます。</span></div>
<div style="background-color: white; line-height: 18.2px;">
<span class="s13" style="background-color: transparent; color: #444444; font-family: inherit;"><br /></span></div>
<div style="background-color: white; line-height: 18.2px;">
<span class="s13" style="background-color: transparent; color: #444444; font-family: inherit;">ユーザーは、</span><span class="s13" style="background-color: transparent; color: #444444; font-family: inherit;">それぞれのチャネ</span><span class="s14" style="background-color: transparent; color: #444444; font-family: inherit;">ルごとに任意の露光時間をセットする必</span><span class="s3" style="background-color: transparent; color: #444444; font-family: inherit;">要があり、</span><span class="s3" style="background-color: transparent; color: #444444; font-family: inherit;">また、</span><span class="s3" style="background-color: transparent; color: #444444; font-family: inherit;">チャネルの</span><span class="s2" style="background-color: transparent; color: #444444; font-family: inherit;">1</span><span class="s3" style="background-color: transparent; color: #444444; font-family: inherit;">つのメイ</span><span class="s13" style="background-color: transparent; color: #444444; font-family: inherit;">ンオブジェクトが、</span><span class="s13" style="background-color: transparent; color: #444444; font-family: inherit;">他のチャネルの他の</span><span class="s3" style="background-color: transparent; color: #444444; font-family: inherit;">焦点プレーンである場合に役立つ、</span><span class="s3" style="background-color: transparent; color: #444444; font-family: inherit;">そ</span><span class="s15" style="background-color: transparent; color: #444444; font-family: inherit;">れぞれのチャネルごとの</span><span class="s16" style="background-color: transparent; color: #444444; font-family: inherit;">Z-offset</span><span class="s3" style="background-color: transparent; color: #444444; font-family: inherit;">のセッティングも可能です。</span></div>
<div style="background-color: white; line-height: 18.2px;">
<span class="s3" style="background-color: transparent; color: #444444; font-family: inherit;"><br /></span></div>
<div style="background-color: white; line-height: 18.2px;">
<span class="s3" style="background-color: transparent; color: #444444; font-family: inherit;">ゼロ以外の番号を”Skip Frame”に設定すれば、フレームを入力した数字ごとに飛ばして表示できます。カラーの行をクリックすると、カラーセレクターが立ち上がり、Image5D Viewerのチャネルごとに使用されるカラーを選択することができます。</span><span class="s4" style="background-color: transparent; color: #444444; font-family: inherit; line-height: 18.2px;">Z-Slices</span><span class="s13" style="background-color: transparent; color: #444444; font-family: inherit; line-height: 18.2px;">は、</span><span class="s13" style="background-color: transparent; color: #444444; font-family: inherit; line-height: 18.2px;">現在の位置</span><span class="s4" style="background-color: transparent; color: #444444; font-family: inherit; line-height: 18.2px;">(</span><span class="s13" style="background-color: transparent; color: #444444; font-family: inherit; line-height: 18.2px;">開始と終了の</span><span class="s3" style="background-color: transparent; color: #444444; font-family: inherit; line-height: 18.2px;">入力が必要</span><span class="s2" style="background-color: transparent; color: #444444; font-family: inherit; line-height: 18.2px;">)</span><span class="s3" style="background-color: transparent; color: #444444; font-family: inherit; line-height: 18.2px;">の相対位置と絶対位置の設定が可能です。</span></div>
<div class="p5">
<span style="color: #444444; font-family: inherit;"><span class="s3"><br /></span></span></div>
<div class="p3">
<span style="color: #444444; font-family: inherit;"><span class="s4">“Acquisition Order”</span><span class="s3">は、</span><span class="s3">それぞれの</span><span class="s9">チャネルもしくはそれぞれの</span><span class="s2">Z</span><span class="s9">位置で</span><span class="s3">のチャネルを切り替えた画像の</span><span class="s4">Z</span><span class="s3">軸スタックを実行します。</span><span class="s4">“Use XY list”</span><span class="s3">をチェックすると、ポジションリストで定義されたそれぞれの位置で画像取得が実行されます。</span></span><br />
<span style="color: #444444; font-family: inherit;"><span class="s3"><br /></span></span>
<span style="color: #444444; font-family: inherit;"><span class="s3">μManagerは非常に多くのユーザにメリットをもたらす機能を有しています。また、developer向けの情報も豊富に公開されています。</span></span><br />
<span style="color: #444444; font-family: inherit;"><span class="s3">使わない手はありませんね。</span></span><br />
<span style="color: #444444; font-family: inherit;"><span class="s3"><br /></span></span>
<span style="color: #444444; font-family: inherit;"><span class="s3">バーストモードやスプリット表示機能は改良されて、GUIが変わったり、内蔵されたりして、少し操作が変わってきているようです。機会があれば、またご紹介させていただければと考えております。</span></span><br />
<span style="color: #444444; font-family: inherit;"><span class="s3"><br /></span></span>
<span style="color: #444444; font-family: inherit;"><span class="s3">ImageJでもたくさんのバイオサンプル画像が公開されていますが、このような機能を使って、シーケンシャルに取得されたんだろうなあと思う画像がたくさんあります。</span></span><br />
<span style="color: #444444; font-family: inherit;"><span class="s3">筆者は、ミクロ画像よりCTやMRI、PETなどのマクロ画像を普段は取り扱うので、このような機能は非常に興味深く拝見させていただきました。</span></span><br />
<span style="color: #444444; font-family: inherit;"><span class="s3">ぜひ今後に役立てていきたいです。</span></span></div>
<div class="p5">
<span style="color: #444444; font-family: inherit;"><span class="s3"><br /></span></span></div>
<div class="p3">
<span style="color: #444444; font-family: inherit;"><span class="s11">今回も</span><span class="s12">μManager</span><span class="s11">の基本的</span><span class="s3">な使用方法について説明を行いました。</span><span class="s3">次回も</span><span class="s3">バイオイメージ</span><span class="s4"> </span><span class="s3">ングについて</span><span class="s4">ImageJ</span><span class="s3">の応用を説明します。</span><span class="s4"> </span></span></div>
<div class="p5">
<span class="s3"><span style="font-family: inherit;"><br /></span></span></div>
<div class="p6" style="background-color: white; color: #444444; line-height: 18.2px;">
<span class="s2"><span style="font-family: inherit;">参考記事:「</span></span><span face="arial, tahoma, helvetica, freesans, sans-serif" style="line-height: 18.2px;">山本修司:</span><span style="font-family: inherit; line-height: 18.2px;">ImageJで学ぶ実践医用・バイオ画像処理.INNERVISION(25・1) 2010, p92-93」</span></div>
<div class="p6" style="background-color: white; color: #444444; line-height: 18.2px;"><br /></div>
<div class="p5">
<span class="s3"></span></div>
VISブログ担当者http://www.blogger.com/profile/14228255165322496017noreply@blogger.com0tag:blogger.com,1999:blog-2981532364676062595.post-83797092919708086482015-11-28T14:24:00.002+09:002021-02-19T14:52:42.793+09:00第53回 ImageJによる顕微鏡画像処理 -マイクロマネージャーの基本的な設定方法と概要-で学ぶ!<div class="p1"><span class="s2" style="color: #444444; font-family: inherit;">前回、</span><span class="s2" style="color: #444444; font-family: inherit;">顕微鏡画像処理ソフトウェアとして、</span><span class="s2" style="color: #444444; font-family: inherit;">豊富な機能を持つ</span><span class="s3" style="color: #444444; font-family: inherit;">UCSF(</span><span class="s2" style="color: #444444; font-family: inherit;">カリフォルニア大学サンフランシスコ校</span><span class="s3" style="color: #444444; font-family: inherit;">)</span><span class="s2" style="color: #444444; font-family: inherit;">の</span><span class="s3" style="color: #444444; font-family: inherit;">Vale</span><span class="s2" style="color: #444444; font-family: inherit;">研</span><span class="s2" style="color: #444444; font-family: inherit;">究室で開発されている「マイクロマネージャー</span><span class="s3" style="color: #444444; font-family: inherit;">(μManager)</span><span class="s2" style="color: #444444; font-family: inherit;">」を紹介しました。</span></div>
<div class="p3">
<span style="color: #444444; font-family: inherit;"><span class="s3"><br /></span></span></div>
<div class="p3">
<span style="color: #444444; font-family: inherit;"><span class="s3">μManager</span><span class="s2">が</span><span class="s2">他の同種類のソフトウェアと大きく違う</span><span class="s2">ところは、</span><span class="s2">カメラ、</span><span class="s2">ステージ、</span><span class="s2">フィルタホイール、</span><span class="s2">シャッターなどのハードウェアを</span><span class="s2">直接このソフトウェアを用いて制御できる点です。</span></span></div>
<div class="p3">
<span style="color: #444444; font-family: inherit;"><span class="s2"><br /></span></span></div>
<div class="p3">
<span style="color: #444444; font-family: inherit;"><span class="s2">今</span><span class="s2">回も</span><span class="s2">前回に引き続き、</span><span class="s3">μManager</span><span class="s2">の使用方法について説明を行います。なお、</span><span class="s2">本説明は、μ</span><span class="s3">Manager</span><span class="s2">のミラーサイト(http://elegans.bio.nagoya-u.ac.jp/~tsukada/MicroManager/u_guide.html)を</span><span class="s4">参考にさせていただいております。</span></span></div>
<div class="p3">
<span style="color: #444444; font-family: inherit;"><span class="s4"><br /></span></span></div>
<h4>
<span style="color: #444444; font-family: inherit;">基本的な設定・操作</span></h4>
<div class="p2">
<span style="color: #444444; font-family: inherit;"><br /></span>
<span style="color: #444444; font-family: inherit;">まず、μManagerを起動します。</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-VA_t8MonODw/VlkyxITnGmI/AAAAAAAABJw/zWQH26Hc5l4/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-28%2B12.30.40.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="https://2.bp.blogspot.com/-VA_t8MonODw/VlkyxITnGmI/AAAAAAAABJw/zWQH26Hc5l4/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-28%2B12.30.40.png" width="400" /></a></div>
<span style="color: #444444; font-family: inherit;">続けて、以下の機能をご紹介していきます。</span><br />
<span style="color: #444444; font-family: inherit;"><br /></span></div>
<div class="p1">
<span style="color: #444444; font-family: inherit;"><b>画像の表示方法</b></span></div>
<div class="p4">
<span style="color: #444444; font-family: inherit;"><span class="s2"><br /></span></span></div>
<div class="p4">
<span style="color: #444444; font-family: inherit;"><span class="s2">カメラから単一の画像を取得するため</span></span><span class="s2" style="color: #444444; font-family: inherit;">には、起動画面</span><span class="s2" style="color: #444444; font-family: inherit;">の</span><span class="s2" style="color: #444444; font-family: inherit;">左側上に配置されている<</span><span class="s6" style="color: #444444; font-family: inherit;">Snap></span><span class="s2" style="color: #444444; font-family: inherit;">ボ</span><span class="s7" style="color: #444444; font-family: inherit;">タンを押すだけです。</span><span class="s3" style="color: #444444; font-family: inherit;">“Live”ウィン</span><span class="s7" style="color: #444444; font-family: inherit;">ド</span><span class="s2" style="color: #444444; font-family: inherit;">ウがポップアップ表示され、</span><span class="s2" style="color: #444444; font-family: inherit;">取得された画像が</span><span class="s2" style="color: #444444; font-family: inherit;">表示されます。</span></div>
<div class="p4">
<span class="s2" style="color: #444444; font-family: inherit;">電子顕微鏡を接続していない場合は、デモカメラモードで起動します。この場合、</span><span class="s2" style="color: #444444; font-family: inherit;">サンプルとしてデモ用のサイン波画</span><span class="s2" style="color: #444444; font-family: inherit;">像が入力されます。この状態のときは、</span><span class="s2" style="color: #444444; font-family: inherit;"><</span><span class="s3" style="color: #444444; font-family: inherit;">Snap></span><span class="s2" style="color: #444444; font-family: inherit;">ボタンを押すごとにサイン波の</span><span class="s9" style="color: #444444; font-family: inherit;">画像がシフトします。</span><span class="s2" style="color: #444444; font-family: inherit;">この画像は</span><span class="s6" style="color: #444444; font-family: inherit;">ImageJ</span><span class="s2" style="color: #444444; font-family: inherit;">の画</span><span class="s2" style="color: #444444; font-family: inherit;">像処理ツールやエディットツールによっ</span><span class="s2" style="color: #444444; font-family: inherit;">て画像解析が可能です。</span><span class="s9" style="color: #444444; font-family: inherit;">コントロールパネル</span><span class="s2" style="color: #444444; font-family: inherit;">の下部にデフォルトで表示されるプロファ</span><span class="s2" style="color: #444444; font-family: inherit;">イルは、</span><span class="s2" style="color: #444444; font-family: inherit;">ヒストグラムです。</span><br />
<span class="s2" style="color: #444444; font-family: inherit;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-IeYLUvhWmbg/Vlkzlj8VpRI/AAAAAAAABJ4/_nSRnZ1BPqI/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-28%2B13.54.35.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://2.bp.blogspot.com/-IeYLUvhWmbg/Vlkzlj8VpRI/AAAAAAAABJ4/_nSRnZ1BPqI/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-28%2B13.54.35.png" width="276" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(デモカメラモードのサンプル画像)</div>
</div>
<div class="p4">
<br /></div>
<div class="p1">
<span style="color: #444444; font-family: inherit;"><b>ライブ画像モード</b></span></div>
<div class="p4">
<span style="color: #444444; font-family: inherit;"><span class="s2"><br /></span></span></div>
<div class="p4">
<span style="color: #444444; font-family: inherit;"><span class="s2">連続的にカメラの画像を表示する</span><span class="s2">場合は、初期起動画面左の<Live>ボタン、または、<Snap>を起動した状態で、そのウィンドウ内の下部の<</span><span class="s6">Live></span><span class="s2">ボタンを押します。</span></span></div>
<div class="p4">
<br /></div>
<div class="p1">
<span style="color: #444444; font-family: inherit;"><b>シリーズ画像の取得</b></span></div>
<div class="p3">
<span style="color: #444444; font-family: inherit;"><span class="s2"><br /></span></span></div>
<div class="p3">
<span style="color: #444444; font-family: inherit;"><span class="s2">LiveやSnapで画像を表示した状態で、コントロールパネルの<</span><span class="s3">Album></span><span class="s2">ボタ</span></span><span class="s2" style="color: #444444; font-family: inherit;">ンを押すと、別</span><span class="s2" style="color: #444444; font-family: inherit;">ウィンドウが</span><span class="s2" style="color: #444444; font-family: inherit;">表示され、自分の欲しい画像で</span><span class="s9" style="color: #444444; font-family: inherit;"><Album</span><span class="s6" style="color: #444444; font-family: inherit;">></span><span class="s2" style="color: #444444; font-family: inherit;">ボタン</span><span class="s2" style="color: #444444; font-family: inherit;">を繰り返し押すごとにシリー</span><span class="s2" style="color: #444444; font-family: inherit;">ズにキャプチャーシーンが追加され、スタックとして保存できます。</span></div>
<div class="p3">
<br /></div>
<div class="p1">
<span style="color: #444444; font-family: inherit;"><b>ヒストグラム、輝度調整およびコントラスト調整</b></span></div>
<div class="p3">
<span style="color: #444444; font-family: inherit;"><span class="s2"><br /></span></span></div>
<div class="p3">
<span style="color: #444444; font-family: inherit;"><span class="s2">画像のピクセル値のヒストグラムは、</span><span class="s2">常にメインパネルの下部にグラフで表示されます。ヒストグラムは、新たな画像を受信するごとに自動的にアップデートされます。濃度レンジは、</span><span class="s3"><Camera Depth>、<4bit>〜<16bit></span><span class="s2">スケールを選択して調整できます。デフォルトの</span><span class="s3"><</span></span><span style="color: #444444;">Camera Depth</span><span style="color: #444444; font-family: inherit;"><span class="s3">>は</span><span class="s2">、自動的にハードウェアに合わせて画像のビット長を調整します。画像表示の際の輝度とコントラ</span></span><span class="s2" style="color: #444444; font-family: inherit;">スト調整は、</span><span class="s2" style="color: #444444; font-family: inherit;">メインパネルの下部のスラ</span><span class="s2" style="color: #444444; font-family: inherit;">イダーから調整できます。</span><span class="s3" style="color: #444444; font-family: inherit;">“Auto-stretch”</span><span class="s2" style="color: #444444; font-family: inherit;">オプションは、</span><span class="s2" style="color: #444444; font-family: inherit;">画像の</span><span class="s2" style="color: #444444; font-family: inherit;">濃淡ビットレンジから自動的に最小値と</span><span class="s9" style="color: #444444; font-family: inherit;">最大値を用いて調整します。</span><span class="s6" style="color: #444444; font-family: inherit;">ImageJ</span><span class="s9" style="color: #444444; font-family: inherit;">のメ</span><span class="s9" style="color: #444444; font-family: inherit;">ニューからでも</span><span class="s6" style="color: #444444; font-family: inherit;">ImageJ</span><span class="s9" style="color: #444444; font-family: inherit;">の通常の輝度お</span><span class="s2" style="color: #444444; font-family: inherit;">よびコントラスト調整ツ</span><span class="s2" style="color: #444444; font-family: inherit;">一ルを利用できます。</span></div>
<div class="p3">
<br /></div>
<div class="p7">
<span style="color: #444444; font-family: inherit;"><span class="s2"><b>リフレッシュ</b></span></span></div>
<div class="p3">
<span style="color: #444444; font-family: inherit;"><span class="s6"><br /></span></span></div>
<div class="p3">
<span style="color: #444444; font-family: inherit;"><span class="s6">μManager</span><span class="s9">は</span><span class="s9">顕微</span><span class="s2">鏡が変わっても設定をアップデートする</span><span class="s9">必要はありません。使用しているハードウェア</span><span class="s2">の状態に同期させるために、<</span><span class="s3">Refresh> </span><span class="s2">ボタンを押すだけです。</span></span></div>
<div class="p3">
<br /></div>
<div class="p8">
<span style="color: #444444; font-family: inherit;"><b><span class="s2">Region of Interest</span><span class="s9">(ROI)</span></b></span></div>
<div class="p3">
<span style="color: #444444; font-family: inherit;"><span class="s2"><br /></span></span></div>
<div class="p3">
<span style="color: #444444; font-family: inherit;"><span class="s2">顕微鏡に使用されるカメラのほとんどは</span><span class="s2">フルフレームの代わりに</span><span class="s3">Region of Inter</span></span><span class="s6" style="color: #444444; font-family: inherit;">est(ROI)</span><span class="s2" style="color: #444444; font-family: inherit;">のみの画像でシリーズを構成</span><span class="s2" style="color: #444444; font-family: inherit;">することができます。</span><span class="s6" style="color: #444444; font-family: inherit;">ImageJ</span><span class="s2" style="color: #444444; font-family: inherit;">のメニューか</span><span class="s2" style="color: #444444; font-family: inherit;">ら指定の</span><span class="s6" style="color: #444444; font-family: inherit;">ROI</span><span class="s2" style="color: #444444; font-family: inherit;">ツールを選択して使用する</span><span class="s2" style="color: #444444; font-family: inherit;">ことが可能で、<</span><span class="s3" style="color: #444444; font-family: inherit;">ROI></span><span class="s2" style="color: #444444; font-family: inherit;">ボタンを押すこ</span><span class="s2" style="color: #444444; font-family: inherit;">とによって、</span><span class="s2" style="color: #444444; font-family: inherit;">カメラの画像内にその</span><span class="s3" style="color: #444444; font-family: inherit;">ROI</span><span class="s9" style="color: #444444; font-family: inherit;">の設定を反映させることができます。フルフレームの画</span><span class="s4" style="color: #444444; font-family: inherit;">像を表示するときは<</span><span class="s5" style="color: #444444; font-family: inherit;">Full></span><span class="s4" style="color: #444444; font-family: inherit;">ボタンを押します。</span><br />
<span class="s4" style="color: #444444; font-family: inherit;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-4bos2a4sWG8/Vlk2chNKGzI/AAAAAAAABKE/OUGUPhGUcBc/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-28%2B14.06.39.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="170" src="https://3.bp.blogspot.com/-4bos2a4sWG8/Vlk2chNKGzI/AAAAAAAABKE/OUGUPhGUcBc/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-28%2B14.06.39.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(ROIボタンを押して、画像に反映)</div>
<br /></div>
<div class="p7">
<span style="color: #444444; font-family: inherit;"><span class="s2"><b>拡大とラインプロファイル</b></span></span></div>
<div class="p7">
<span style="color: #444444; font-family: inherit;"><span class="s6"><br /></span></span></div>
<div class="p7">
<span style="color: #444444; font-family: inherit;"><span class="s6"><Zoom></span><span class="s2">ボタンは、アクティブな画像ウィンドウを拡大するときに使用し、</span><span class="s6"><Profile></span><span class="s2">ボタンはラインプロファイルを描画するときに使います。画像がシリーズの場合、表示する画像ごとに自動的にプロファイルをリアルタイムに表示します。任意のラインプロファイルは、</span><span class="s6">ImageJ標準機能の</span><span class="s6">”</span><span class="s2">プロファイルプロット</span><span class="s6">”</span><span class="s2">を実行することでも得られます。</span></span></div>
<div class="p7">
<span style="color: #444444; font-family: inherit;"><span class="s2"><br /></span></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/--IY3trSxc2s/Vlk2zECJCnI/AAAAAAAABKM/KPak4iY_emM/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-28%2B14.08.04.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="202" src="https://3.bp.blogspot.com/--IY3trSxc2s/Vlk2zECJCnI/AAAAAAAABKM/KPak4iY_emM/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-28%2B14.08.04.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(ラインプロファイルを実行)</div>
<span style="color: #444444; font-family: inherit;"><span class="s2"><br /></span></span></div>
<div class="p7">
<span style="color: #444444; font-family: inherit;"><span class="s2"><b>カメラ設定</b></span></span></div>
<div class="p4">
<span style="color: #444444; font-family: inherit;"><span class="s2"><br /></span></span></div>
<div class="p4">
<span style="color: #444444; font-family: inherit;"><span class="s2">システムに備わった最小限の</span><span class="s2">設定で、</span><span class="s7">カメラの露出時間を設定でき、</span><span class="s7">ビン</span><span class="s2">ニング</span><span class="s6">(x</span><span class="s2">と</span><span class="s6">y</span><span class="s2">方向両方のピク</span><span class="s2">セルのポーリング</span><span class="s6">)</span><span class="s2">を適用することがで</span></span><span class="s2" style="color: #444444; font-family: inherit;">きます。また、</span><span class="s3" style="color: #444444; font-family: inherit;">“Shutter”</span><span class="s2" style="color: #444444; font-family: inherit;">を変更す</span><span class="s9" style="color: #444444; font-family: inherit;">ることもできます。例えば、</span><span class="s6" style="color: #444444; font-family: inherit;">μManager</span><span class="s9" style="color: #444444; font-family: inherit;">の</span><span class="s2" style="color: #444444; font-family: inherit;">シャッターは、</span><span class="s2" style="color: #444444; font-family: inherit;">画像を取得する前にオー</span><span class="s2" style="color: #444444; font-family: inherit;">プンし、</span><span class="s2" style="color: #444444; font-family: inherit;">一度画像が生成されると閉じます。</span><span class="s2" style="color: #444444; font-family: inherit;">シャッターの自動的なオープン/クロー</span><span class="s2" style="color: #444444; font-family: inherit;">ジング動作は、<</span><span class="s3" style="color: #444444; font-family: inherit;">Auto shutter></span><span class="s2" style="color: #444444; font-family: inherit;">チェッ</span><span class="s9" style="color: #444444; font-family: inherit;">クボックスで</span><span class="s9" style="color: #444444; font-family: inherit;">有効/無</span><span class="s2" style="color: #444444; font-family: inherit;">効にすることができます。</span></div>
<div class="p4">
<br /></div>
<div class="p7">
<span class="s2"><span style="color: #444444; font-family: inherit;"><b>デバイスのコントロール</b></span></span></div>
<div class="p7">
<span style="color: #444444; font-family: inherit;"><span class="s6"><br /></span></span></div>
<div class="p7">
<span style="color: #444444; font-family: inherit;"><span class="s2">デバイス</span><span class="s6">/</span><span class="s2">プロパティブラウザの</span></span><span class="s2" style="color: #444444; font-family: inherit;">メインコントロールパネルは、</span><span class="s2" style="color: #444444; font-family: inherit;">システ</span><span class="s2" style="color: #444444; font-family: inherit;">ムにロードされたデバイス</span><span class="s3" style="color: #444444; font-family: inherit;">/</span><span class="s2" style="color: #444444; font-family: inherit;">プロパティ</span><span class="s2" style="color: #444444; font-family: inherit;">の小規模なサブセットのみのコントロー</span><span class="s9" style="color: #444444; font-family: inherit;">ルを提供します。ロードされたハードウェア</span><span class="s2" style="color: #444444; font-family: inherit;">構成で利用可能なすべてのデバイ</span><span class="s9" style="color: #444444; font-family: inherit;">スとすべての設定を閲覧するには、</span><span class="s9" style="color: #444444; font-family: inherit;">デバ</span><span class="s9" style="color: #444444; font-family: inherit;">イスブラウザ</span><span class="s6" style="color: #444444; font-family: inherit;">“Device Property Browser”(</span><span class="s9" style="color: #444444; font-family: inherit;">メ</span><span class="s2" style="color: #444444; font-family: inherit;">ニューコマンドの</span><span class="s3" style="color: #444444; font-family: inherit;">Tools/Device Property Browser)</span><span class="s2" style="color: #444444; font-family: inherit;">を使用します。</span></div>
<div class="p3">
<span style="color: #444444; font-family: inherit;"><span class="s2">デバイスブ</span><span class="s2">ラウザは、</span><span class="s2">すべてのデバイスのリストを</span></span><span class="s2" style="color: #444444; font-family: inherit;">返し、</span><span class="s2" style="color: #444444; font-family: inherit;">それぞれのデバイスごとに利用可</span><span class="s2" style="color: #444444; font-family: inherit;">能な設定ができる</span><span class="s6" style="color: #444444; font-family: inherit;">“properties”</span><span class="s2" style="color: #444444; font-family: inherit;">が用意されています。</span><span class="s2" style="color: #444444; font-family: inherit;">さまざまなデバイスを任意の</span><span class="s2" style="color: #444444; font-family: inherit;">設定で検査するための設定</span><span class="s2" style="color: #444444; font-family: inherit;">変</span><span class="s4" style="color: #444444; font-family: inherit;">更ができます。</span><br />
<span class="s4" style="color: #444444; font-family: inherit;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-1FYnYO2R9HA/Vlk3ui5S9GI/AAAAAAAABKY/1wKUNDXUluA/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-28%2B14.11.06.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="257" src="https://2.bp.blogspot.com/-1FYnYO2R9HA/Vlk3ui5S9GI/AAAAAAAABKY/1wKUNDXUluA/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-28%2B14.11.06.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(<span style="color: #444444;">Device Property Browser</span>)</div>
<br /></div>
<div class="p3">
<span style="color: #444444; font-family: inherit;"><span class="s2">読み込み専用プロパティは、</span><span class="s2">ダークバッ</span><span class="s9">クグランドで表示されます。設定を変更す</span><span class="s2">るには、</span><span class="s3">“Value”</span><span class="s2">行にある対象を変更し、Tab</span><span class="s2">キーを使ってフィールドから離れる</span><span class="s9">か、</span><span class="s9">もしくはウィンドウ内のどこかにマ</span><span class="s2">ウスを移動してクリックすることができます。</span></span></div>
<div class="p7">
<span style="color: #444444; font-family: inherit;"><span class="s6"><br /></span></span></div>
<div class="p7">
<span style="color: #444444; font-family: inherit;"><span class="s2"><b>デバイスプロパティのグループ化:プリセット構成</b></span></span></div>
<div class="p4">
<span style="color: #444444; font-family: inherit;"><span class="s2"><br /></span></span></div>
<div class="p4">
<span style="color: #444444; font-family: inherit;"><span class="s2">しかしながら、デバイス</span><span class="s2">プロパティブラウザを使用</span></span><span style="color: #444444; font-family: inherit;">して個々のプロパティを変更するのは煩わしい作業です。</span><span style="color: #444444; font-family: inherit;">μManagerでは、デバイスプロパティのグループをセットするためのショートカットを作成できます。</span><br />
<span class="s2" style="color: #444444; font-family: inherit;">初期起動画面の"Group"の+ボタンからグルーム編集ウィンドウを表示し、どのデバイスがコマンドによって影響を受けるか選択できます。</span><br />
<span class="s2" style="color: #444444; font-family: inherit;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-iTUcoWgC6dM/Vlk44-HDYmI/AAAAAAAABKo/ktgS6H-mNkI/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-28%2B14.15.53.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://2.bp.blogspot.com/-iTUcoWgC6dM/Vlk44-HDYmI/AAAAAAAABKo/ktgS6H-mNkI/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-28%2B14.15.53.png" width="243" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(グループ編集機能)</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="color: #444444;">グループを作成した後に、プリセットの追加を行うことができます。</span></div>
</div>
<div class="p4">
<span class="s2" style="color: #444444; font-family: inherit;"><br /></span></div>
<div class="p4">
<span class="s2" style="color: #444444; font-family: inherit;">デバイスプロパティは、</span><span class="s2" style="color: #444444; font-family: inherit;">カメラ</span><span class="s9" style="color: #444444; font-family: inherit;">ゲインもしくは温度のようなものの場合、その値を簡単</span><span class="s2" style="color: #444444; font-family: inherit;">に設定できるようにスライダーが表示さ</span><span class="s12" style="color: #444444; font-family: inherit;">れたりします。使いやすさがよく研究されているツールです。</span></div>
<div class="p4">
<br /></div>
<div class="p9">
<span style="color: #444444; font-family: inherit;"><span class="s2">以上、今回は</span><span class="s14">μManager</span><span class="s2">の基本的</span></span><span class="s2" style="color: #444444; font-family: inherit;">な設定方法や概要を説明しました。</span><br />
<span class="s2" style="color: #444444; font-family: inherit;">本物の電子顕微鏡で使えたら、どんなことができるだろうと、夢を見させてくれるツールです。</span></div>
<div class="p9">
<span class="s2" style="color: #444444; font-family: inherit;">次回も</span><span class="s2" style="color: #444444; font-family: inherit;">続けて</span><span class="s6" style="color: #444444; font-family: inherit;">μManager</span><span class="s2" style="color: #444444; font-family: inherit;">の説明を行います。</span><span class="s6" style="color: #444444; font-family: inherit;"> </span></div>
<div class="p2">
<span style="color: #444444; font-family: inherit;"><br /></span></div>
<div class="p6" style="background-color: white; line-height: 18.2px;">
<span class="s2"><span style="color: #444444; font-family: inherit;">参考記事:「</span></span><span face="arial, tahoma, helvetica, freesans, sans-serif" style="color: #444444; line-height: 18.2px;">山本修司:</span><span style="color: #444444; font-family: inherit; line-height: 18.2px;">ImageJで学ぶ実践医用・バイオ画像処理.INNERVISION(24・12) 2009, p108-109」</span></div>
<div class="p6" style="background-color: white; line-height: 18.2px;"><br /></div>
VISブログ担当者http://www.blogger.com/profile/14228255165322496017noreply@blogger.com0tag:blogger.com,1999:blog-2981532364676062595.post-73035400046669224262015-11-28T12:53:00.003+09:002021-02-19T14:52:20.746+09:00第52回 ImageJによる顕微鏡画像処理 -マイクロマネージャーの紹介-で学ぶ!<div class="p1"><span class="s2" style="color: #444444; font-family: inherit;">lmageJ</span><span class="s3" style="color: #444444; font-family: inherit;">は</span><span class="s3" style="color: #444444; font-family: inherit;">画像処理の応用分野の中でも、特に、電子顕微鏡から得られるミクロな画像の解析や処理についての定評が高いです。このような</span><span class="s3" style="color: #444444; font-family: inherit;">ミクロやナノ</span><span class="s3" style="color: #444444; font-family: inherit;">テクノロジ一が発展し、</span><span class="s3" style="color: #444444; font-family: inherit;">バイオイメージングのみならず、</span><span class="s3" style="color: #444444; font-family: inherit;">精密機械による工業用のマイクロイメージングによる画像解析やリアルタイム動</span><span class="s3" style="color: #444444; font-family: inherit;">画像処理などの研究開発なども目覚ましい進歩を遂げています。</span></div>
<div class="p1">
<span class="s3"><span style="color: #444444; font-family: inherit;"><br /></span></span></div>
<div class="p1">
<span style="color: #444444; font-family: inherit;"><span class="s3">今回は、</span><span class="s3">そのマイクロイメージングの入りロとして、I</span><span class="s2">mageJ</span><span class="s3">による顕微鏡</span><span class="s3">画像処理について紹介します!</span></span></div>
<div class="p1">
<br /></div>
<h4>
<span class="s3"><span style="color: #444444; font-family: inherit;">顕微鏡画像解析ソフトマイクロマネージャーとは</span></span></h4>
<div class="p3">
<span class="s4"><span style="color: #444444; font-family: inherit;"><br /></span></span></div>
<div class="p3">
<span style="color: #444444; font-family: inherit;"><span class="s4">ImageJ</span><span class="s5">をベースに開発したオープン</span><span class="s3">ソース</span><span class="s3">の顕微鏡画像処理ソフトウェアの中で人気があるのが、UCSF(カリフォルニア大学サンフランシスコ校)のVale研究室で開発されている「マイクロマネージャ(μManager)」です。</span></span></div>
<div class="p5">
<span style="color: #444444; font-family: inherit;"><span class="s4">μManager</span><span class="s3">が</span><span class="s3">多くのユーザに人気がある理由は、</span><span class="s3">その</span><span class="s3">互換性</span><span class="s3">の高さです</span><span class="s3">。カメラ製造会社や顕微鏡製造会</span><span class="s3">社で提供されるソフトウェアは通常、</span><span class="s3">機</span><span class="s6">種依存(ベンダー依存)があります。</span></span></div>
<div class="p5">
<span class="s6"><span style="color: #444444; font-family: inherit;"><br /></span></span></div>
<div class="p5">
<span style="color: #444444; font-family: inherit;"><span class="s6">同一メーカであっても、</span><span class="s6">複数のソフトウェアが必要となり、</span><span class="s6">さらに、</span><span class="s3">使うデバイスも独立して別のソフトウェア</span><span class="s3">を使用しなければならない状況が</span><span class="s3">起こることもしばしばあるようですが、一方で、ようやく、オープンイノベーションも浸透しつつあり、APIなどの公開が促進しています。</span></span></div>
<div class="p5">
<span class="s3"><span style="color: #444444; font-family: inherit;"><br /></span></span></div>
<div class="p3">
<span style="color: #444444; font-family: inherit;"><span class="s3">顕微鏡やカメラの位置のハー</span><span class="s3">ドウェア調整も、</span><span class="s3">すべてソフトウェア上</span><span class="s3">で行えるライフサイエンスにおけるイメー</span><span class="s3">ジング業界のオープンソースソフトウェア</span><span class="s5">である</span><span class="s4">μManager</span><span class="s5">は、このような時代の流れを見越した先駆的</span><span class="s3">なソフトウェアです。</span></span></div>
<div class="p3">
<span style="color: #444444; font-family: inherit;"><span class="s2"><br />
</span><span class="s7">μManager</span><span class="s8">は、</span><span class="s8">特に生命科学の研究</span><span class="s4">(</span><span class="s5">ライフサイエンス分野</span><span class="s4">)</span><span class="s5">で有効な画像収集機能および顕微鏡制御パッケージ</span><span class="s3">を有しており、</span><span class="s2">Windows、Mac、Linux</span><span class="s5">でも動作するマルチプラットフォームの</span><span class="s5">ソフトウェアです。</span><span class="s4">ImageJ</span><span class="s5">の機能を</span><span class="s3">継承しているので、</span><span class="s3">ユーザー自身による</span><span class="s2"> </span><span class="s3">カスタマイズも可能で、</span><span class="s5">最新かつユニークな画像処理機能が搭</span><span class="s3">載されています。</span></span></div>
<div class="p3">
<br /></div>
<div class="p5">
<span style="color: #444444; font-family: inherit;"><span class="s3">ユニークな点として次のものがあります</span><span class="s9">。</span></span></div>
<div class="p5">
</div>
<ol>
<li><span style="color: #444444; font-family: inherit;"><span class="s3">ユーザーインターフェースに依存しな</span><span class="s3">いハードウェアへのライティングを許可するハードウェア抽出インターフェースや、自動顕微鏡に使用されるすべてのデバイスのためのスクリプトを有していること(機種、製造会社やネイティブドライバに依存しない)。</span></span></li>
<li><span style="color: #444444; font-family: inherit;">インテリジェントデータ収集機能によって、サードパーティの解析環境(Matlabなど)とのプログラマブルなインターフェースを有すること。</span></li>
</ol>
<div class="p5">
<span style="color: #444444; font-family: inherit;"><span class="s3">ソフトウェアの基盤は、</span><span class="s4">C++</span><span class="s3">言語で</span><span class="s6">書かれた</span><span class="s2">“MMCore”</span><span class="s6">モジュールで、</span><span class="s3">アダプターモジュールプラグインを使う</span><span class="s3">ことで、</span><span class="s3">このモジュールの顕微鏡のカメラ、</span><span class="s3">シャッター、</span><span class="s3">ステージなどのさまざまな</span><span class="s5">デバイスを制御および同期させることが</span><span class="s8">可能です。</span></span></div>
<div class="p5">
<span class="s8"><span style="color: #444444; font-family: inherit;"><br /></span></span></div>
<div class="p5">
<span style="color: #444444; font-family: inherit;"><span class="s8">この</span><span class="s7">MMCore</span><span class="s8">インターフェー</span><span class="s11">スは、</span><span class="s12">C</span>++、<span class="s12">Java、Matlab、Python</span><span class="s5">などのマルチ言語でアクセスするこ</span><span class="s5">とができます。</span></span></div>
<div class="p5">
<span class="s5"><span style="color: #444444; font-family: inherit;"><br /></span></span></div>
<div class="p5">
<span style="color: #444444; font-family: inherit;"><span class="s5">図</span><span class="s5">に</span><span class="s4">MMCore</span><span class="s5">を中</span><span class="s3">心としたブロックダイアグラムを示します。</span></span></div>
<div class="p5">
<span class="s2"><span style="color: #444444; font-family: inherit;"><br /></span></span></div>
<div class="p5">
<div class="separator" style="clear: both; text-align: center;">
<img border="0" height="308" src="https://4.bp.blogspot.com/-ZS90sz6Fh5o/VlkhVad7KBI/AAAAAAAABI8/NGqsNDPpuwU/s400/Block_diagram.gif" width="400" /></div>
<div class="separator" style="clear: both; text-align: center;">
(https://micro-manager.org/w/images/9/9e/Block_diagram.gif)</div>
</div>
<div class="p5">
<br /></div>
<h4>
<span style="color: #444444; font-family: inherit;"><span class="s4">μManager</span><span class="s3">のインストールについて</span></span></h4>
<div class="p6">
<span class="s3"><span style="color: #444444; font-family: inherit;"><br /></span></span></div>
<div class="p6">
<span style="color: #444444; font-family: inherit;"><span class="s3">μManager</span><span class="s5">のインストールは簡単で、</span><span class="s5">インストーラパッケージを以下のいずれかの</span><span class="s14">Web</span><span class="s8">サイト</span><span class="s5">からダ</span><span class="s6">ウンロードして、</span><span class="s6">実行すれば</span><span class="s6">エンドユー</span><span class="s5">ザーのコンピュータの特定のフォルダにそれぞれのオペレーティングシステム</span><span class="s3">(Windows、Mac</span><span class="s5">や</span><span class="s3">Linux)</span><span class="s5">に応じた</span><span class="s6">ファイルがインストールされます。</span></span><br />
<span style="color: #444444; font-family: inherit;"><span class="s6"><br /></span></span>
<span style="color: #444444; font-family: inherit;"><span class="s6">本家サイト:<a href="https://micro-manager.org/wiki/Download%20Micro-Manager_Latest%20Release">https://micro-manager.org/wiki/Download%20Micro-Manager_Latest%20Release</a></span></span><br />
<span style="color: #444444; font-family: inherit;"><span class="s6"><br /></span></span>
<span style="color: #444444; font-family: inherit;"><span class="s6">名古屋大学ミラーサイト:<a href="http://elegans.bio.nagoya-u.ac.jp/~tsukada/MicroManager/downloads.html">http://elegans.bio.nagoya-u.ac.jp/~tsukada/MicroManager/downloads.html</a></span></span></div>
<div class="p6">
<span style="color: #444444; font-family: inherit;"><br /></span></div>
<div class="p3">
<span style="color: #444444; font-family: inherit;"><span class="s3">システム詳細設定は、</span><span class="s3">実際のハードウェアのセットアップに応じたファイルが自動でインストールされます。</span></span></div>
<div class="p3">
<span class="s5"><span style="color: #444444; font-family: inherit;"><br /></span></span></div>
<div class="p3">
<span style="color: #444444; font-family: inherit;"><span class="s5">次の図</span><span class="s5">は、</span><span class="s5">筆者の</span><span class="s4">PC(Mac)</span><span class="s5">上にインストールしたときに表示され</span><span class="s3">た、</span><span class="s2">ImageJ Cofiguration</span><span class="s3">の内容を示し</span><span class="s5">たメッセージ表示面です。</span></span><br />
<span style="color: #444444; font-family: inherit;"><span class="s5"><br /></span></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-vb_EhBwF7-s/VlkiXtURsHI/AAAAAAAABJM/Vqeo6RfAV_I/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-28%2B12.28.42.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="257" src="https://2.bp.blogspot.com/-vb_EhBwF7-s/VlkiXtURsHI/AAAAAAAABJM/Vqeo6RfAV_I/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-28%2B12.28.42.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-Nyb4mbCfS2o/VlkiXl8nY7I/AAAAAAAABJQ/J1PTiYQcSg4/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-28%2B12.30.18.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="246" src="https://2.bp.blogspot.com/-Nyb4mbCfS2o/VlkiXl8nY7I/AAAAAAAABJQ/J1PTiYQcSg4/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-28%2B12.30.18.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-X40cp_nxiqQ/VlkiXuJCe4I/AAAAAAAABJI/vhGO0te4Bw4/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-28%2B12.30.34.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://4.bp.blogspot.com/-X40cp_nxiqQ/VlkiXuJCe4I/AAAAAAAABJI/vhGO0te4Bw4/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-28%2B12.30.34.png" width="240" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-G87tFAUbnpE/VlkiYH_0dWI/AAAAAAAABJU/vJAGSSKq6Gs/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-28%2B12.30.40.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="288" src="https://1.bp.blogspot.com/-G87tFAUbnpE/VlkiYH_0dWI/AAAAAAAABJU/vJAGSSKq6Gs/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-28%2B12.30.40.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(起動初期画面)</div>
<span style="color: #444444; font-family: inherit;"><span class="s5"><br /></span></span></div>
<div class="p3">
<span class="s5"><span style="color: #444444; font-family: inherit;"><br /></span></span></div>
<div class="p5">
<span style="color: #444444; font-family: inherit;"><span class="s4">同梱のImageJのアイコンのような実行ファイルを実行すると、ImageJ</span><span class="s3">が立ち上がった後に、</span><span class="s3">プラグ</span><span class="s3">インとして</span><span class="s4">μManager</span><span class="s3">が起動する仕組</span><span class="s3">みになっています。</span></span><span class="s4" style="color: #444444; font-family: inherit;">ImageJ</span><span class="s3" style="color: #444444; font-family: inherit;">のメニューと</span><span class="s4" style="color: #444444; font-family: inherit;">μManager</span><span class="s3" style="color: #444444; font-family: inherit;">は、</span><span class="s3" style="color: #444444; font-family: inherit;">それぞれ独自に立ち上がります。</span></div>
<div class="p5">
<span class="s3"><span style="color: #444444; font-family: inherit;"><br /></span></span></div>
<div class="p5">
<span style="color: #444444; font-family: inherit;"><span class="s3">今回は顕微鏡画像処理ソフトウェア</span><span class="s4">μManager</span><span class="s3">の紹介を行いました。次回はより詳しい操作説明を行います。</span></span></div>
<div class="p5">
<span class="s3"><span style="color: #444444; font-family: inherit;"><br /></span></span></div>
<div class="p6" style="background-color: white; line-height: 18.2px;">
<span class="s2"><span style="color: #444444; font-family: inherit;">参考記事:「</span></span><span face="arial, tahoma, helvetica, freesans, sans-serif" style="color: #444444; line-height: 18.2px;">山本修司:</span><span style="color: #444444; font-family: inherit; line-height: 18.2px;">ImageJで学ぶ実践医用・バイオ画像処理.INNERVISION(24・11) 2009, p94-95」</span></div>
<div class="p6" style="background-color: white; line-height: 18.2px;"><br /></div>
VISブログ担当者http://www.blogger.com/profile/14228255165322496017noreply@blogger.com0tag:blogger.com,1999:blog-2981532364676062595.post-32125161666293060242015-11-17T11:20:00.002+09:002021-02-19T14:52:04.630+09:00第51回 ImageJの高次画像処理パッケージーFijiについてーで学ぶ!<div class="p1"><span class="s1" style="color: #444444; font-family: inherit;">ImageJ</span><span class="s2" style="color: #444444; font-family: inherit;">は</span><span class="s2" style="color: #444444; font-family: inherit;">その豊富な機能として、</span><span class="s2" style="color: #444444; font-family: inherit;">多くのプラグインをオリジナル機能として提供してきました。その数は2013年時点で400を超えています。</span></div>
<div class="p2">
<span style="color: #444444; font-family: inherit;"><span class="s2"><br /></span></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-5tjy7-f4L5U/VkpoKY0_ZwI/AAAAAAAABGw/WDrQ7TwRiCY/s1600/nmeth.2089-F2.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="192" src="http://1.bp.blogspot.com/-5tjy7-f4L5U/VkpoKY0_ZwI/AAAAAAAABGw/WDrQ7TwRiCY/s320/nmeth.2089-F2.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(ImageJ プラグイン数の推移(参考文献1))</div>
<div class="p2">
<span style="color: #444444; font-family: inherit;"><span class="s2"><br /></span></span></div>
<div class="p2">
<span style="color: #444444; font-family: inherit;"><span class="s2">そして、</span><span class="s2">これらのプラグ</span><span class="s2">インを独立した画像処理や解析機能として使用するのではなく、</span><span class="s2">多くのプラグインを集めてパッケージ化した</span><span class="s1">lmageJ</span><span class="s2">モジュー</span><span class="s2">ルが存在します。</span></span></div>
<div class="p2">
<span style="color: #444444; font-family: inherit;"><span class="s2"><br /></span></span></div>
<div class="p2">
<span style="color: #444444; font-family: inherit;"><span class="s2">その中でも、</span><span class="s1">“Fiji”</span><span class="s2">は、</span><span class="s2">高品質なプラグインパッケージとして、</span><span class="s2">脳神経科学者などの間で使用されています。今回はこの</span><span class="s2">画像処</span><span class="s2">理パッケージ</span><span class="s1">Fijiを</span><span class="s2">紹介します。</span></span></div>
<div class="p2">
<span style="color: #444444; font-family: inherit;"><span class="s2"><br /></span></span></div>
<h4>
<span class="s2"><span style="color: #444444; font-family: inherit;">Fijiについてー</span></span><span style="color: #444444;">“</span><span style="color: blue;">F</span><span style="color: #444444;">iji </span><span style="color: blue;">I</span><span style="color: #444444;">s </span><span style="color: blue;">J</span><span style="color: #444444;">ust </span><span style="color: blue;">I</span><span style="color: #444444;">mageJ”</span><span face=""arial" , sans-serif" style="background-color: white; color: #444444; font-size: 12.8px;">—a "batteries-included"</span><span style="color: #444444;">ー</span></h4>
<div class="p3">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-gES-cIE1YUU/Vkpy5-VQHSI/AAAAAAAABHA/1aPRJKklZHQ/s1600/Fiji-main-window.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="146" src="http://2.bp.blogspot.com/-gES-cIE1YUU/Vkpy5-VQHSI/AAAAAAAABHA/1aPRJKklZHQ/s400/Fiji-main-window.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(Fiji メインウィンドウ)</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="p3">
<span style="color: #444444; font-family: inherit;"><span class="s1">Fiji</span><span class="s3">は、</span><span class="s1">“Fiji Is Just ImageJ”</span><span class="s3">とい</span><span class="s2">うフレーズで開発されている</span><span class="s4">ImageJ</span><span class="s2">上で動</span><span class="s2">作するJava言語の画像処理パッケージです</span></span><span style="color: #444444;">(Fijiは、ImageJを凌駕するというより、むしろImageJそのもので、「ImageJはここからが本番」というニュアンスと個人的に解釈しています。)</span><span style="color: #444444; font-family: inherit;">。</span></div>
<div class="p3">
<span style="color: #444444; font-family: inherit;"><br /></span></div>
<div class="p3">
<span style="color: #444444; font-family: inherit;">登場した当初に発表されたスライドはこちら(</span><span style="color: #444444;"><a href="http://fiji.sc/_images/1/14/Fiji-ELMI2009.pdf">http://fiji.sc/_images/1/14/Fiji-ELMI2009.pdf</a></span><span style="color: #444444; font-family: inherit;">)</span></div>
<div class="p3">
<span style="color: #444444; font-family: inherit;"><br /></span></div>
<div class="p3">
<span face=""arial" , sans-serif" style="background-color: white; color: #444444;">"batteries-included"というのは、標準的なライブラリを柔軟に使えますという表明です。</span></div>
<div class="p3">
<span face=""arial" , sans-serif" style="background-color: white; color: #444444;">想定される</span><span face=""arial" , sans-serif" style="background-color: white; color: #444444;">Fijiの</span><span face=""arial" , sans-serif" style="background-color: white; color: #444444;">利用環境は次のように説明されています。</span></div>
<div class="p3">
<span face=""arial" , sans-serif" style="background-color: white; color: #444444;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-FxBMM7gusjg/VkqG3L-EcwI/AAAAAAAABH0/wHyTc7_U8nk/s1600/nmeth.2019-F1.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-FxBMM7gusjg/VkqG3L-EcwI/AAAAAAAABH0/wHyTc7_U8nk/s1600/nmeth.2019-F1.jpg" /></a></div>
<div style="clear: both; text-align: center;">
<br /></div>
<div style="clear: both; text-align: center;">
Fijiの利用環境</div>
<div class="p3">
<br /></div>
<div class="p3">
<span style="color: #444444; font-family: inherit;"><span class="s2">Fijiは、ImageJに関わる多くの開</span><span class="s2">発者によってサポートされています。その</span><span class="s2">代表的な開発施設は、</span></span><span face="sans-serif" style="background-color: white; color: #252525; font-size: 15.104px; line-height: 24.1664px;">University of Wisconsin-Madison(ウィスコンシン大学)の<a href="http://loci.wisc.edu/" target="_blank">Laboratory for Optical and Computational Instrumentation</a>(LOCI)と、</span><span class="s4" style="color: #444444; font-family: inherit;">Max Planck Institute of <a href="https://www.mpi-cbg.de/research-groups/current-groups/pavel-tomancak/research-focus/" target="_blank">Molecular Cell Biology and Genetics in Dresden</a>, Germany</span><span class="s2" style="color: #444444; font-family: inherit;">(マックス・ブランク研究所)です。</span></div>
<div class="p3">
<span class="s3" style="color: #444444; font-family: inherit;">マックス・プランク研究所は、</span><span class="s3"><span style="color: #444444; font-family: inherit;">その名のとおり高名な物理学者マックス・</span></span><span style="color: #444444; font-family: inherit;">プランクにちなんで名づけられた施設で、</span><span class="s2" style="color: #444444; font-family: inherit;">その前身のカイザー・ヴィルヘル</span><span style="color: #444444; font-family: inherit;">ム協会時代にアインシュタインが所長を</span><span class="s2" style="color: #444444; font-family: inherit;">務め、</span><span class="s2" style="color: #444444; font-family: inherit;">研究していたことでも有名な施設</span><span class="s2" style="color: #444444; font-family: inherit;">です。</span></div>
<div class="p3">
<span class="s2" style="color: #444444; font-family: inherit;"><br /></span></div>
<div class="p3">
<span class="s2" style="color: #444444; font-family: inherit;">2009年までのFijiの開発を可視化したSupplement動画をご紹介します。</span></div>
<div class="p3">
<span class="s2" style="color: #444444; font-family: inherit;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dzP-pJGjzy2WibsdCO9XIo8-suQYDzpkN4y8X-d-M_p8tW8V6FcV-aWOidmUnKvtcpBT_OFYbi3DFfxl91wkg' class='b-hbp-video b-uploaded' frameborder='0'></iframe></div>
<div class="separator" style="clear: both; text-align: center;">
(<a class="src-url" focus-type="url" href="http://www.nature.com/nmeth/journal/v9/n7/extref/nmeth.2019-S5.mov" style="-webkit-padding-end: 4px; -webkit-padding-start: 4px; color: #5566dd; display: inline-block; font-family: Helvetica, "Hiragino Kaku Gothic ProN", sans-serif; font-size: 12px; max-width: 500px; overflow: hidden; padding-bottom: 1px; padding-inline: 4px; padding-top: 4px; text-decoration: none; text-overflow: ellipsis; white-space: nowrap;" tabindex="0" target="_blank">http://www.nature.com/nmeth/journal/v9/n7/extref/nmeth.2019-S5.mov</a>)</div>
<div class="p3">
<br /></div>
<div class="p2">
<span style="color: #444444; font-family: inherit;"><span class="s5">この</span><span class="s4">lmageJ</span><span class="s5">のプラグインパッ</span><span class="s5">ケージ</span><span class="s4">Fiji</span><span class="s5">の使用対象者は、</span><span class="s5">脳神</span><span class="s5">経科学者のほか、</span><span class="s5">細胞生命科学者や寄</span><span class="s5">生虫学者、</span><span class="s5">遺伝学者や材料科学などで、様々な</span><span class="s2">専門領域にも応用されています</span><span class="s2">。このパッケージは</span><span class="s2">オープンソー</span><span class="s2">スであり、</span><span class="s2">開発用スクリプト言語として</span><span class="s1">Javascript、JRuby、Jython</span><span class="s2">などが利用</span><span class="s6">できます。</span></span></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-EktUJMGgsi0/Vkp7dcnNsmI/AAAAAAAABHQ/wyCHtBk_NLE/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-17%2B9.57.06.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://1.bp.blogspot.com/-EktUJMGgsi0/Vkp7dcnNsmI/AAAAAAAABHQ/wyCHtBk_NLE/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-17%2B9.57.06.png" width="250" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(いろいろなスクリプトに対応)</div>
<div class="p2">
<span style="color: #444444; font-family: inherit;"><span class="s6"><br /></span></span></div>
<div class="p2">
<span style="color: #444444; font-family: inherit;"><span class="s2"><br /></span></span></div>
<div class="p2">
<span style="color: #444444; font-family: inherit;"><span class="s2">以下、Fijiに実装されている主なプラグインを示します。ImageJのプラグイン選定とは少し方向性が異なることがわかります。ImageJとともに、これらのプラグインを使いこなせると、画像処理に関しては世界水準で"最強"と言っても過言でないかもしれません。</span></span></div>
<div class="p2">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-Ri6yWhqZepw/Vkp7dW2F7MI/AAAAAAAABHc/aD6fBl5xBUU/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-17%2B9.55.26.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/-Ri6yWhqZepw/Vkp7dW2F7MI/AAAAAAAABHc/aD6fBl5xBUU/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-17%2B9.55.26.png" width="140" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(プラグインメニュー)</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-piKlatY14lA/Vkp9UEgw7sI/AAAAAAAABHk/SluQj-wLRjM/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-17%2B10.04.39.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="http://4.bp.blogspot.com/-piKlatY14lA/Vkp9UEgw7sI/AAAAAAAABHk/SluQj-wLRjM/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-17%2B10.04.39.png" width="286" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(利用可能なプラグインのリスト)</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://fiji.sc/Category:Plugins">http://fiji.sc/Category:Plugins</a></div>
<div class="p4">
<br /></div>
<div class="p4">
プラグインを一部抜粋してご紹介します。</div>
<div class="p4">
<br /></div>
<div class="p4">
</div>
<ul>
<li>3D Viewerの例</li>
</ul>
<br />
<div class="p4">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-hR08N22gnUo/VkqHkcn8BmI/AAAAAAAABH8/A5uKzPYQV8Q/s1600/3D_Viewer_overview.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="106" src="http://1.bp.blogspot.com/-hR08N22gnUo/VkqHkcn8BmI/AAAAAAAABH8/A5uKzPYQV8Q/s320/3D_Viewer_overview.png" width="320" /></a></div>
<div class="p4" style="text-align: center;">
ImageJ同様に、3D Viewerも実装されています。</div>
<div class="p4" style="text-align: center;">
(左から、Surface、VR、MPR)</div>
<div class="p4">
</div>
<ul>
<li>TrakEM2の例(電子顕微鏡画像のレジストレーション、セグメンテーション、アノテーション、3Dモデル操作を可能にするプラグイン)</li>
</ul>
<br />
<div class="p4">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-BZY_gHnSS24/VkqHoZ7ocaI/AAAAAAAABIA/CztfO3ftJsE/s1600/Neuronal-arbors-1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="244" src="http://3.bp.blogspot.com/-BZY_gHnSS24/VkqHoZ7ocaI/AAAAAAAABIA/CztfO3ftJsE/s320/Neuronal-arbors-1.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(Treelineの抽出例)</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-cHJQOuURiNE/VkqHoXHyzqI/AAAAAAAABIE/HFc1DRy3fv4/s1600/treeline.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="184" src="http://2.bp.blogspot.com/-cHJQOuURiNE/VkqHoXHyzqI/AAAAAAAABIE/HFc1DRy3fv4/s320/treeline.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(Treeline抽出アルゴリズム)</div>
<div class="separator" style="clear: both; text-align: center;">
(筒状にエリアを定義(左)したあと、その筒の中の各ノードで半径の位置を経路として設定(右))</div>
<div class="p4">
<br /></div>
<div class="p4">
この他、実際の操作なども動画でたくさん紹介されていますので、興味のある部分だけ試してみてはいかがでしょうか。<br />
<br />
<a href="https://www.youtube.com/user/fijichannel/videos?shelf_id=1&view=0&sort=dd">https://www.youtube.com/user/fijichannel/videos?shelf_id=1&view=0&sort=dd</a></div>
<div class="p4">
<br /></div>
<h4>
<span class="s2"><span style="color: #444444; font-family: inherit;">Fiji活用方法</span></span></h4>
<div class="p2">
<span class="s2"><span style="color: #444444; font-family: inherit;"><br /></span></span></div>
<div class="p2">
<span class="s2" style="color: #444444; font-family: inherit;">Fijiの各プラグインは、通常の</span><span class="s4" style="color: #444444; font-family: inherit;">lmageJ</span><span class="s2" style="color: #444444; font-family: inherit;">のプラグイン追加操</span><span class="s2" style="color: #444444; font-family: inherit;">作</span><span class="s1" style="color: #444444; font-family: inherit;">(lmageJ</span><span class="s2" style="color: #444444; font-family: inherit;">フォルダ下のプラグインフォ</span><span class="s2" style="color: #444444; font-family: inherit;">ルダに当該</span><span class="s1" style="color: #444444; font-family: inherit;">jar</span><span class="s2" style="color: #444444; font-family: inherit;">ファイルをコピー</span><span class="s1" style="color: #444444; font-family: inherit;">)と同じ操作</span><span class="s5" style="color: #444444; font-family: inherit;">で、追加できます。</span><span class="s5" style="color: #444444; font-family: inherit;">この場合は、</span><span class="s4" style="color: #444444; font-family: inherit;">ImageJ</span><span class="s5" style="color: #444444; font-family: inherit;">のプラグインと</span><span class="s2" style="color: #444444; font-family: inherit;">して機</span><span class="s2" style="color: #444444; font-family: inherit;">能するため、</span><span class="s1" style="color: #444444; font-family: inherit;">Fiji</span><span class="s2" style="color: #444444; font-family: inherit;">パッケージその</span><span class="s2" style="color: #444444; font-family: inherit;">ものをインストールしなくても大丈夫です。</span></div>
<div class="p2">
<span class="s1" style="color: #444444; font-family: inherit;"><br /></span></div>
<div class="p2">
<span class="s1" style="color: #444444; font-family: inherit;">Fiji</span><span class="s5" style="color: #444444; font-family: inherit;">全体のチュートリアルについては、<a href="http://fiji.sc/Category:Tutorials" target="_blank">チュートリアルページ</a></span><span class="s2" style="color: #444444; font-family: inherit;">にその簡単な概説があるので、</span><span class="s2" style="color: #444444; font-family: inherit;">参照することをお勧めします。</span></div>
<div class="p2">
<span class="s5" style="color: #444444; font-family: inherit;"><br /></span></div>
<div class="p2">
<span class="s4" style="color: #444444; font-family: inherit;">Fijiで読み込めるファイルは</span><span class="s5" style="color: #444444; font-family: inherit;">生命科学</span><span class="s2" style="color: #444444; font-family: inherit;">分野で使用される画像処理フォーマット</span><span class="s2" style="color: #444444; font-family: inherit;">が</span><span class="s2" style="color: #444444; font-family: inherit;">網羅されています。</span></div>
<div class="p2">
<span class="s2" style="color: #444444; font-family: inherit;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-cHg5AqmEZM0/VkqNxx2Q9zI/AAAAAAAABIg/vk_5RQwhPJ4/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-17%2B11.13.57.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="http://3.bp.blogspot.com/-cHg5AqmEZM0/VkqNxx2Q9zI/AAAAAAAABIg/vk_5RQwhPJ4/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-17%2B11.13.57.png" width="125" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(インポートできるファイルフォーマット)</div>
<div class="p2">
<br /></div>
<div class="p3">
<span style="color: #444444; font-family: inherit;"><span class="s2">今回は、</span><span class="s4">ImageJ</span><span class="s2">の高次画像処理パッ</span><span class="s3">ケージ</span><span class="s1">Fiji</span><span class="s3">について、</span><span class="s3">その紹介を</span><span class="s2">行いました。バイオイメージングの研究に役</span><span class="s2">立つプラグインが豊富に収集されてい</span><span class="s3">るため、電子</span><span class="s3">顕微鏡を用いる研究者からマクロな画像を取り扱う研究者まで、うまく</span></span><span style="color: #444444; font-family: inherit;">このパッケージを活用できそうですね。</span></div>
<div class="p3">
<span style="color: #444444; font-family: inherit;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-V7gKNpIIu7w/VkqNx8ciyXI/AAAAAAAABIo/Gmnc2AUAb0I/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-17%2B11.13.00.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://2.bp.blogspot.com/-V7gKNpIIu7w/VkqNx8ciyXI/AAAAAAAABIo/Gmnc2AUAb0I/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-17%2B11.13.00.png" width="298" /></a></div>
<div class="p6">
<span class="s2"><span style="color: #444444; font-family: inherit;"><br /></span></span></div>
<div class="p6">
<span class="s2"><span style="color: #444444; font-family: inherit;"><span style="background-color: white; line-height: 18.2px;"><span style="line-height: 18.2px;">参考記事:「ImageJで学ぶ実践医用・バイオ画像処理.INNERVISION(24・9) 2009, p100-101」</span></span></span></span></div>
<div class="p6"><br /></div>
<div class="p8">
<span style="color: #444444;">参考文献</span></div>
<ol>
<li><span class="s2" style="color: #444444; font-family: inherit;">NIH Image to ImageJ: 25 years of image analysis</span><span class="s12" style="color: #444444; font-family: inherit;"><i>Nature Methods</i> 9, 671–675 (2012)</span></li>
<li><span class="s2" style="color: #444444; font-family: inherit;">Fiji: an open-source platform for biological-image analysis</span><span class="s12" style="color: #444444; font-family: inherit;"><i>Nature Methods</i> 9, 676–682 (2012)</span></li>
</ol>
VISブログ担当者http://www.blogger.com/profile/14228255165322496017noreply@blogger.com0tag:blogger.com,1999:blog-2981532364676062595.post-8477778762884522752015-11-16T07:05:00.003+09:002021-02-19T14:51:43.900+09:00第50回 ImageJのバージョンアップと確認方法で学ぶ!<div class="p1"><span style="color: #444444; font-family: inherit;">今回は、ImgaeJの基本に立ち返って、バージョンアッップの確認方法について触れていきます。</span><span class="s2" style="color: #444444; font-family: inherit;">lmageJ</span><span class="s3" style="color: #444444; font-family: inherit;">の新バージョンがリリースされるサイクルは</span><span class="s3" style="color: #444444; font-family: inherit;">短いです。リリースノートは数日の単位で</span><span class="s3" style="color: #444444; font-family: inherit;">何らかの追加項目が報告されています。以</span><span class="s3" style="color: #444444; font-family: inherit;">前は使い難かった機能でも、</span><span class="s3" style="color: #444444; font-family: inherit;">オープンソースコミュニティに参加するプログラマーによって、</span><span class="s3" style="color: #444444; font-family: inherit;">いつの間にか改良されて使いやすくなっていることもしばしばです</span><span class="s3" style="color: #444444; font-family: inherit;">。</span></div>
<div class="p2">
<span class="s3" style="color: #444444; font-family: inherit;"><br /></span></div>
<div class="p2">
<span class="s3" style="color: #444444; font-family: inherit;">今回は、</span><span class="s3" style="color: #444444; font-family: inherit;">バージョンアップの中で改良された機能などの一部をダイジェストとして紹介します。</span></div>
<div class="p2">
<span class="s3" style="color: #444444; font-family: inherit;"><br /></span></div>
<h4>
<span style="color: #444444; font-family: inherit;">ImageJ Newsとバージョンアップの方法</span></h4>
<div class="p2">
<span style="color: #444444; font-family: inherit;"><br /></span></div>
<div class="p3">
<span style="color: #444444;"><span class="s4" style="font-family: inherit;">ImageJ</span><span class="s5" style="font-family: inherit;">の最新の情報は、</span><span class="s4" style="font-family: inherit;">“lmageJ </span><span class="s6" style="font-family: inherit;">News”</span><span class="s7" style="font-family: inherit;">サイト(</span><span class="s3"><a href="http://imagej.nih.gov/ij/notes.html">http://imagej.nih.gov/ij/notes.html</a>)<span style="font-family: inherit;">に掲載されています。この</span></span><span class="s8" style="font-family: inherit;">サイトには、</span><span class="s8" style="font-family: inherit;">いろいろな開発支援ツール</span><span class="s8" style="font-family: inherit;">や機能が追加されたことを</span><span class="s8" style="font-family: inherit;">その開発者</span><span class="s8" style="font-family: inherit;">への謝辞とともに説明がなされています。</span><span class="s3" style="font-family: inherit;">また、</span><span class="s3" style="font-family: inherit;">デバッグ情報</span><span class="s2" style="font-family: inherit;">(</span><span class="s3" style="font-family: inherit;">プログラムの不具</span><span class="s3" style="font-family: inherit;">合の修正</span><span class="s2" style="font-family: inherit;">)</span><span class="s3" style="font-family: inherit;">なども記載されています。このサイトへは、上記のURLをWebブラウザから検索するか、ImageJメニューのHelp>ImageJ News...からも見れます。ただし、活発に更新されているので、サーバーサイドで編集中のときはアクセスできない場合もありますので、このあたりは理解してあげてください。</span></span></div>
<div class="p3">
<span style="color: #444444; font-family: inherit;"><span class="s2"><br /></span></span></div>
<div class="p3">
<span style="color: #444444; font-family: inherit;"><span class="s2">図</span></span></div>
<div class="p3">
<span style="color: #444444; font-family: inherit;"><span class="s2"><br /></span></span></div>
<div class="p3">
<span style="color: #444444; font-family: inherit;"><span class="s8">ユーザーが、</span><span class="s8">現在使用している古いバー</span><span class="s8">ジョンの</span><span class="s9">lmageJ</span><span class="s8">を上記のような機能追加や</span><span class="s3">プログラム修正がなされた最新バージョ</span><span class="s10">ンの</span><span class="s11">lmageJ</span><span class="s10">に置き換えたい場合は、</span><span class="s2">ImageJ</span><span class="s3">のメニューの機能から選択できます。インターネットが利用可能な環境下で、</span><span class="s4">ImageJ</span><span class="s5">メニューの〈</span><span class="s4">Help/Update </span><span class="s12">ImageJ...</span><span class="s13">〉</span><span class="s14">を選択すれば、次</span><span class="s14">のようなダ</span><span class="s3">イアログが表示されます。</span></span></div>
<div class="p3">
<span style="color: #444444; font-family: inherit;"><span class="s3"><br /></span></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-_-ahHY_GUVE/VkeyTQtx0wI/AAAAAAAABFQ/b219LTyqkFc/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-15%2B7.14.21.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="234" src="http://3.bp.blogspot.com/-_-ahHY_GUVE/VkeyTQtx0wI/AAAAAAAABFQ/b219LTyqkFc/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-15%2B7.14.21.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(2015/11/15時点)</div>
<div class="p3">
<span style="color: #444444; font-family: inherit;"><span class="s3"><br /></span></span></div>
<div class="p3">
<span style="color: #444444; font-family: inherit;"><span class="s3">このダイアログ</span><span class="s3">のドロップダウンメニューで使用したいバー</span><span class="s8">ジョンを選択し、</span><span class="s9">OK</span><span class="s8">ボタンを押すと、</span><span class="s8">自動的に新規の</span><span class="s9">ImageJ</span><span class="s8">がリスタートさ</span><span class="s8">れます。この際オリジナルで作成したプ</span><span class="s3">ラグインプログラムやマクロのプログラム</span><span class="s3">は保持されるので、</span><span class="s3">バージョンアップに</span><span class="s3">よってプログラム群が消えることはありません。</span></span></div>
<div class="p3">
<br /></div>
<h4>
<span style="color: #444444; font-family: inherit;"><span class="s3">ImageJ News</span><span class="s8">の内容について</span></span></h4>
<div class="p5">
<span style="color: #444444; font-family: inherit;"><span class="s3"><br /></span></span></div>
<div class="p5">
<span style="color: #444444; font-family: inherit;"><span class="s3">ImageJ</span><span class="s5">の</span><span class="s3">News</span><span class="s5">についてどのような</span></span><span class="s8" style="color: #444444; font-family: inherit;">内容が書かれているか。</span><span class="s8" style="color: #444444; font-family: inherit;">以下に</span><span class="s9" style="color: #444444; font-family: inherit;">ImageJ</span><span class="s15" style="color: #444444; font-family: inherit;">サイトを紹介します。</span></div>
<div class="p5">
<br /></div>
<div class="p7">
<u style="background-color: white;">1.50a 21 July 2015</u><span style="background-color: white;"></span><br />
<ul style="background-color: white; list-style-type: circle;">
<li>Thanks to Gerald Torgersen, added the <i style="color: #772200;">Plugins>Shortcuts>Add Shortcut by Name</i> command and removed the obsolete<i style="color: #772200;">Plugins>Shortcuts>Install Plugin</i> command.</li>
<li><span style="color: blue;">Thanks to SyntonicC, add a "Rotate around image center" option to the <i>Edit>Selection>Rotate</i> command.</span></li>
<li>Thanks to Thomas Julou, cursor coordinates are displayed in pixels in the status bar if either the alt or shift keys are down.</li>
<li>Thanks to Radoslaw Ejsmont, the ChannelSplitter.getChannel() method works with RGB images and stacks and it throws an illegal argument exception if the channel argument is out of range.</li>
<li>Added the setThreshold(lower,upper,"raw") macro function and the IJ.setRawThreshold(imp,lower,upper,mode) method.</li>
<li>Fixed a bug that caused JavaScripts to sometimes unexpectadly display values in the Log window on Java 8.</li>
<li>Fixed a bug that caused the eval("js",code) macro function to fail on Java 8.</li>
<li>Fixed a bug that sometimes caused the setThreshold() macro function to throw an exception with 16-bit images.</li>
<li>Thanks to Megan Hagenauer, fixed a bug that caused incorrect line selection measurements on density calibrated (global) images.</li>
<li>Thanks to Jerome Mutterer, fixed bugs that caused a new dialog to be opened each time you pressed shift-ctrl-f in an editor window to open the macro function finder and caused focus to be lost when you closed the dialog.</li>
<li>Thanks to Michael Schmid, fixed a bug that caused the particle analyzer to ignore selections on RGB images.</li>
<li>Worked around a Java 8 bug on Macs that caused ImageJ to freeze when changing the display mode in the "Channels" dialog.</li>
<li><span style="color: blue;">Thanks to Takashi Abe, worked around a Java 8 bug that caused mirrored cursors in synched windows to not be visible.</span></li>
<li><span style="color: blue;">Thanks to Thorsten Wagner, fixed a bug that caused the "Use names as labels" setting in the ROI Manager's <i>More>>Labels</i> dialog to not be persistent.</span></li>
<li>Thanks to Jerome Mutterer, fixed a 1.49o regression that caused live profile plots of wide lines to flicker.</li>
</ul>
<br /></div>
<div class="p9">
<span style="color: #444444; font-family: inherit;"><span class="s3">上記のような、新たに追加された機能やマクロ、プラグイン、</span><span class="s9">ImageJ</span><span class="s3">のバグ修正のレポートなどが、毎日のようにWeb上で報告されています。ユーザはこの情報をもとに自らもチェックし、さらに改良を追加していくこともできますね。</span></span></div>
<div class="p9">
<span style="color: #444444; font-family: inherit;"><span class="s3"><br /></span></span></div>
<h4>
<span style="color: #444444; font-family: inherit;"><span class="s3">追加機能による</span><span class="s9">ImageJ</span><span class="s3">を用いた検証例</span></span></h4>
<div class="p9">
<span class="s3"><span style="color: #444444; font-family: inherit;"><br /></span></span></div>
<div class="p9">
上記の機能追加やバグFixによって何が効率化されたか、青字部分で示した項目だけ見ていきましょう。<br />
<br />
<ul style="background-color: white; list-style-type: circle;">
<li><span style="color: #444444;">Thanks to SyntonicC, add a "Rotate around image center" option to the <i>Edit>Selection>Rotate</i> command.</span></li>
</ul>
<div>
<span style="color: #444444;">Rotateコマンドで、ROIを画像の中心を軸に回転させることができるようになったそうです。試してみましょう。</span></div>
<div>
<span style="color: #444444;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/--1Ip_5KEdRw/Vkj-00m39LI/AAAAAAAABFg/AT4iovDLrhA/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-16%2B6.35.23.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="213" src="http://4.bp.blogspot.com/--1Ip_5KEdRw/Vkj-00m39LI/AAAAAAAABFg/AT4iovDLrhA/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-16%2B6.35.23.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(これまでの方法)</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-wpljLh4jiZ4/Vkj-09Se-SI/AAAAAAAABFo/oJovUH1Ogvg/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-16%2B6.35.33.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://2.bp.blogspot.com/-wpljLh4jiZ4/Vkj-09Se-SI/AAAAAAAABFo/oJovUH1Ogvg/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-16%2B6.35.33.png" width="300" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(ROIがROI中心で回転)</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-lgLv57V4uqA/Vkj-010ypbI/AAAAAAAABFk/nh-IuM9tf00/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-16%2B6.35.47.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="226" src="http://2.bp.blogspot.com/-lgLv57V4uqA/Vkj-010ypbI/AAAAAAAABFk/nh-IuM9tf00/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-16%2B6.35.47.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(追加された機能:画像中心から回転)</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-9gzkEtU7yOo/Vkj-1ewu1qI/AAAAAAAABFs/uybu0sI1QEw/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-16%2B6.35.56.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://1.bp.blogspot.com/-9gzkEtU7yOo/Vkj-1ewu1qI/AAAAAAAABFs/uybu0sI1QEw/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-16%2B6.35.56.png" width="300" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(ROIが画像の中心から回転している)</div>
<div>
<span style="color: #444444;"><br /></span></div>
<ul style="background-color: white; list-style-type: circle;">
<li><span style="color: #444444;">Thanks to <a href="https://twitter.com/tabe2314" target="_blank">Takashi Abe</a>(日本の方!!), worked around a Java 8 bug that caused mirrored cursors in synched windows to not be visible.</span></li>
</ul>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-4sLdzUT__jQ/Vkj_--LCN2I/AAAAAAAABGg/LnwbbmOrKWc/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-16%2B6.57.57.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/-4sLdzUT__jQ/Vkj_--LCN2I/AAAAAAAABGg/LnwbbmOrKWc/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-16%2B6.57.57.png" width="108" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
(マウスカーソルのミラーリングもバグがFixされている。)</div>
<div class="separator" style="clear: both; text-align: center;">
Analyze>Tools>Synchronize Windows </div>
<div class="separator" style="clear: both; text-align: center;">
(利用前に、複数の画像を開いておく)</div>
<div>
<span style="color: #444444;"><br /></span></div>
<ul style="background-color: white; list-style-type: circle;">
<li><span style="color: #444444;">Thanks to Thorsten Wagner, fixed a bug that caused the "Use names as labels" setting in the ROI Manager's <i>More>>Labels</i> dialog to not be persistent.</span></li>
</ul>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-fadoeMsAMQc/Vkj-1n8gwSI/AAAAAAAABGU/92Ekmk6wrnA/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-16%2B6.50.03.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="241" src="http://3.bp.blogspot.com/-fadoeMsAMQc/Vkj-1n8gwSI/AAAAAAAABGU/92Ekmk6wrnA/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-16%2B6.50.03.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(<span style="background-color: white; color: #444444;">"Use names as labels"設定下で、</span>ラベル名をRenameしても、画面に反映されなかったバグが修正されている。)</div>
<div class="separator" style="clear: both; text-align: center;">
Analyze>Tools><span style="background-color: white; color: #444444;">ROI Manager</span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="background-color: white; color: #444444;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="background-color: white; color: #444444;">"Use names as labels"設定は、More>>から、Labels...で設定できる。</span></div>
</div>
<div class="p10">
<span style="color: #444444; font-family: inherit;"><span class="s3"></span><br /></span></div>
<div class="p11">
<span style="color: #444444; font-family: inherit;"><span class="s3">以上、今回は、</span><span class="s9">ImageJ</span><span class="s3">のバージョンアップ</span><span class="s16">と</span><span class="s16">その内容の確認方法について説明を</span><span class="s3">行いました。</span><span class="s9">ImageJ</span><span class="s3">は、</span><span class="s3">日々、</span><span class="s3">バグの修正</span><span class="s3">および機能追加がされており、</span><span class="s3">優れた画</span><span class="s3">像処理や解析機能を開発した場合、</span><span class="s3">そ</span><span class="s16">のプラグインは、</span><span class="s16">バージョンアップごとに</span><span class="s9">ImageJ</span><span class="s3">本体のデフォルトの機能として</span><span class="s3">新たに組み込まれるようになっています。</span></span></div>
<div class="p11">
世界の科学者が利用するImageJ、あなたの手で作ったプラグインを公開してみてはいかがでしょう。多少コード記述方法のセンスがなくたって、有用な新しい処理ができるとなれば、きっとコミュニティが助けてくれるのではないでしょうか。</div>
<div class="p11">
<span class="s3"><span style="color: #444444; font-family: inherit;"><br /></span></span></div>
<div class="p11">
<span class="s3"><span style="color: #444444; font-family: inherit;"><span style="background-color: white; line-height: 18.2px;"><span style="line-height: 18.2px;">参考記事:「ImageJで学ぶ実践医用・バイオ画像処理.INNERVISION(24・8) 2009, p100-101」</span></span><br style="background-color: white; line-height: 18.2px;" /><br /></span></span></div>
VISブログ担当者http://www.blogger.com/profile/14228255165322496017noreply@blogger.com0tag:blogger.com,1999:blog-2981532364676062595.post-75112074936544160472015-11-09T06:46:00.003+09:002021-02-19T14:51:25.162+09:00第49回 ImageJの64ビットオペレーティングシステム環境で学ぶ!<div class="p1"><span class="s2" style="color: #444444;">近年のマルチスライス</span><span class="s3" style="color: #444444;">CT</span><span class="s2" style="color: #444444;">の</span><span class="s3" style="color: #444444;">300</span><span class="s2" style="color: #444444;">列を超える多列化の波と各種イメージングモダリティの多様化に伴って、</span><span class="s2" style="color: #444444;">臨床現場における医用</span><span class="s2" style="color: #444444;">画像の発生量は年々増加している傾向があります。</span></div>
<div class="p3">
<span style="color: #444444;"><span class="s2">高速かつ高画質な三次元画像ワークステーションの開発ベンダーは、</span><span class="s2">早くから大容量メ</span><span class="s2">モリを搭載したボリュームレンダリングボードや</span><span class="s3">64</span><span class="s2">ビットオペレーティングシステム</span><span class="s3">(64</span><span class="s2">ビット</span><span class="s3">OS)</span><span class="s2">に対応した製品の開発を進め、</span><span class="s2">数年</span><span class="s2">前からすでにリリースしています。</span></span></div>
<div class="p3">
<span class="s2" style="color: #444444;"><br /></span></div>
<div class="p3">
<span class="s2" style="color: #444444;">一方、</span><span class="s3" style="color: #444444;">64</span><span class="s2" style="color: #444444;">ビット</span><span class="s3" style="color: #444444;">OS</span><span class="s2" style="color: #444444;">対応のソフトウエアを使って自前のパソコン</span><span class="s3" style="color: #444444;">(PC)</span><span class="s2" style="color: #444444;">で画像処理をするとなると、</span><span class="s5" style="color: #444444;">lmageJ</span><span class="s4" style="color: #444444;">の</span><span class="s5" style="color: #444444;">64</span><span class="s4" style="color: #444444;">ビット</span><span class="s5" style="color: #444444;">OS</span><span class="s4" style="color: #444444;">対応バージョンもすでに配布されて</span><span class="s4" style="color: #444444;">いるため、</span><span class="s5" style="color: #444444;">64</span><span class="s4" style="color: #444444;">ビット</span><span class="s5" style="color: #444444;">OS</span><span class="s4" style="color: #444444;">の</span><span class="s5" style="color: #444444;">PC</span><span class="s4" style="color: #444444;">を持っている人は、</span><span class="s5" style="color: #444444;">lmageJ</span><span class="s4" style="color: #444444;">を大容量メモリ上で使用することが可能です。</span></div>
<div class="p3">
<span class="s4" style="color: #444444;"><br /></span></div>
<div class="p3">
<span class="s4" style="color: #444444;">今回は、</span><span class="s5" style="color: #444444;">lmageJ</span><span class="s4" style="color: #444444;">の</span><span class="s5" style="color: #444444;">64</span><span class="s4" style="color: #444444;">ビッ</span><span class="s2" style="color: #444444;">ト</span><span class="s3" style="color: #444444;">OS</span><span class="s2" style="color: #444444;">環境における活用方法について解説します。</span></div>
<div class="p3">
<br /></div>
<h4>
<span style="color: #444444;">64ビットOSと画像処理</span></h4>
<div style="background-color: white; line-height: 24.1664px; margin-bottom: 0.5em; margin-top: 0.5em;">
<span face=""arial" , "helvetica" , sans-serif" style="color: #444444; font-size: 15.104px; line-height: 24.1664px;">32ビット</span><span face=""arial" , "helvetica" , sans-serif" style="color: #444444; font-size: 15.104px; line-height: 24.1664px;">は、連続した32個(桁)の</span><a href="https://ja.wikipedia.org/wiki/%E3%83%93%E3%83%83%E3%83%88" style="background-attachment: initial; background-clip: initial; background-image: none; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; font-family: Arial, Helvetica, sans-serif; font-size: 15.104px; line-height: 24.1664px; text-decoration: none;" title="ビット">ビット</a><span face=""arial" , "helvetica" , sans-serif" style="color: #444444; font-size: 15.104px; line-height: 24.1664px;">(4</span><a href="https://ja.wikipedia.org/wiki/%E3%82%AA%E3%82%AF%E3%83%86%E3%83%83%E3%83%88_(%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF)" style="background-attachment: initial; background-clip: initial; background-image: none; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; font-family: Arial, Helvetica, sans-serif; font-size: 15.104px; line-height: 24.1664px; text-decoration: none;" title="オクテット (コンピュータ)">オクテット</a><span face=""arial" , "helvetica" , sans-serif" style="color: #444444; font-size: 15.104px; line-height: 24.1664px;">)であり、</span><a href="https://ja.wikipedia.org/wiki/%E3%83%90%E3%82%A4%E3%83%8A%E3%83%AA" style="background-attachment: initial; background-clip: initial; background-image: none; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; font-family: Arial, Helvetica, sans-serif; font-size: 15.104px; line-height: 24.1664px; text-decoration: none;" title="バイナリ">バイナリ</a><span face=""arial" , "helvetica" , sans-serif" style="color: #444444; font-size: 15.104px; line-height: 24.1664px;">で最大4,294,967,296(4G)までの数を表現できます。これに対して、</span><span face=""arial" , "helvetica" , sans-serif" style="color: #444444;">64ビットは、連続した64個(桁)の<a href="https://ja.wikipedia.org/wiki/%E3%83%93%E3%83%83%E3%83%88" style="background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; background: none; text-decoration: none;" title="ビット">ビット</a>(8<a href="https://ja.wikipedia.org/wiki/%E3%82%AA%E3%82%AF%E3%83%86%E3%83%83%E3%83%88_(%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF)" style="background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; background: none; text-decoration: none;" title="オクテット (コンピュータ)">オクテット</a>)であり、<a href="https://ja.wikipedia.org/wiki/%E3%83%90%E3%82%A4%E3%83%8A%E3%83%AA" style="background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; background: none; text-decoration: none;" title="バイナリ">バイナリ</a>で最大18,446,744,073,709,551,616(16<a href="https://ja.wikipedia.org/wiki/%E3%82%A8%E3%82%AF%E3%82%B5" style="background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; background: none; text-decoration: none;" title="エクサ">E</a>)までの数を表現できます。</span></div>
<div style="background-color: white; line-height: 24.1664px; margin-bottom: 0.5em; margin-top: 0.5em;">
<span face=""arial" , "helvetica" , sans-serif" style="color: #444444;">64ビットというと、いろいろな意味があります。以下、Wikipediaのまとめを参考にしました。</span></div>
<span style="background-color: white; line-height: 24.1664px;"></span><br />
<ul><span style="background-color: white; line-height: 24.1664px;"><span face=""arial" , "helvetica" , sans-serif" style="color: #444444;">
<li><span style="line-height: 24.1664px;">「64ビット</span><a href="https://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%83%BB%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%81%E3%83%A3" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: none; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; background: none transparent; line-height: 24.1664px; text-decoration: none;" title="コンピュータ・アーキテクチャ">アーキテクチャ</a><span style="line-height: 24.1664px;">」とは、</span><a href="https://ja.wikipedia.org/wiki/%E6%95%B4%E6%95%B0%E5%9E%8B" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: none; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; background: none transparent; line-height: 24.1664px; text-decoration: none;" title="整数型">整数型</a><span style="line-height: 24.1664px;">、</span><a href="https://ja.wikipedia.org/wiki/%E3%83%A1%E3%83%A2%E3%83%AA%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: none; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; background: none transparent; line-height: 24.1664px; text-decoration: none;" title="メモリアドレス">メモリアドレス</a><span style="line-height: 24.1664px;">、その他の</span><a href="https://ja.wikipedia.org/wiki/%E3%83%87%E3%83%BC%E3%82%BF" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: none; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; background: none transparent; line-height: 24.1664px; text-decoration: none;" title="データ">データ</a><span style="line-height: 24.1664px;">サイズなどが、最大64</span><a href="https://ja.wikipedia.org/wiki/%E3%83%93%E3%83%83%E3%83%88" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: none; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; background: none transparent; line-height: 24.1664px; text-decoration: none;" title="ビット">ビット</a><span style="line-height: 24.1664px;">幅のアーキテクチャ。</span></li>
<li><span style="line-height: 24.1664px;">「64ビット</span><a href="https://ja.wikipedia.org/wiki/CPU" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: none; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; background: none transparent; line-height: 24.1664px; text-decoration: none;" title="CPU">CPU</a><span style="line-height: 24.1664px;">」(</span><a href="https://ja.wikipedia.org/wiki/%E3%83%97%E3%83%AD%E3%82%BB%E3%83%83%E3%82%B5" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: none; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; background: none transparent; line-height: 24.1664px; text-decoration: none;" title="プロセッサ">プロセッサ</a><span style="line-height: 24.1664px;">、</span><a href="https://ja.wikipedia.org/wiki/%E6%BC%94%E7%AE%97%E8%A3%85%E7%BD%AE" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: none; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; background: none transparent; line-height: 24.1664px; text-decoration: none;" title="演算装置">演算装置</a><span style="line-height: 24.1664px;">)とは、64ビットサイズの</span><a href="https://ja.wikipedia.org/wiki/%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF_(%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF)" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: none; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; background: none transparent; line-height: 24.1664px; text-decoration: none;" title="レジスタ (コンピュータ)">レジスタ</a><span style="line-height: 24.1664px;">、</span><a href="https://ja.wikipedia.org/wiki/%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%83%90%E3%82%B9" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: none; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; background: none transparent; line-height: 24.1664px; text-decoration: none;" title="アドレスバス">アドレスバス</a><span style="line-height: 24.1664px;">、</span><a href="https://ja.wikipedia.org/wiki/%E3%83%90%E3%82%B9_(%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF)" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: none; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; background: none transparent; line-height: 24.1664px; text-decoration: none;" title="バス (コンピュータ)">データバス</a><span style="line-height: 24.1664px;">を持つCPU(プロセッサ、演算装置)。</span></li>
<li><span style="line-height: 24.1664px;">「64ビット</span><a href="https://ja.wikipedia.org/wiki/%E3%82%AA%E3%83%9A%E3%83%AC%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: none; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; background: none transparent; line-height: 24.1664px; text-decoration: none;" title="オペレーティングシステム">オペレーティングシステム</a><span style="line-height: 24.1664px;">」とは、64ビットの</span><a href="https://ja.wikipedia.org/wiki/CPU" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: none; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; background: none transparent; line-height: 24.1664px; text-decoration: none;" title="CPU">CPU</a><span style="line-height: 24.1664px;">を前提に設計されたオペレーティングシステム。</span></li>
<li><span style="line-height: 24.1664px;">「64ビット</span><a href="https://ja.wikipedia.org/wiki/%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: none; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; background: none transparent; line-height: 24.1664px; text-decoration: none;" title="アプリケーションソフトウェア">アプリケーション</a><span style="line-height: 24.1664px;">」とは、64ビットの</span><a href="https://ja.wikipedia.org/wiki/CPU" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: none; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; background: none transparent; line-height: 24.1664px; text-decoration: none;" title="CPU">CPU</a><span style="line-height: 24.1664px;">および64ビットのオペレーティングシステムを前提に設計されたアプリケーションソフトウェア。</span></li>
<li><span style="line-height: 24.1664px;">「64ビットコンピュータ」とは、64ビットのプロセッサ (CPU) を標準的に搭載したコンピュータの世代。</span></li>
</span></span></ul>
<span style="background-color: white; line-height: 24.1664px;">
</span><br />
<div class="p4">
<span style="color: #444444;"><span class="s6">CPUのレジスタは、</span><span class="s6">中央演算処理装</span><span class="s2">置</span><span class="s5">(CPU)</span><span class="s2">やグラフィックス演算処理装</span><span class="s7">置</span><span class="s8">(GPU)</span><span class="s7">の内部に持つ</span><span class="s8">CPU</span><span class="s7">の命令を</span><span class="s2">高速にアクセスするための記憶装置です</span><span class="s2">が、</span><span class="s2">汎用の</span><span class="s5">CPU</span><span class="s2">の場合、</span><span class="s2">一般的には</span><span class="s2">整数レジスタだけがメモリ内のデータア</span><span class="s2">ドレスに読み書きできる仕組みになっています。</span></span></div>
<div class="p4">
<span class="s5" style="color: #444444;">32</span><span class="s2" style="color: #444444;">ビットレジスタの場合、理論上、</span><span class="s5" style="color: #444444;">2</span><span class="s2" style="color: #444444;">の</span><span class="s5" style="color: #444444;">32</span><span class="s2" style="color: #444444;">乗、すなわち約</span><span class="s5" style="color: #444444;">4GiB(</span><span class="s2" style="color: #444444;">ギビバイト)の上限でRAM(Randam Access Memory)にアクセスできることになります。</span></div>
<div class="p4">
<span class="s2" style="color: #444444;"><br /></span></div>
<div class="p4">
<span style="color: #444444;">(補足)</span></div>
<div style="background-color: white; line-height: 18.48px;">
<div style="background-color: white; line-height: 18.48px;">
</div>
<ul>
<li><span face=""arial" , "helvetica" , sans-serif" style="color: #444444; line-height: 1.4;">1GB = 1000MB = 10^9Byte</span></li>
<li><span face=""arial" , "helvetica" , sans-serif" style="color: #444444; line-height: 1.4;">1GiB = 1024MiB = 2^30Byte</span></li>
</ul>
<span face=""arial" , "helvetica" , sans-serif" style="color: #444444;">1000毎に単位が変わるのがGB、1024毎に単位が変わるのがGiB。</span></div>
<div class="p4">
<span class="s2" style="color: #444444;"></span></div>
<div class="p4">
<span class="s2" style="color: #444444;"><br /></span></div>
<div class="p4">
<span class="s2" style="color: #444444;">現在の</span><span class="s5" style="color: #444444;">32</span><span class="s2" style="color: #444444;">ビットコンピュータは、</span><span class="s2" style="color: #444444;">上記の</span><span class="s2" style="color: #444444;">ような構造上の理由で最大搭載メモリ</span><span class="s5" style="color: #444444;">4GB</span><span class="s2" style="color: #444444;">までと記載されています。こ</span><span class="s2" style="color: #444444;">れを単純に</span><span class="s5" style="color: #444444;">64</span><span class="s2" style="color: #444444;">ビットレジスタの</span><span class="s5" style="color: #444444;">PC</span><span class="s2" style="color: #444444;">で計</span><span class="s2" style="color: #444444;">算すると、</span><span class="s5" style="color: #444444;">2</span><span class="s2" style="color: #444444;">の</span><span class="s5" style="color: #444444;">64</span><span class="s2" style="color: #444444;">乗で</span><span class="s5" style="color: #444444;">100</span><span class="s2" style="color: #444444;">憶</span><span class="s5" style="color: #444444;">GiB</span><span class="s2" style="color: #444444;">を超え</span><span class="s6" style="color: #444444;">るほどの理論上のメモリが拡張できるこ</span><span class="s6" style="color: #444444;">とになります。実際には市販の</span><span class="s3" style="color: #444444;">64</span><span class="s6" style="color: #444444;">ビットコンピュータを例にとると、アップル社の「Mac Pro」などはクアッドコアIntel Xenon系プロセッサ2基を用いたCPUで、最大メモリ容量32GBなどが使用されています。メモリが大容量であれば、データ</span><span class="s2" style="color: #444444;">量も大容量を一挙に処理できるため、</span><span class="s5" style="color: #444444;">32</span><span class="s2" style="color: #444444;">ビットコンピュータのメモリ制限を超</span><span class="s2" style="color: #444444;">えるような数千枚の</span><span class="s5" style="color: #444444;">CT</span><span class="s2" style="color: #444444;">画像を一挙に処</span><span class="s6" style="color: #444444;">理しなければならない場合では、</span><span class="s3" style="color: #444444;">64</span><span class="s6" style="color: #444444;">ビッ</span><span class="s6" style="color: #444444;">トコンピュータが必要不可欠ということ</span><span class="s6" style="color: #444444;">になります。</span></div>
<div class="p3">
<br /></div>
<div class="p3">
現在もまだまだ32ビットから64ビットマシンへの移行期ではありますが、一時期、128ビットのCPUが話題になりました。これはPlayStation2というゲーム機に実装されたCPUであるエモーション・エンジンが128ビット仕様だったためです。これはどういうことかというと、PS2のコアCPUに<span face="sans-serif" style="background-color: white; color: #252525; font-size: 15.104px; line-height: 24.1664px;">スーパースカラ 64ビット整数演算ユニットが2基ついており、理論上最大128ビット処理ができるというものでした。しかし、実際には、128ビットを使うような命令はまだなく、64ビットとして利用されていたという説もあります。</span></div>
<div class="p3">
<br /></div>
<div class="p3">
一般的なPCに話を戻すと、まだ命令系統に128ビットを使う必要性も少ないことなどから、64ビットのCPUで十分というところで落ち着いているようです。</div>
<div class="p3">
32ビットからの移行は、4GBの物理メモリの制限が影響が大きかったために、この課題の対処として64ビットCPUを普及させるに至っています。</div>
<div class="p3">
<br /></div>
<h4>
<span style="color: #444444;"><span class="s3">ImageJ</span><span class="s2">における</span><span class="s3">64</span><span class="s2">ビット</span><span class="s3">OS</span><span class="s2">環境について</span></span></h4>
<div class="p3">
<span class="s2"><span style="color: #444444;"><br /></span></span></div>
<div class="p3">
<span class="s2"><span style="color: #444444;">ImageJは、ダウンロード時に64ビット対応か32ビット対応かを選択でき、</span></span><span style="color: #444444;">マシンに合わせて利用できるようになっています。</span></div>
<div class="p3">
<span class="s2"><span style="color: #444444;">ImageJは</span></span><span style="color: #444444;">最大メモリ容量も</span><span style="color: #444444;">設定できます。</span><span style="color: #444444;">最大メモリ設定などは<a href="http://re-imagej.blogspot.jp/2015/07/2imagej.html" target="_blank">本ブログの第2回</a>をご参照ください。</span></div>
<div class="p3">
<span style="color: #444444;">もし一度に数Tバイトなどの大きい容量を扱う場合には、このメモリをPCに実装されているメモリの半分くらいを目安に上限値を上げて設定すれば、処理が固まることもなくサクサク動かすことができます。</span></div>
<div class="p3">
<br /></div>
<div class="p3">
<span class="s2"><span style="color: #444444;">ImageJ操作時の使用メモリの確認方法はPlugins>Utilities>Monitor Memory...で確認できます。</span></span></div>
<div class="p3">
<span class="s2"><span style="color: #444444;"><br /></span></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-HRil_ZQalO0/Vj_B7bgBpKI/AAAAAAAABEg/vhgXbbS2BGU/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-09%2B5.29.10.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="198" src="https://1.bp.blogspot.com/-HRil_ZQalO0/Vj_B7bgBpKI/AAAAAAAABEg/vhgXbbS2BGU/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-09%2B5.29.10.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(起動時のメモリ使用量:最大設定メモリの何パーセント使っているかも表示(40%))</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-hUjYHYrE29g/Vj_B7VduLRI/AAAAAAAABEk/ZAwBUgdFTRM/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-09%2B5.29.52.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="187" src="https://2.bp.blogspot.com/-hUjYHYrE29g/Vj_B7VduLRI/AAAAAAAABEk/ZAwBUgdFTRM/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-09%2B5.29.52.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(700枚の画像をスタック表示したときのメモリ使用量、さくっと数秒で表示できる)</div>
<div class="p3">
<br /></div>
<div class="p3">
<span style="color: #444444;"><span class="s3">今回はImageJ</span><span class="s2">の</span><span class="s3">64</span><span class="s2">ビット</span><span class="s3">OS</span><span class="s2">環境について概説しました。</span></span></div>
<div class="p3">
<span class="s2"><span style="color: #444444;">快適な解析環境構築ができるといいですね。</span></span></div>
<div class="p3">
<span class="s2"><span style="color: #444444;"><br /></span></span></div>
<div class="p3">
<span class="s2"><span style="color: #444444;">次回は少し振り返って、ImageJのバージョンアップについて触れていきます!</span></span></div>
<div class="p3">
<span class="s2"><span style="color: #444444;"><br /></span></span></div>
<div class="p3">
<span class="s2"><span style="color: #444444;"><span face=""arial" , "tahoma" , "helvetica" , "freesans" , sans-serif" style="background-color: white; line-height: 18.2px;"><span face=""arial" , "tahoma" , "helvetica" , "freesans" , sans-serif" style="line-height: 18.2px;">参考記事:「</span></span></span></span><span face="arial, tahoma, helvetica, freesans, sans-serif" style="background-color: white; color: #444444; line-height: 18.2px;">山本修司:</span><span face="arial, tahoma, helvetica, freesans, sans-serif" style="background-color: white; color: #444444; line-height: 18.2px;">ImageJで学ぶ実践医用・バイオ画像処理.INNERVISION(24・7) 2009, p84-85」</span><br /><br /></div>
<div class="p2">
<br /></div>
VISブログ担当者http://www.blogger.com/profile/14228255165322496017noreply@blogger.com0tag:blogger.com,1999:blog-2981532364676062595.post-28562459056728536152015-11-05T22:26:00.001+09:002021-02-19T14:51:06.029+09:00第48回 ImageJの構成とWeb活用で学ぶ!<span style="color: #444444;">lmageJの構成を理解し、プラグインとして作動しているアプリケーションとJavaのライブラリそのものを利用したアプリケーションのソースコードの内容を見極めて、lmageJの機能をオブジェクトごとに拡張していくのがImageJの開発スタイルとして最も作業効率が高い方法であることは周知の事実です。しかしながら、lmageJで使用している関数やクラスは、膨大で各機能を拡張するための関数の相互関係が把握し難い場合が生じることも事実です。 </span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">テーマはWeb活用ですが、ImageJのAppletについては前回(第47回)で触れているので、今回は、lmageJ全体の構成を整理し、ImageJ APIを見ていく手順について説明します。</span><br />
<span style="color: #444444;"><br /></span>
<h4>
<span style="color: #444444;">
ImageJ全体の仕組みの概要</span></h4>
<span style="color: #444444;">次の図にImageJパッケージ“ij”のクラスダイアグラムを示します(lmageJの WebサイトのUMLクラスダイヤグラム:</span><br />
<span style="color: #444444;"><a href="http://rsbweb.nih.gov/ij/developer/diagram.html">http://rsbweb.nih.gov/ij/developer/diagram.html</a>から抜粋)。その名の通り、この図にはImageJで定義されているクラスが描画されています。白抜きの矢印は、下位クラスであること、線の矢印は参照していることを示しています。</span><br />
<span style="color: #444444;"><br /></span>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-BLD7llzjwnM/Vj0fNnDTwII/AAAAAAAABDI/FwVDIhHomTA/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-07%2B6.43.44.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="152" src="http://3.bp.blogspot.com/-BLD7llzjwnM/Vj0fNnDTwII/AAAAAAAABDI/FwVDIhHomTA/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-07%2B6.43.44.png" width="320" /></a></div>
<br />
<div style="background-color: white; line-height: 24.288px;">
<span style="color: #444444; font-family: inherit;">UML(Unified Modeling Language)は、オブジェクト指向分析・設計においてシステムをモデル化する際の記法を規定した言語(ビジュアル・ランゲージ)で、ソフトウェア開発において、これを学ぶことは開発者として必須要件になってきています。UMLで図を書く理由は、主に以下の3つの理由が考えられます。</span></div>
<span style="background-color: white; color: #444444; font-family: inherit; line-height: 24.288px;"><ul>
<li><span style="font-family: inherit; line-height: 24.288px;">プログラムを書く前に,俯瞰的な図で自分の考えを整理する.</span></li>
<li><span style="font-family: inherit; line-height: 24.288px;">図でコミュニケーションする.</span></li>
</ul>
</span><span style="color: #444444;">プログラマーがコードを書き、</span><span style="color: #444444;">3000行、30000行と</span><span style="color: #444444;">その量が増えると、すべてを記憶しておくことが難しくなり、無駄なコードを書いたり、不正確なコードを書いてしまったりするリスクがあります。UMLはこのような事態を避けるために、シンプルな図でクラスやメソッドの関係性を表現しておくことができます。</span><br />
<br />
<span style="color: #444444;">この図を見ると、クラスが四角枠で表現されていることがわかります。中央にImageJクラスがあり、その左側にAppletクラスがあります。この図から、Web(ブラウザ)上でImageJを動作させる方法の1つである</span><span style="color: #444444;">アプレットは、直接lmageJクラスからアクセスできることがわかります。</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">次に、</span><span style="color: #444444;">画像データを取り扱う</span><span style="color: #444444;">ImageProcessorクラス</span><span style="color: #444444;">を見ていきます。</span><span style="color: #444444;">ImageProcessor</span><span style="color: #444444;">クラスは、Javaの標準クラスのjava.lang.Objectクラスの拡張クラスです。</span><br />
<span style="color: #444444;"><br /></span>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-Ia77wEZYvB4/Vj0ijm1bKHI/AAAAAAAABDU/twcQ0QggyHo/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-07%2B6.56.32.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="252" src="http://3.bp.blogspot.com/-Ia77wEZYvB4/Vj0ijm1bKHI/AAAAAAAABDU/twcQ0QggyHo/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-07%2B6.56.32.png" width="320" /></a></div>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">ImageProcessorクラスの中には、ImageProcessorクラスを親クラスとして、ByteProcessor、ShortProcessor、FloatProcessor、ColorProcessorクラスが収められており、それぞれ、8ビット(インデックスカラー、バイナリサブクラス含む)、16ビット、32ビット、32ビットフルカラーの型別に整理されていることがわかります。</span><br />
<br />
<span style="color: #444444;">実際の画像データは、単一の画像であるかスタック画像群かのどちらかに応じて、ImageProcessorかlmageStackオブジェクトに保存されます。</span><span style="color: #444444;">これらのオブジェクトは、画像処理には使用されますが表示機能は持っていません。画像を表示する処理は、Frameクラスの拡張クラスであるImageWindowクラスを使うことになります。</span><br />
<span style="color: #444444;"><br /></span>
というように、クラス間の関係性を考慮しながらプログラムが作成されていることが理解できれば、このようなプログラムを独自に拡張する場合でも、開発が効率的に行えることがわかります。このUMLはあくまでも概略図なので、実際にはもっと詳しい情報が必要になります。これが、APIドキュメントです。<br />
<br />
<h4>
ImageJ API</h4>
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">ImageJは、その</span><span style="color: #444444;">APIドキュメントが公開されています。</span><br />
<span style="color: #444444;"><a href="http://rsb.info.nih.gov/ij/developer/api/">http://rsb.info.nih.gov/ij/developer/api/</a></span><br />
<br />
ImageJAppletクラスを例に見ていきます。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-gh2q2p7l7N4/Vj0nz9ISOxI/AAAAAAAABDk/7dsbvFXDGO8/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-07%2B7.20.26.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="259" src="http://3.bp.blogspot.com/-gh2q2p7l7N4/Vj0nz9ISOxI/AAAAAAAABDk/7dsbvFXDGO8/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-07%2B7.20.26.png" width="320" /></a></div>
<br />
この画面は何を示しているかというと、画面左上には、パッケージというものが表示されています。このパッケージとは、開発時に作成された複数のクラスをまとめておくフォルダです。このパッケージを選択すると、その内容に含まれるクラスのみが画面左下のリストに表示されます。今の状態は、ijパッケージを選択して、ImageJAppletクラスを選択表示している状態です。<br />
<br />
次に、クラスを変えてみます。<br />
ImagePlusクラスで、内容の詳細となる画面右側を見ていきます。<br />
<br />
一番上には、クラスの継承関係が示してあります。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-yj1I3tNmIrY/Vj0qxqY19JI/AAAAAAAABDw/-bMjPw5c_cY/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-07%2B7.30.12.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-yj1I3tNmIrY/Vj0qxqY19JI/AAAAAAAABDw/-bMjPw5c_cY/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-07%2B7.30.12.png" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(ijパッケージに、含まれていて、java.lang.Objectを継承していることを示している)</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
少し下を見ていくと、クラスの説明や関連クラスのリストなどがわかるようになっています。さらに下げていくと、フィールドサマリーがあります。</div>
<div class="separator" style="clear: both; text-align: left;">
このフィールドサマリーは、ImagePlusクラスで利用する各種操作(メソッド)で必要な変数のリストです。プログラマーが任意に選択して利用できます。</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-A8XKt5pqkJs/Vj0qxn8JuTI/AAAAAAAABEI/EJbqV7Nsg1A/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-07%2B7.30.20.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="140" src="http://2.bp.blogspot.com/-A8XKt5pqkJs/Vj0qxn8JuTI/AAAAAAAABEI/EJbqV7Nsg1A/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-07%2B7.30.20.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
次にもっと下をみてみると、コンストラクターサマリーがあります。</div>
<div class="separator" style="clear: both; text-align: left;">
これは、ImagePlusクラスを初期化するときの方法のリストです。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-jUPwFNYNN14/Vj0qx35JVtI/AAAAAAAABEQ/4bZY-tfHZEo/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-07%2B7.30.45.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="165" src="http://1.bp.blogspot.com/-jUPwFNYNN14/Vj0qx35JVtI/AAAAAAAABEQ/4bZY-tfHZEo/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-07%2B7.30.45.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
さらに下を見ていくと、メソッドサマリーがあります。</div>
<div class="separator" style="clear: both; text-align: left;">
これは、ImagePlusクラスに対して利用できる処理のリストです。処理の種別ごとにタブが設けられているので、メソッドが多いときはこのタブを切り替えて検索できます。</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-fP4MRp2FHMM/Vj0qyE21ooI/AAAAAAAABEU/T4fi70YgzHc/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-07%2B7.30.53.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="147" src="http://1.bp.blogspot.com/-fP4MRp2FHMM/Vj0qyE21ooI/AAAAAAAABEU/T4fi70YgzHc/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-11-07%2B7.30.53.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
さらに下には、これらのサマリーの詳細が説明されていますので、より詳細な使い方を調べたいときに参照できるようになっています。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Java APIの見方・調べ方は、Javaの入門について書かれているサイトでわかりやすく解説されていますので、筆者もたまに読み返しています。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Java初心者入門講座:<a href="http://sunjava.seesaa.net/category/3530558-1.html">http://sunjava.seesaa.net/category/3530558-1.html</a></div>
<br />
<span style="color: #444444;">今回は、UMLによるImageJの全体の仕組みの概要と、ImageJ APIの見方についてご紹介しました!</span><br />
<span style="color: #444444;">次回、ImageJの最新の機能の説明を行います!</span><br />
<span style="color: #444444;"><br /></span>
<span face="Arial, Tahoma, Helvetica, FreeSans, sans-serif" style="background-color: white; color: #444444; line-height: 18.2px;"><span face="arial, tahoma, helvetica, freesans, sans-serif" style="line-height: 18.2px;">参考記事:「ImageJで学ぶ実践医用・バイオ画像処理.INNERVISION(24・6) 2009, p118-119」</span></span><br /><br />
VISブログ担当者http://www.blogger.com/profile/14228255165322496017noreply@blogger.com0