昨日(2024年5月1日)より, 登録申請メールが通知されない不具合のため新規登録を休止しておりましたが, 復旧できましたので新規登録受付を再開いたしました.
投稿者: at
2023年の業績をアップしました
2023年の業績をアップしました. 内容はPublications タブから.
3DSlicerの日本語化
2022.10.04
OS: ubuntu Linux 22.04
3DSlicer version: 5.1.0
概要
3DSlicerはデフォルトで設定できる言語が英語かフランス語です. 以前Twitterで知らせたように最近多言語化が進められています. その中で現状の翻訳を用いて日本語化するExtensionが公開されています. 本来は多言語での翻訳に使うためのものですが, これによって日本語化できますのでその方法を記しておきます.
また, 現状の翻訳を用いてと言ったように, 翻訳が完璧ではない場合もあります. 翻訳はWeblateで行われています. googleアカウントでログインすることができ翻訳の修正も可能になります. おかしな翻訳を見つけたら, ぜひ翻訳に参加してもらえればと思います.
準備
準備は,ちょっと初心者には難しいかもしれませんがQtというライブラリに収められた翻訳のための処理をする実行ファイル( lrelease, windowsであればlrelease.exe )を見つけるもしくはQtのライブラリをインストールしておくことになります. この記事で使用しているubuntu 22.04では,
/usr/lib/qt5/bin
にありました. またWindowsでは, Qt5を入れる必要がありますが, Cドライブ直下のQtフォルダにインストールした際には, 下のパスにありました.
C:\Qt\5.15.2\winrt_x64_msvc2019\bin
もう一つの準備として, 3DSlicerで国際化を可能にしておく必要があります. こちらは3DSlicerのメニューから「Edit」→「Application settings」を選び出てくる画面の左にある項目で「Internationalization」を選択します. Enable internationalization: という項目一つだけチェックリストであると思いますので, そこにチェック入れておいてください. 変更すると再起動が必要になります.
この設定をしておかないと, あとの日本語化のところでいくら設定しても日本語化されません.
![](https://takemuralab.net/lab/wp-content/uploads/2022/10/slicer_internationalization.png)
Language Packs extensionのインストール
3DSlicerのExtension Managerを開き, LanguagePacksというExtensionをインストールします. Language PacksはExtension Manager画面の左側カテゴリの「Utilities」のなかにあります. 下のアイコンがLanguage Packsになります. Language Packsは多言語の翻訳ファイルを読み込むためのExtensionになりますので, これだけで日本語化ができるわけではありません.
また最近Extension managerにextensionが表示されないこともあるので, ファイルからインストールす方法も記事にしておきましたので参考にしてください.
![](https://takemuralab.net/lab/wp-content/uploads/2022/10/Slicer_LanguagePack.png)
日本語化
3DSlicerの再起動後, Language Packsのモジュールを開きます. Modulesのプルダウンから,「Utilities」→「LanguageTools」を選択してください.
このモジュールで「Input Translations」のタブを展開するといくつか選択があります. その中から一番上のWeblateを選択肢, Languages: のところを「ja_JP」を選択してください.
次にSettingsタブを展開してQt “lrelease” tool path: に準備のところで確認したlreleaseがあるフォルダを指定します. その他の項目はおそらくそのままで大丈夫だと思います.
それらの設定を確認して, 「Update translation files」ボタンをクリックしてください. 日本語化に必要なファイルがダウンロードされます. ファイル容量は大きくないはずですので, すぐ終わるのではと思います. 私の環境では, 秒で終わりました. この日本語化のファイルが翻訳ファイルになります. Weblateのサイトで更新があった際に再度ここで「Update translation files」をすれば最新のものと置き換わります.
この時点でやっとボタンの下のApplication Languageが変更できるようになります. EnglishからJapaneseに変更して, 最後に「Restart the application」ボタンをクリックした3DSlicerを再起動させて終了になります.
![](https://takemuralab.net/lab/wp-content/uploads/2022/10/Slicer_languageModule_crop.png)
Restart the applicationの下にあるテキストボックスには, Update translation filesボタンを押した際に進捗状況が表示されます. うまく日本語化できれば下のようになります.
![](https://takemuralab.net/lab/wp-content/uploads/2022/10/slicer_japanization_crop.png)
日本語の表示が分かりにくい, 文字化けするなどでもとの英語に戻したい場合は, 3DSlicerのメニューの「編集」→「アプリケーション設定」を選択し, 出てきた設定画面(一般の項目)にある言語を「Japanese」から「English」に変更し再起動してください. 一度上の設定をしたなら日本語に戻す際も同様に変更できます.
ちなみに, Language ToolsのモジュールにFind text タブがありますが, その中の内容は翻訳作業に使われるものになりますので, 今回単に日本語化するだけであれば使用しません.
3DSlicerのExtension ManagerにExtensionが出てこない場合の対処
OS: ubuntu linux 22.04LTS
3DSlicer version: 5.0.2 or 5.1.0
概要
3D Slicerは頻繁にアップデートを行っています. 現在5.1系であれば毎日新しいものが出ています(次のNightly build). そうするとよくExtensionを入れようとExtension Managerを開いてもExtensionが何も表示されないということがあります(特にLinux版で経験しています). そのような場合Extensionのファイルをダウンロードしてインストールすることが可能です. 今回その方法を記載していきます.
症状
3D Slicerを立ち上げExtensionをインストールしようとすると, 下のようにExtension Managerで一つもExtensionが表示されないことがあります. 通常であれば, 左側にextensionのカテゴリ分類のメニュー,右側にExtension のアイコンと名称が表示されるはずですが, 新しいバージョンを追っかけながらインストールしていると, このように何も表示されないことがまあまあの確率で起こります.
![](https://takemuralab.net/lab/wp-content/uploads/2022/10/Slicer_resent_extension-1024x600.png)
この場合, 右上検索の隣に, 「Install extension from file」と吹き出しが出るフォルダのアイコンがあると思います. 上の図では日本語化されて「ファイルからインストール」になっていますが同じ位置にあると思います. このようなExtensionが表示されない場合でも, これを使ってインストールできます.
準備
ファイルからExtensionを入れるので, インストールしたいExtensionのファイルが必要になります. ExtensionのファイルはKitwareのサイトからダウンロードすることになります. ダウンロード先はもちろんURL直打ちでもいけますが, 3DSlicerのバージョンによって異なりますので, 使用している3DSlicerのバージョンに合わせる必要があります(バージョンが異なっても動く可能性はあります).
Extensionのダウンロードサイトに行く方法ですが, 3DSlicerの設定画面から移動することができます. 3DSlicerのメニューの「Application Setting」を選択して下さい.
![](https://takemuralab.net/lab/wp-content/uploads/2022/10/Slicer_Settings_crop.png)
ついで出てきた設定画面で左側のカテゴリからExtensionsを選択し, 右側の「Open Extensions Catalog website…」をクリックしてください.
![](https://takemuralab.net/lab/wp-content/uploads/2022/10/Slicer_settings_module_line.png)
そうするとブラウザが立ち上がり, 通常のExtension Managerと同様の画面をした下のようなWebサイトが表示されると思います. 下の図ではカテゴリでUtilitiesを選んでいるところです. 右上に今回の例ではLinux を使っているのでLinuxとなっていますが, Windowsの場合はWindowsになっていると思います. 間違っていた場合でもここを切り替えることで正しいOS用のものを選ぶことができます.
また, もう一つ3DSlicerのExtension Managerを開いたときは各Extensionの下には「Install」というボタンが表示されていたと思いますが, ここはダウンロードサイトなので直接インストールはできません. そのためボタンが「Download」になっています.
ここから必要なExtensionのファイルをダウンロードしてください. またダウンロードされたファイルがどこにあるか把握しておいてください.
![](https://takemuralab.net/lab/wp-content/uploads/2022/10/Slicer_ExtensionSite-1024x563.png)
Install
インストールは3DSlicerのExtension Managerから行いますので, 3DSlicerにもどります. 最初に確認した「Install extension from file」のアイコンをクリックしてファイル選択ウィンドを出して先程」ダウンロードしたExtensionのファイルを指定します. 通常ダウンロードしたファイルは「ダウンロード」フォルダなどに入っていると思いますので探してみてください. またファイル名にextensionの名前が含まれています(逆に言うと他の番号などもついています)のでわかるかと思います.
Extensionのファイルは複数のファイルがまとめられた圧縮ファイルになっています. そのためファイルタイプの指定は各種圧縮ファイルになっています.
![](https://takemuralab.net/lab/wp-content/uploads/2022/10/Slicer_InstallExtensionfromfile.png)
以上で終了です.
3DSlicerによるmarkupsを用いたDIRの方法
OS: linux Kubuntu 22.04 LTS
3D Slicer v5.0.2
Extension: SlicerRT
ここでは3DSlicerとSlilcerRTのPlastimatchモジュールを用いて, いわゆるFiducial markerを用いたDIRの方法を説明します. 少し把握しきれていないパラメータもありますが, 実行はできると思いますので色々試してご確認ください.
準備
必要なのはもちろん3DSlicerです. またExtensionマネージャーからSlicerRTを入れておいてください. 私の使用したバージョンは5.0.2ですが, Stabelですでに5.0.3が出ています. 方法は変わらないと思いますし,さらに古い v4系でも一緒だと思います.
まず,画像の読み込みを行っておきます. 画像自体はおそらくあまり影響しないと思いますが, マーカーを設定するのに画像領域が必要ですので, 適当な画像をDIR-DBから読み込みました.
![](https://takemuralab.net/lab/wp-content/uploads/2022/09/marklist_prep-1024x596.png)
表示は点が取りやすいように4画面で上下2画面で1つのCTデータを表示しています.
対象点の設定
DIRの対象点のポイントリストを作成します. 作成にはMarkupsモジュールを使用します.
![](https://takemuralab.net/lab/wp-content/uploads/2022/09/markups_module.png)
Markupsモジュールは, 点や線, 領域など設定できますが今回は点を対象としたDIR(おそらく点でないとできないのではと思います)ですので, Point Listを選びます.
![](https://takemuralab.net/lab/wp-content/uploads/2022/09/markups_pointlist_crop.png)
ボタン下のNode一覧が示されているところに新しいPointListが現れますので名前をわかりやすく変更しておきます. DIRする上でReferenceとなるPointListとMovingのPointListが必要になりますので区別できる名前としてReference用としてPL_Refとしました. また, PointListを作成した時点ですでに1つ目の点を設定できるようになっています. 画像上にマウスカーソルを持っていくとピンクの点がカーソル先端に手でいると思います. 画像上にクリックすることで1つ目の点の位置が決定となります. その位置の座標値(RAS座標系)が下の部分に表示されます.
ちなみに, 下の画像ではクロスヘアラインを表示させて点を設定する位置を確認しています. クロスヘアラインを出すには上部アイコンの右から4番目のアイコンをクリックすれば出せます. クロスヘアラインはマウスには連動してません. キーボードのシフトを押しながらマウスを動かすとマウスに追随してくれます.
![](https://takemuralab.net/lab/wp-content/uploads/2022/09/markups_init-1024x600.png)
2点以上の点を設定するには, 画像上で右クリックして下図のようにメニューを出し「Place」を選択します. すると新たな点がマウスカーソル先端に出てきますので, 再度位置を確定させれば追加されます. 点の名前はPointListの名称の最後にハイフンと数字がついたものになります.
![](https://takemuralab.net/lab/wp-content/uploads/2022/09/markups_addpoints_crop-1024x779.png)
同様にmovingとなる点を設定します. reference, movingともに3点設定しました. movingのPointListの名称を点の位置を設定してから変更したのでF_1-1などになっています.
![](https://takemuralab.net/lab/wp-content/uploads/2022/09/markups_addpoints3-1024x600.png)
間違えた場合は, RAS座標が示された上にアイコンがあるので, それらで一つ消す, 全部消す, コピー&ペーストなど可能となります. RAS座標の数値を直接編集することも可能ですし, マウスで画像上のポイントドラッグして位置をずらすことも可能です. アイコンなどにマウスを持っていくとtool tipsが出るので参考にしてください.
注意として, referenceとmovingで指定した点の対応は, PointListの順番でなされるようです. つまり, referenceで1番目の点とmovingの1番目の点といった具合です(おそらく, 要確認).
LandmarkWarp
作成したMarkupsを用いてDIRを行います. 使用するのはSlicerRTに含まれているPlastimatchのLANDMARKWARP Landmark Deformable Registrationです. ModulesからPlastimatchの「LANDMARKWARP Landmark Deformable Registration」を選択してください.
![](https://takemuralab.net/lab/wp-content/uploads/2022/09/plastimatch_LANDWARP_crop-1024x848.png)
LANDMARKWARPの設定画面は比較的シンプルです. referenceとなるvolumeをFixed volumeに, movingとなるvolumeをMoving volumeに, さらにFixed Fiducialsに作成したreferenceのPointList, Moving fiducialsにmovingのPointlistを指定します. あとは出力画像としてOutput volume, DVFとしてOutput Vector field(vtkMRMLGridTransformNodeとなる)を指定する.
あと気にしなければならないのはNumber of ClustersがPointListの点(ペア)の数になっているかくらいです. Basis functionは補間の関数, その半径がRBF radius, Stiffnessは正規化の強度(重み付け)になりますので, 大きく変形するときは0.0に近い値にしておくほうがいいと思います. 0.1に下だけでだいぶ正規化が効くようになります.Default Pixel Valueの値はどう影響するのかわかりません.
設定が良ければ「Apply」ボタンを押して実行してください. ボタンの上に秒数が出るので計算されていることがわかると思います. Completedになると終了です. 私の環境ではこの設定で30秒程度かかりました.
![](https://takemuralab.net/lab/wp-content/uploads/2022/09/plastimatch_LANDWARP_execute_crop.png)
結果の確認
結果の確認は, 変形された画像(Output Volumeでしたいしたデータ)も表示されるので変形した画像はその場で確認できます.
DVFを確認したい場合は, Transformsモジュールを使って確認します. モジュール画面の一番上にあるActive Transformに先程出力させたDVFを指定します.
次にDisplayタブを展開しvisibility, visibility in slice view にチェックを入れます. それによってDVFがヒョじされます. 下図ではグリッドを選んでいますが, 矢印や等高線を選択できます.
変形のDVFを確認すると, PointListで設定した点周辺のみが変形されていることがわかると思います. つまり他のところは変形対象にはならないみたいです.
![](https://takemuralab.net/lab/wp-content/uploads/2022/09/Transform_mesh-1024x600.png)
上記の画像では, せっかく設定したPointListの点が変形前のままですので, moving用のpointlistをDVFにしたがって移動させ確認します. これはTransformsモジュールでそのままできます. Displayタブの下にあるApply transformタブを展開しTransformableにあるmovingのPointlist(PL_mov)を緑の矢印ボタンを使ってTransformedに移します. これで移動された点が表示されます. その位置で保存したければ緑の→下のメッシュが重なっているようなアイコンをクリックして確定させます.
![](https://takemuralab.net/lab/wp-content/uploads/2022/09/Transform_pointslist_crop.png)
変形された画像, DVFはすでにSlicerのsceneに含まれていますので, Sceneを保存すればファイルに保存されます.
ゲル線量計シンポinJSMP長崎
長崎で開催のJSMP大会でゲル線量計のシンポが企画されています.
https://jsmp124.com/program.html
JSMP長崎にご参加の方はぜひ会場までお越しください. 私も司会させていただいています.
9月2日 合同ゼミ
恒例の3大学合同ゼミです. 今年うちはオンラインで参加予定です.
Three-dimensional dosimetry of TomoTherapy by MRI-based polymer gel technique
Yoichi Watanabe, N. Gopishankar
Journal of Applied clinical Medical Physics, Vol. 12, no. 1, Winter 2011
DOI: 10.1120/jacmp.v12i1.3273Citations: 9
(日本語)
放射線治療において,線量計算や治療計画に使用するソフトウェアの検証は,正確な放射線照射を行うために非常に重要である.BANG3ポリマーゲル線量計と3T Magnetic Resonance Imaging(MRI)を用いて,トモセラピー治療計画および放射線照射の精度検証を行なった.前立腺治療1症例を評価し、計算された3次元線量分布は,最大線量(2.5Gy)よりはるかに小さい(25%以下)領域を除いて,測定された3次元線量分布と一致することが分かった。計画標的体積を含む12cm×11cm×9cmのボリュームに対してγIndex(3%/3mm)を用いた解析では,53%のボクセルでγIndexが1より小さいことが示された.この測定プロトコルと解析ツールは、強度変調回転放射線治療のような他の新しい 複雑な放射線照射技術の評価にも,低コストかつ容易に適用することが可能である。
Evaluation of setup and intrafraction motion for surface guided whole-breast cancer radiotherapy
Sandra Helene Hattel, Peter Andreas Andersen, Isak Hannes Wahlstedt,
Sidsel Damkjær, Arpit Saini, and Jakob Borup Thomsen
J Appl Clin Med Phys 2019; 20:6:39–44
DOI: 10.1002/acm2.12599
(日本語)
Surface Guided Radiotherapy (SGRT) は、患者の位置を合わせたり、治療中の患者の動きを監視したりするための比較的新しい技術である。SGRTでは患者体表面の位置を決定するために可視光を用いるため、完全に非侵襲である。SGRTの精度がイメージングと同等であれば、患者位置合わせのための毎回のイメージングを減らすことが可能である。SGRTでは、フラクション内の動きの監視及び、決められた許容値を超えた時に照射を止めることが可能で、より正確な照射をもたらす。この研究の目的は、SGRTとしてAlignRT(OSMS)を搭載し、ゲーティングでない乳房全体の放射線治療の際のセットアップとフラクション内の動きの監視の不確かさを調べることである。最初のセットアップにおいては、SGRTが患者に入れられた3点の刺青を用いる方法と直交X線画像が比較された。フラクション内の動きの調査では、治療中の患者を6軸で監視した。3点セットアップでは、アイソセンタからの二乗平均平方根誤差は5.4mmであった。OSMSを用いた手法では、これが4.2mmまで改善された。並進方向においては、OSMSはlateral方向で改善が見られたが(P=0.0009、Wilcoxonの符号順位和検定)、longitudinal方向と回転では、改善を示すことができなかった(それぞれP=0.96、P=0.46)。vertical方向においては、OSMSより3点セットアップの方がより正確であったと示された(P=0.000004)。フラクション内の動きにおいては、アイソセンタからの平行移動の中央値が1.1mmと非常に制限された。OSMSはレーザーと刺青のセットアップから注目すべき改善はみせたものの、骨構造を使用する直交X線画像に取って代わるほどの正確さは示さなかった。