Cơ bản về xử lý ảnh số
169
‘FanRotationIncrement’
và giá trị gia số mới. Ngoài ra có thể thay đổi các thông số
khác bằng cách cung cấp các cặp (param1/val1) cho hàm fanbeam và ifanbeam.
Ví dụ 11-12. Ứng dụng phép biến đổi Fan-beam: khôi phục ảnh từ các dữ liệu hình chiếu:
P = phantom(256); % Tạo ảnh phantom
imshow(P)
%
Hiển thị ảnh gốc
D = 250;
% Khoảng cách từ nguồn đến tâm của ảnh
dsensor1 = 2;
% Xây dựng tập dữ liệu hình chiếu trong 3 trường hợp
F1 = fanbeam(P,D,'FanSensorSpacing',dsensor1); % ... tuỳ khoảng cách giữa
dsensor2 = 1;
% ... hai điểm cuối tia liên tiếp là 2,1 hoặc 0.25
F2 = fanbeam(P,D,'FanSensorSpacing',dsensor2);
dsensor3 = 0.25
[F3, sensor_pos3, fan_rot_angles3] = fanbeam(P,D,...
'FanSensorSpacing',dsensor3);
figure, imagesc(fan_rot_angles3, sensor_pos3, F3)% Hiển thị biến đổi fan-
beam
colormap(hot); colorbar
xlabel('Fan Rotation Angle (degrees)')
ylabel('Fan Sensor Position (degrees)')
output_size = max(size(P));
Ifan1 = ifanbeam(F1,D,
% Khôi phục ảnh từ các tập dữ liệu hình chiếu
'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)