主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

投影データからイメージを復元

この例では,iradonfanbeamおよびifanbeamを使用してサンプルイメージの投影を行い,投射からイメージを復元する方法を示します。iradonは,投影にパラレルビーム形状を使用するのに対し,fanbeamifanbeamはファンビーム形状を使用します。下記の例は,パラレルビームとファンビームの形状を比較するために,各形状に対する合成投影を作成します。次に,これらの合成投影を使用して元のイメージを復元します。

イメージの復元を必要とする現実世界での用途は,X線による吸収断層の撮影です。物理的な標本を通過する放射線の減衰を,さまざまな角度から測定することで投影が形成されます。元のイメージは標本の断面であり,ここでの強度は標本の密度を表すと考えることができます。映像は特殊な医療撮像装置で収集され,標本の内部イメージはiradonまたはifanbeamを使用して復元されます。

関数iradonは,パラレルビーム投影によりイメージを復元します。パラレルビーム形状では,各投影は,指定した角度でイメージを通った一連の線積分を組み合わせて形成されます。関数ifanbeamは,ファンビーム投影からイメージを復元します。ファンビーム投影には1つのエミッターと複数のセンサーがあります。

両方の形状を説明する図については,“图像处理工具箱™ユーザーガイド”を参照してください。

頭部ファントムの作成

テストイメージはShepp-Loganの頭部ファントムであり,関数幻影を使用して生成できます。ファントムイメージは,現実世界での人体頭部実際の断層を撮影したイメージで見られるさまざまな要素を示します。外側の明るい楕円の外殻は頭蓋骨と考えられ,内部の多くの楕円は脳の特徴または腫瘍と考えられます。

P =幻影(256);imshow (P)

图中包含一个坐标轴。轴包含一个image类型的对象。

パラレルビーム——合成投影の計算

パラレルビーム形状を使用して合成投影を計算し,投影角度をさまざまに変化させます。の各呼び出しでは,配列が出力され,各列はいずれかの角度で対応するθのラドン変換になります。

θ₁= 0:10:170;(R1 ~) =氡(P,θ₁);num_angles_R1 =大小(R1, 2)
num_angles_R1 = 18
θ= 0:5:175;(R2, ~) =氡(P,θ);num_angles_R2 =大小(R2, 2)
num_angles_R2 = 36
1 = 0:2:178;(R3, xp) =氡(P, 1);num_angles_R3 =大小(R3, 2)
num_angles_R3 = 90

各角度で,投影はxp軸沿いのNポイントで計算されます。Nは,可能なすべての投影角度で各ピクセルが投影されるように,イメージの対角距離に基づく定数です。

N_R1 =大小(R1, 1)
N_R1 = 367
N_R2 =大小(R2, 1)
N_R2 = 367
N_R3 =大小(R3, 1)
N_R3 = 367

そのため,小さな頭部ファントムを使用する場合は,xp軸のポイントを少なくして計算する必要があります。

P_128 =幻影(128);[R_128, xp_128] =氡(P_128,θ₁);N_128 =大小(R_128, 1)
N_128 = 185

投影データR3を表示します。元のファントムイメージの一部の特徴がR3のイメージで見られます。R3の最初の列は0度での投影に対応し,垂直方向に積分します。真ん中の列は90度での投影に対応し,水平方向に積分します。90度での投影は,ファントムの最も外側の楕円の垂直半軸が長いため,0度での投影に比べてプロファイルの幅が広くなります。

imagesc(theta3,xp,R3) colormap(hot) colorbar xlabel('平行旋转角度-(°)');ylabel ('Parallel Sensor Position - x\prime (pixels)');

图中包含一个坐标轴。轴包含一个image类型的对象。

パラレルビーム——投影データから頭部ファントムを復元

各復元のパラレル回転のインクリメントdthetaを上記合成投影で使用したインクリメントと一致させます。実際には,トランスミッターとセンサーの形状はわかりますが,ソースイメージPの形状はわかりません。

3次のつの復元(I1I2,およびI3)では,投影を行う角度を変えたときの影響を示します。I1I2では,元のファントムで見られた特徴が不明瞭です。特に,各イメージの底部にある3つの楕円を見てください。I3の結果は,元のイメージPによく似ています。

I1I2にはかなり不自然な結果が含まれていることに注意してください。これらの不自然な影響を回避するには,角度のステップを増やします。

将每个重构的输出大小约束为与%原始图像大小,|P|. %output_size = max(大小(P));dta1 = (2) - (1);I1 = iradon (R1 dtheta1 output_size);Dtheta2 = theta2(2) - theta2(1)I2 = iradon (R2, dtheta2 output_size);Dtheta3 = theta3(2) - theta3(1);I3 = iradon (R3, dtheta3 output_size);图蒙太奇({I1、I2 I3},“大小”3[1])标题(用18、24和90投影角度的平行光束投影重建

图中包含一个坐标轴。以18、24、90投影角的平行光束投影重建为标题的轴包含图像类型的对象。

ファンビーム——合成投影の計算

ファンビーム形状を使用して合成投影を計算し,‘FanSensorSpacingをさまざまに変えます。

D = 250;dsensor1 = 2;F1 = fanbeam (P D“FanSensorSpacing”, dsensor1);dsensor2 = 1;F2 = fanbeam (P D“FanSensorSpacing”, dsensor2);dsensor3 = 0.25;[F3, sensor_pos3, fan_rot_angles3] = fanbeam(P,D,...“FanSensorSpacing”, dsensor3);

投影データF3を表示します。ファン回転角の範囲は0 ~ 360度で,同じ特徴が両側からサンプリングされているため,180度のオフセットの位置で同じパターンが得られます。このファンビーム投影イメージの特徴を上記のパラレルビーム投影イメージの同じ特徴と相互に関連付けることができます。

imagesc(fan_rot_angles3, sensor_pos3, F3) colormap(hot) colorbar xlabel(“风扇旋转角度(度)”) ylabel (“风扇传感器位置(度)”

图中包含一个坐标轴。轴包含一个image类型的对象。

ファンビーム——投影データから頭部ファントムを復元

各復元のファンとセンサーの間隔を,合成投影の作成時に使用した間隔と一致させます。実際には,トランスミッターとセンサーの形状はわかりますが,ソースイメージPの形状はわかりません。

“FanSensorSpacing”の値を変えると,各回転角で使用するセンサーの数が変更されます。これらのファンビーム復元では,同じ回転角を使用します。これは,その都度異なる回転角を使用するパラレルビーム復元とは対照的です。

FanSensorSpacingは,fanbeamifanbeamを使用するときに制御できる複数のパラメーターの中の1つにすぎないことに注意してください。また,関数fan2parapara2fanを使用して,パラレルビーム投影データとファンビーム投影データを切り替えることもできます。

Ifan1 = ifanbeam (F1, D,“FanSensorSpacing”dsensor1,“OutputSize”, output_size);Ifan2 = ifanbeam (F2 D“FanSensorSpacing”dsensor2,“OutputSize”, output_size);Ifan3 = ifanbeam (F3, D,“FanSensorSpacing”dsensor3,“OutputSize”, output_size);图蒙太奇({Ifan1、Ifan2 Ifan3},“大小”3[1])标题(“用18、24和90投影角度的扇形光束投影重建”

图中包含一个坐标轴。标题为“从扇形光束投影重建”的轴具有18、24和90投影角,包含一个类型为图像的对象。