📄 em_fbp.m
字号:
function [xfbp, sino] = em_fbp(sg, ig, yi, ci, ri, varargin)%function [xfbp, sino] = em_fbp(sg, ig, yi, ci, ri, [options])% Emission FBP reconstruction from Poisson measurements% model: Y_i ~ Poisson(c_i [G x]_i + r_i)% in% sg sino_geom()% ig image_geom()% yi transmission sinogram% ci calibration factors% ri background (randoms, scatter, crosstalk, etc)% ci,ri: optional (can use empty matrices)% yi,ci,ri must have identical dimensions% option% 'kernel' apodization filter kernel (default: [1/3 1/3 1/3])% out% x [np] image estimate% sino [nb,na] filtered sinogram%% Copyright Apr 2000, Jeff Fessler, The University of Michiganif nargin < 3, help(mfilename), error(mfilename), endif ~isvar('ci') | isempty(ci) ci = sg.ones;endif ~isvar('ri') | isempty(ri) ri = sg.zeros;endarg.kernel = ones(3,1)/3;arg = vararg_pair(arg, varargin);eml_check(yi, ci, ri, 'fbp');[nb na nz] = size(yi);tmp = fbp2(sg, ig);xfbp = ig.zeros('nz', nz);for iz=1:nz proj = (yi(:,:,iz) - ri(:,:,iz)) ./ ci(:,:,iz); if any(size(arg.kernel) ~= 1) proj = conv2(proj, arg.kernel, 'same'); % filter end xfbp(:,:,iz) = fbp2(proj, tmp); xfbp(:,:,iz) = xfbp(:,:,iz) .* ig.mask;end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -