第10回中部放射線医療技術学術大会での2演題が優秀賞となりました.

昨年秋に第10回中部放射線医療技術学術大会(CCRT)で学生が発表した演題2つが優秀賞となりました.

山本 大晃「ロイコクリスタルバイオレットを用いた色素ゲル線量計の特性評価」
街道 亮斗「Deformable Image Registration技術評価用データベース(DIR-DB)の開発」

DIR-DBは下のURLから
https://takemuralab.net/dirdb2/

ImageJ pluginを一部公開しました.

以前サイトで公開していたImageJのpluginです.
サイト更新に伴い非公開にしておりましたが, 使っている人もいると聞きましたので非公開にする意味がないものは公開しました.
ただし, 以前のものからアップデート等は何もしておりません.
また, 公開しているpluginを使って何らか損害を被ったとしても責任は負えませんのでご注意ください.

B-Spline FFD with Plastimatch

Plastimatchを用いると, DIRが可能です. ただしコマンドラインでの実行になります.

DIRは細かなパラメータがたくさんありますので, コマンドラインでの指定はなかなか大変なためか, Platimatchも, いちいちすべてのパラメータをコマンドラインで入力しなくていいように, コマンドファイル(command_file.txt)を作成し, そこにパラメータは記載し下のように実行します.

“>plastimatch registrer command_file.txt”

plastimatch: コマンド

register: 第1パラメータ, させたい処理を指定. 他に”add”, “compare”, “segment”, “threshold”などなど一般的な画像処理用のパラメータもあるようです.

command_file.txt: うえで述べた(今回だと)DIRの処理のパラメータを記載したファイル. 名前に .txtと付いているところで分かるように, テキスト形式のファイルです. command_fileのところは, 間違わなければ何でも構いません.

B-splineでDIRさせる際には, Demonsと比べ割と簡単なパラメータ設定で可能なようです. 下がcommand_file.txtの中身です. とは言っても, これはPlastimatchのサイトのドキュメントにあるサンプルそのままです.

 

# command_file.txt
[GLOBAL]
fixed=deojohn250.mha       #基準画像のファイル
moving=deojohn165.mha   #変形される画像ファイル
img_out=deojohn_bspline_warped.mha  #変形後の画像を出力するさいのファイル名
xform_out=deojohn_bspline_coefficients.mha  #今回の結果を元に再度実行する際にxform_inにこのファイルを指定することで, 今回の結果を修正するように実行できる.
vf_out=deojohn_bslpine_vf.mha  #Deformatin vectorのデータ

[STAGE] #粗い解像度から始めて3段階(3Stage)でDIRする設定.そのため[Stage]の設定が3つある. 下に行くほど細かく解像度も上げている.
xform=bspline  #B-splineの指定
impl=plastimatch  #ITKの実装(itkと指定)とplastimatchの実装が使えます.
threading=openmp #マルチコアなCPUを使う際に指定.
max_its=30  #最大繰り返し回数
regularization_lambda=0.005  #正規化の重み係数
grid_spac=100 100 100  #FFDのコントロールポイントのグリッド配置(各軸100 pix ごと)
res=4 4 2 #解像度を x,y,z 軸それぞれ 4 pix, 4 pix, 2 pixをまとめ1 pixにする.

[STAGE]
max_its=30
grid_spac=80 80 80
res=2 2 1

[STAGE]
max_its=30
grid_spac=60 60 60
res=1 1 1

入力ファイル, 出力ファイルともに3DSlicerでサポートされている mha形式にしました. DICOM形式の画像はそのままでは指定できませんので, 3D Slicerなどで読み込んだあとmha形式で保存して使うのがいいかもしれません.

 

 

 

2017年 合同ゼミ 予定

今年の合同ゼミは藤田保健衛生大学で行います. もし卒業生, 社会人院生で参加したい人は連絡してください.

H29年度三大学合同ゼミ@藤田
日程 :9月13日(水) 10:30開始予定
会場 :藤田保健衛生大学

PlastimatchのFDKのフィルター

PlastimatchのFDKコマンドで再構成フィルタとしてrampフィルターが指定できる. ただし, rampフィルターのみ. そのため, どこでフィルタされているか,また別なフィルタを使いたい場合にどこを修正すればいいかコードを確認した.

