function [y x] = mosaic( image1, image2 )

% Convert to fourier domain
I1 = conj( fft2( image1 ) );
I2 = fft2( image2 );
I3 = (I1(:,:) .* I2(:,:)) ./ (abs(I1(:,:)) .* abs(I2(:,:)));

I3 = fftshift(I3);

% Multiply I3 by low pass...
[height width] = size(I3);
I3 = low_pass( height, width, 10, 3 ) .* I3;

I3 = ifftshift(I3);

% Go back to spacial domain.
I4 = ifft2( I3 );

% Find the peak...  This is fairly primitive, needs improvement.
[y x] = find(real(I4) == max(max(real(I4))));

end