From: Erik R. Valdes-Estrada on
A appreciate your interest, but time-delay doesn't seem to be the explanation, run the following code, is clear that the shifted and missed pixels are not due to a rounding error but to a rule inconsistency on the RT translation, Mathworks must be consistent in using the inverse rule exactly, and by the way, it's not that hard.

-Regards
Erik R. Valdés-Estrada.

%***************************************************
%Matlab's Radon-iRadon bijeciton test
%Por E.R. Valdés-Estrada, 16-julio-2010, Ensenada, Baja California, México

clc, clf; clear; %clearing memory
theta = 0:180; %angles to shoot

figure('Name',' radon-iradon bijection test by E.V. ');
for L=4:2:128 %testing bijection issue for images of size from L=4 to L=128 (any size would do), this issue is obeserved only when L is pair.

AAA=zeros(L,L,3); %array for pouring image values in different colors

I=zeros(L); %original empty image

I(1,1)=1; I(L,L)=1; %I(1,L)=1; I(L,1)=1; %filling image with pixel markers


subplot(2,4,1)
AAA(:,:,2)=I; %since matlab's "image" uses RGB, we assign the original image to green domain
image(AAA);
title('Original'); axis off;
AAA(:,:,:)=0;

subplot(2,4,2)
[R,xp] = radon(I,theta); %R=usual Radon Transform of A, xp vector of relative position
imagesc(theta,xp,R); %Displaying the RT(A), a.k.a. Sinogram of image A
title('Radon Transform (RT)'); axis off;

subplot(2,4,3)
IR = abs( iradon(R,theta,'spline','Ram-Lak',L) ); %Applying inverse R.T. to sinogram
IR=IR/max(max(IR));
AAA(:,:,1)=abs(IR); %image only supports positive values
image(AAA);
title('Inverse RT'); axis off;
AAA(:,:,:)=0;

subplot(2,4,4)
AAA(:,:,2)=I; %Original in green
AAA(:,:,1)=abs(IR);%_discret); %Reconstructed in Red
image(AAA); %BIJECITON NOT MEET when -> intense RED & GREEN
title('Bijection FAIL or ABSENT');
ylabel('non-matching pixels -> green & red ')
%axis off;
AAA(:,:,:)=0;

subplot(2,4,6)% NEXT, since the RT a.k.a. sinogram is supposed to 'tell the correct position of each projection' to the inverse radon transform, we are doing this manually (at least mainly for the fisrt part of the 180 rotation).
y=size(R,1); x=size(R,2); %creation of new sinogram template
Rfix=zeros(y+1,x);
Rfix(2:y+1,:)=R(:,:); %Displacement of the x distance of the projections
imagesc(Rfix);
title('manually fixed RT'); axis off;

subplot(2,4,7)
IRfix = abs( iradon(Rfix,theta,'spline','Ram-Lak',L) ); %Applying inverse R.T. to sinogram
IRfix=IRfix/max(max(IRfix)); %normalizing to enhace image
AAA(:,:,1)=abs(IRfix);
image(AAA);
title('Inverse mfRT'); axis off;
AAA(:,:,:)=0;

subplot(2,4,8)
AAA(:,:,2)=I; %Original in green
AAA(:,:,1)=abs(IRfix);%_discret); %Reconstructed in Red
image(AAA); %BIJECITON NOT MEET when -> intense RED & GREEN
title('Bijection Improvement');
ylabel('pixel fusion -> YELLOW')
%axis off;
AAA(:,:,:)=0;

pause(160/L^2);

'we can observe that when the dimension of A is a multiple of 2(pair)information is misplaced and/or lost'

end