まず, plastimatchはCUDAが使えるので, CUDA用コードとCUDAなし用コードがある. CUDA用コードは関数名の頭にCUDA_  が付くいて後は同じ名前になっている.

Githubなどからソースは取得済みである前提で.

FDKのソース: plastimatch/reconstruct/fdk.cxx

この中の reconstruct_conebeam(…) でFDK再構成をしている.  また更にこの中で,

proj_image_filter(…) を呼びここで投影像にフィルターを掛けている.

proj_image_filter()は proj_image_filter.cxxで記述されている.

 

Proj_imaeg_filterのソース: plastimatch/util/proj_image_filter.cxx

proj_image_filter()は単にramp_filter()へデータを渡すだけのラッパー.

将来的にここでフィルターの切り替えを考えているのかも.

 

ramp_filterのソース: plastimatch/util/ramp_filter.cxx

ここでramp_filterを実装している. とりあえず, このコードをいじってComplieすれば /ramp指定で書いたフィルタになる.

北陸がんプロセミナー PHITS講習会

受付終了いたしました! 多くの参加登録ありがとうございました. 

今年もがんプロセミナーとしてPHITS講習会を行います.

過去2回, 入門編をお願いしておりましたが, 今回は少し臨床的な内容を加えていただきました. 2日目午後にはDICOM形式のCT画像を扱った簡単な線量分布計算を組み込んでおります.

日程  2017年 2月11日(土), 12日(日)

場所  金沢大学 医薬保健学域保健学類 4号館 1階  4111講義室

 

既に申込みは開始されており, 定員まであと僅かになっています. 参加希望される方はお急ぎください.

申込みはPHITS事務局WEBサイトから.

http://phits.jaea.go.jp/Schej.html

 

Plastimatch

コマンドラインで使用するレジストレーションソフトがあります.DIRも可能.  Win, Mac, Linax対応.

http://plastimatch.org/

主にRigid/Deformable レジストレーション処理や, 画像合成や抽出, セグメンテーションも可能です. DICE係数を求める処理もあります. その他, フェルドカンプ法による画像再構成やDigitally reconstructed radiograph 作成もできます. DIRに関しては, ITKのライブラリを用いた処理も可能です.

コマンドライン ソフトであるため慣れていない人には戸惑うことになるのではと思います.  nVidia ボードがささったPCであればCUDAを用いた処理も可能です.

少し使い方

DICOM形式サポートを書かれていますが, ボリュームデータとしては(多分) そのままは扱えないため, ITKで使われる形式(nrrd, mha etc…)などに変換して使うことになります. 変換の仕方は

#plastimatch convert --input dicom-in-dir --output-img outfile.nrrd

dicom-in-dir: DICOM形式のボリュームデータがあるフォルダ

outfile.nrrd: 出力ファイル名. 拡張子で出力ファイル形式を指定.  mhaかnrrdがPlastimatchでは標準のよう.

 

レジストレーション

rigidにしろdeformableにしても registrationはコマンドファイル(処理の設定ファイル)を作る必要があります. コマンドファイル(command_file.txt) を作成したら, plastimatchでのコマンドは単純に下のようになります.

#plastimatch register command_file.txt

command_file.txtの中身が重要で, 色々指定できますが単純には下のようになります. この例はrigid registrationの例.

# command_file.txt
[GLOBAL]
fixed=image_1.mha
moving=image_2.mha
img_out=warped_2.mha

[STAGE]
xform=rigid
optim=versor
max_its=30
res=4 4 2

 

#以降はコメントのようです. fixedで指定されているのが合わせられる画像(参照画像), movingが移動/変形される画像.

img_outが変更後の出力画像. 変形方法にrigidが指定されているので6軸(3軸平行移動, 3軸回転)の変換となります.

optimが最適化の方法を指定するようでうが, 幾つか指定できる種類はあるのですがversorがどのような最適化かは詳しく書かれていません.

max_itsは最適化の最大繰り返し回数, resはおそらく変形を計算する際の解像度だと思います.

 

コマンドラインとしてはちょっと使いづらいという人は3Dslicer というソフトを用いると, 少しだけplastimatchが使いやすくなるようです. 3DSlicerではPlastimatchと連携してレジストレーション処理ができるようです. ただ, コマンドファイルを作らないといけないのは変わらないようです. (処理も大分遅いかも)