コマンドラインで使用するレジストレーションソフトがあります.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と連携してレジストレーション処理ができるようです. ただ, コマンドファイルを作らないといけないのは変わらないようです. (処理も大分遅いかも)