⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ch4_4_1.m

📁 映射和重建 产生测试图像并显示 另一程序 利用radon函数和iradon函数构造一个简单图像的投影并重建图像
💻 M
字号:
%映射和重建
%产生测试图像并显示
P = phantom(256);
imshow(P)

%计算投影数据
%设定几何关系为“线形”,分别给定光束数目为18,36和90。
theta1 = 0:10:170; 
[R1,xp] = radon(P,theta1); 
num_angles_R1 = size(R1,2)% num_angles_R1 = 18

theta2 = 0:5:175;
[R2,xp] = radon(P,theta2);
num_angles_R2 = size(R2,2)% num_angles_R1 = 36

theta3 = 0:2:178;  
[R3,xp] = radon(P,theta3); 
num_angles_R3 = size(R3,2) % num_angles_R1 = 90

%设定几何关系为“弧度”,分别给定光束密度为2弧度、1弧度以及0.25弧度。
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);

%显示投影数据
%几何关系为“线形”
figure, imagesc(theta3,xp,R3)
colormap(hot)
colorbar
xlabel('Parallel Rotation Angle - \theta (degrees)'); 
ylabel('Parallel Sensor Position - x\prime (pixels)');

%几何关系为“弧度”
figure, imagesc(fan_rot_angles3, sensor_pos3, F3)
colormap(hot); colorbar
xlabel('Fan Rotation Angle (degrees)')
ylabel('Fan Sensor Position (degrees)')

%重建图像
%几何关系为“线形”
dtheta1 = theta1(2) - theta1(1);
I1 = iradon(R1,dtheta1,output_size);
figure, imshow(I1)

dtheta2 = theta2(2) - theta2(1);
I2 = iradon(R2,dtheta2,output_size);
figure, imshow(I2)

dtheta3 = theta3(2) - theta3(1);
I3 = iradon(R3,dtheta3,output_size);
figure, imshow(I3)

%几何关系为“弧度”
output_size = max(size(P));
Ifan1 = ifanbeam(F1,D, 'FanSensorSpacing',dsensor1,…
          'OutputSize',output_size);
figure, imshow(Ifan1)

Ifan2 = ifanbeam(F2,D, 'FanSensorSpacing',dsensor2,…
          'OutputSize',output_size);
figure, imshow(Ifan2)

Ifan3 = ifanbeam(F3,D, 'FanSensorSpacing',dsensor3,…
          'OutputSize',output_size);
figure, imshow(Ifan3)
另一程序源码

%利用radon函数和iradon函数构造一个简单图像的投影并重建图像
%产生256个灰度等级的大脑图
P = phantom(256);
imshow(P)

%计算3个不同部分的大脑图的Radon变换
theta1 = 0:10:170;
[R1,xp] = radon(P,theta1);
theta2 = 0:5:175; 
[R2,xp] = radon(P,theta2);
theta3 = 0:2:178; 
[R3,xp] = radon(P,theta3);

%显示Shepp-Logan大脑幻影图的有90条投影光束的Radon变换图形
figure, imagesc(theta3,xp,R3); colormap(hot); colorbar
xlabel('\theta'); ylabel('x\prime');

%利用R1、R2和R3分别进行Shepp-Logan大脑幻影图的重构
I1 = iradon(R1,10);
I2 = iradon(R2,5);
I3 = iradon(R3,2);
imshow(I1)
figure, imshow(I2)
figure, imshow(I3)


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -