采用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
这种差异,我实在不知道是怎么造成的。