0

そこで、CT 画像のスタックを MRI 画像のスタックに登録しようとしたときに、itk-snap からこの変換行列を取得しました。

T =

2.0523   -0.0277    0.1518         0
0.0123    2.0405    0.3059         0
-0.1249   -0.2292    1.5095         0
270.7916  280.5018  148.7597    1.0000

今、Matlab で imwarp を使用して登録を実行したいのですが、このようなものです。

Tform = affine3d(T);
CT_stack_warp= imwarp(CT_stack,Rmoving,Tform,'OutputView',Rfixed);

しかし問題は、Matlab にピクセル サイズとスライスの厚さの情報を入力すると、T マトリックスで指定されているようにスケーリングまたは変換を行う必要がないことです。私の質問は、元の T を Matlab で使用することになっている TI に変換する方法です。

情報が必要な場合は、

Rmoving = 

プロパティを持つ imref3d:

       XWorldLimits: [0.2441 250.2441]
       YWorldLimits: [0.2441 250.2441]
       ZWorldLimits: [0.5000 185.5000]
          ImageSize: [512 512 185]
PixelExtentInWorldX: 0.4883
PixelExtentInWorldY: 0.4883
PixelExtentInWorldZ: 1
ImageExtentInWorldX: 250
ImageExtentInWorldY: 250
ImageExtentInWorldZ: 185
   XIntrinsicLimits: [0.5000 512.5000]
   YIntrinsicLimits: [0.5000 512.5000]
   ZIntrinsicLimits: [0.5000 185.5000]

Rfixed = 

プロパティを持つ imref3d:

       XWorldLimits: [0.4063 260.4063]
       YWorldLimits: [0.4063 260.4063]
       ZWorldLimits: [0.7500 192.7500]
          ImageSize: [320 320 128]
PixelExtentInWorldX: 0.8125
PixelExtentInWorldY: 0.8125
PixelExtentInWorldZ: 1.5000
ImageExtentInWorldX: 260
ImageExtentInWorldY: 260
ImageExtentInWorldZ: 192
   XIntrinsicLimits: [0.5000 320.5000]
   YIntrinsicLimits: [0.5000 320.5000]
   ZIntrinsicLimits: [0.5000 128.5000]

ありがとうございました!

4

1 に答える 1

0

world transformの現在の ITK インデックスと、その背後にある背景。医用画像で使用される座標系の追加説明。

Matlab で判断すると、画像を Matlab に読み込むときに無視されるWorldLimitsと思います。world originこれにより、ITK-SNAP (または他の適切に動作するソフトウェア) によって計算された変換行列が実質的に役に立たなくなります。

于 2016-11-30T14:06:35.450 に答える