2017-10-11 13 views
0

私は最近matlabからPythonに移動したので、simpleitkを使うことができます。simpleitkの使い方逆変位フィールドを取得する

シンプリティックを使ってデーモンを登録した後、変換txがあります。私はそれは* 176 256 * 256の画像ボリューム--- disp_fieldは私が必要とする正確に何である判明

disp_field = tx.GetDisplacementField() 
disp_field_inv = tx.GetInverseDisplacementField() 

、次の作業を実行して、変位場とその逆を取得したいです。しかし、disp_field_invは空の配列です。なぜ誰が知っていますか?

は、それから私は、

disp_field_inv = sitk.InverseDisplacementField(disp_field,disp_field.GetSize(),disp_field.GetOrigin(),disp_field.GetSpacing(), 
              subsamplingFactor=16) 

を以下のように試みたが、Pythonはちょうど永遠のように実行されています。誰もそれを正しく行う方法を知っていますか?

答えて

0

次は、だから私はあなたが5にパラメータ2として

disp_field.GetSize(),disp_field.GetOrigin(),disp_field.GetSpacing(), subsamplingFactor=16 

を渡すことによって、あなたはどのようなインターフェースではなく渡していることだと思います

Image itk::simple::InvertDisplacementField (const Image & image1, 
     uint32_t maximumNumberOfIterations = 10u, 
     double  maxErrorToleranceThreshold = 0.1, 
     double  meanErrorToleranceThreshold = 0.001, 
     bool enforceBoundaryCondition = true) 

InvertDisplacementField手続きインタフェースを実行するための仕様です期待されています?

はちょうどdisp_field_inv = sitk.InverseDisplacementField(disp_field)

を実行してみてください、それが結果に反復するかどうかを確認します!

+0

ご返信ありがとうございます。前にsitk.InverseDisplacementField(disp_field)を試してみましたが、収束しませんでした。 –

+0

sitk.InverseDisplacementField(disp_field、1)を試しましたか?つまり、10回ではなく1回の反復でそれを実行しましたか? –

関連する問題