Different "zoom" after reconstruction from Radon transform using Fourier Slice Theorem
MathWorks' image processing toolbox describes the Radon transform as the projection of the image intensity along a radial line oriented at a specific angle. Now, let the set of parallel lines spaced 1 px apart is drawn in a fixed direction (let it be vertical lines) and you rotate the image bounded by the square 128x128 units (in which the phantom slice is inscribed) and for each 1 degree of rotation take the projections of the image (let it be horizontal projection of rotated image), integrating the image intensity (optical density, luminosity, etc) along the parallel lines of your fixed line set. Your object under test, in all its rotation orientations, is bounded not by the 128x128 square, but by a circle of 128·sqrt(2) diameter. To make sure that no region of the source image is missing, the Radon transform is performed for the circle of 128·sqrt(2) diameter.
Now, you perform the reconstruction of all the Radon transform data. The meaningful data are located in the circle of 128·sqrt(2) diameter, not in the 128x128 square, and you inscribe the reconstructed image into in the 128x128 square as is seen in the lines
x = -N/2:1:N/2-1; [X, Y] = meshgrid(x, x); 
fhatcart = griddata(pX, pY, ghatpol, X, Y);  
frec = ifftshift(ifft2(fhatcart));

of your code.
As the result, the structures of the source image are zoomed out by ~1.414.
You can adjust the meshgrid
x = -N/2:1.41421:N/2-1;

and the other parameters accordingly, or zoom in the reconstructed image in other ways, if you need to keep a 100% zoom.