CERN/TIGRE

Serious bug on parallel beam projections

Open

#334 opened on Oct 8, 2021

View on GitHub
 (4 comments) (0 reactions) (0 assignees)MATLAB (248 forks)batch import
CUDAbughelp wanted

Repository metrics

Stars
 (771 stars)
PR merge metrics
 (Avg merge 1h 23m) (1 merged PR in 30d)

Description

Actual Behavior

Stripe artefacts appear in the recon

untitled

I suspect it is some numerical issue. I recommend using a large DSD/DSO for now, or slightly offseting your angles.

Code to reproduce the problem (If applicable)

% VARIABLE                                   DESCRIPTION                    UNITS
%-------------------------------------------------------------------------------------
% Distances
% This works:
geo.DSD = 2000;                              % Distance Source Detector      (mm)
geo.DSO = 1800;                               % Distance Source Origin        (mm)
% This generate striped images:
geo.DSD = 700;                              % Distance Source Detector      (mm)
geo.DSO = 500; 

geo.nDetector=[640;200];					% number of pixels     400,60         (px)
geo.dDetector=[0.25; 0.25]; 					% size of each pixel            (mm)
geo.sDetector=geo.nDetector.*geo.dDetector; % total size of the detector    (mm)

geo.nVoxel=[640;640;200];                   % number of voxels    400,400,60          (vx)
geo.sVoxel=[160;160;50];                      % total size of the image       (mm)
geo.dVoxel=geo.sVoxel./geo.nVoxel;          % size of each voxel            (mm)

geo.mode='parallel';                        % 'cone' or 'parallel'. Geometry type.


head=headPhantom(geo.nVoxel); 
angles = [0:2:358]*pi/180;

% The following also removes the stripes
% angles=angles+0.01;

proj=Ax(head,geo,angles);

img=OS_SART(proj,geo,angles,1);
plotImg(img,'dim',3)

Contributor guide