採用distance driven投影模型
mode 1: 左乘得圖像向量
% 參數設置
para.ht_orig = 0; %切片初始高度,即第一(下層)切片與探測器的間距,單位是切片個數。
para.pv_ind = 14; %投影角序號,如1、3、14等。
para.nvx = 1080; %x軸方向體素個數1080
para.nvy = 2304; %y軸方向體素個數2304
para.nvz = 1; %z軸方向體素個數
% mode = 1; % 右乘
% img_mat = ones(para.nvx*para.nvy*para.nvz,1);
mode = 2; % 左乘
img_mat = ones(1,2580480);
[sps_sys_mat,myproj_vectori] = voxel_based_ddp2_fun2(img_mat,para,mode);
利用系統矩陣進行驗證
>> vector2 = ones(1,2580480);
>> rslt2 = vector2*sps_sys_mat;
>> isequal(rslt2,myproj_vectori)
ans =
1
說明正確!
mode2: 右乘得投影向量
>> vector1 = ones(2488320,1);
>> rslt1 = sps_sys_mat*vector1;
>> isequal(rslt1,myproj_vectori)
ans =
0
結果不一致,但差異非常小。
>> sub=abs(rslt1-myproj_vectori);
>> max(sub)
ans =
7.1054e-15
>> min(sub)
ans =
0
這種差異,我實在不知道是怎麼造成的。