recover image by only magnitude of image fourier transform I have a image and I want calculate fft2 of it, after it I want recover image only by magnitude of it. how can I achieve this work?

I=imread('1.bmp');
I = rgb2gray(I);
imafft = fft2(double(I));

 % Gets magnitude and phase.
 mag = abs(imafft);

 % Generates the modified spectrum
 newfft = mag.*exp(0*angle(imafft));
 ima_out = ifft2(newfft);
 imshow(abs(ima_out));


this is return me white page.
Check out this classic example from Oppenheim, A. V., &amp; Lim, J. S. (1981). "The importance of phase in signals". a) and b) are the original images, c) is the image created using the phase of a) with the magnitude of b), d) is the image created using the phase of b) and the magnitude of a). Phase carries most of the information in an image.