资源简介
本程序主要对SIRT算法进行Matlab实现,共包含三个m文件。运行时,首先执行GenerateSIRTSystemMatrix.m生成系统矩阵A。然后,每需要重建一副图像时运行一次SIRTOnce.m或SIRTOnceSTD.m。其中,SIRTOnce.m对应了固定步长的SIRT算法,SIRTOnceSTD.m为采用最速下降原理对迭代步长进行优化以后的SIRT算法,并采用FBP算法进行对比重建。
代码片段和文件信息
%本程序用于生成系统矩阵A
clc
clear
N=100;%图像大小 N*N
Ma=12;%扫描角度数(01530,...,165度)
Md=ceil(N/sqrt(2))*2;
NS=N*N;
MS=Ma*Md;
Ang=linspace(0180-180/MaMa)*pi/180;
Dis=-Md/2:Md/2; %扫描间距为1
X_Vector=-N/2:N/2;
X_Vector1=ones(1N+1);
XMap=X_Vector‘*X_Vector1;
XMap=XMap‘;
YMap=-XMap‘;
tic
RMap=zeros(MaN+1N+1);
for Ai=1:Ma %射线角度
RMap(Ai::)=cos(Ang(Ai)).*XMap+sin(Ang(Ai)).*YMap;
end
A=zeros(NSMS); %系统矩阵
for Ni=1:N%像素行
for Nj=1:N %像素列
for Ai=1:Ma %射线角度
DisPix=[RMap(AiNiNj) RMap(AiNi+1Nj) RMap(AiNiNj+1) RMap(AiNi+1Nj+1)];
DisPixMax=max(DisPix);
DisPixMin=min(DisPix);
DisInd=find((Dis<=DisPixMax) &(Dis>DisPixMin));
if ~isempty(DisInd)
PixInd=(Ni-1)*N+Nj;
for DisIndi=1:length(DisInd)
ProInd=(Ai-1)*Md+DisInd(DisIndi);
DisPixDiff=DisPix-Dis(DisInd(DisIndi));
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2015-01-19 17:57 上传\
文件 18238 2014-09-05 20:07 上传\FBP.bmp
文件 2198 2015-01-19 17:56 上传\GenerateSIRTSystemMatrix.m
文件 1540 2015-01-19 17:57 上传\SIRTOnce.m
文件 1678 2015-01-19 17:54 上传\SIRTOnceSTD.m
文件 17462 2014-09-05 19:58 上传\SITR100.bmp
文件 11078 2014-09-08 19:38 上传\原始SP.bmp
相关资源
- Pattern Recognition and Machine Learning(高清
- MATLAB 编程 第二版 Stephen J. Chapman 著
- 均值滤波和FFT频谱分析Matlab代码
- 《MATLAB扩展编程》代码
- HDB3码、AMI码的MATLAB实现
- 3点GPS定位MATLAB仿真
- MATLAB数字信号处理85个实用案例精讲入
- matlab从入门到精通pdf94795
- 欧拉放大论文及matlab代码
- 跳一跳辅助_matlab版本
- 全面详解LTE MATLAB建模、仿真与实现
- MIMO-OFDM无线通信技术及MATLAB实现_孙锴
- MATLAB Programming for Engineers 4th - Chapman
- matlab 各种谱分析对比
- 分数阶chen混沌matlab程序
- 基于粒子群算法的非合作博弈的matl
- MATLAB车流仿真 包括跟驰、延误
- matlab空间桁架计算程序
- 基于MATLAB的图像特征点匹配和筛选
- DMA-TVP-FAVAR
- GPS信号的码捕获matlab代码.7z
- 一维光子晶体MATLAB仿真代码吸收率折
- newmark法源程序
- 传统关联成像、计算鬼成像matlab
- pri传统分选算法
- 摆动滚子推杆盘形凸轮设计
- 医学图像重建作业matlab源码
- Matlab实现混沌系统的控制
- 检测疲劳驾驶
- Matlab锁相环仿真-Phase Locked Loop.rar
评论
共有 条评论