SimpleITK は使いやすい Python インターフェイスを提供します。そこからクラスを延長できますか?
登録の問題を解決する必要があります。そのためには、カスタマイズした登録クラス、特に類似性メトリックを作成する必要があります。Python で SimpleITK を拡張して使用するにはどうすればよいですか?
SimpleITK は使いやすい Python インターフェイスを提供します。そこからクラスを延長できますか?
登録の問題を解決する必要があります。そのためには、カスタマイズした登録クラス、特に類似性メトリックを作成する必要があります。Python で SimpleITK を拡張して使用するにはどうすればよいですか?
SimpleElastixパッケージは、標準の SimpleITK メソッドに加えて、elastix 登録ライブラリを含む SimpleITK の拡張です。メトリクスを elastix で記述し、SimpleElastix を使用してメトリクスを Python (または SimpleITK でサポートされている他の言語) でラップできます。次に、SimpleElastix を使用して登録を実行します。SimpleElastix でメトリックを使用するには:
import SimpleITK as sitk
SimpleElastix = sitk.SimpleElastix()
SimpleElastix.SetParameter("Metric", "NameOfYourMetric")
SimpleElastix.SetFixedImage(sitk.ReadImage("fixedImage.nii"))
SimpleElastix.SetMovingImage(sitk.ReadImage("movingImage.nii"))
resultImage = SimpleElastix.Execute()
Elastix 自体は ITK の v3 登録ライブラリの拡張機能であるため、ITK に慣れている場合は、elastix コードベースに違和感を覚えることはありません。src/Components/Metricsディレクトリの例を見ると、メトリクスがどのように実装されているかがわかります。たとえば、AdvancedMeanSqaures メトリックを見てください。基本的に、メトリクスを実装するには、 で始まるファイル内のGetValue()
および関数を変更するだけで済みます。次に、接頭辞が付いたファイルを変更する必要がありますGetValueAndDerivative()
itk
elx
パラメーター マップと CMakeLists ファイルを介してメトリックにパラメーターを渡し、メトリックをビルド システムに登録する場合。パラメータ マップは、メトリクスを含む登録コンポーネントを構成できるキーと値のペアです。パラメータ マップの詳細については、SimpleElastix のドキュメントまたはelastix のマニュアルを参照してください。
メトリクスを SimpleElastix でラップするには、リポジトリを複製し、 SimpleElastix を手動でビルドする方法のガイドに従ってELASTIX_DIR
ください。ただし、変更したバージョンの elastix に設定する必要はありません。elastix ビルド システムはメトリックを elastix でラップする処理を行い、SimpleElastix ビルド システムは Python で elastix をラップする処理を行います。
免責事項: 私は SimpleElastix の作成者です。