imfill does not work because it thinks that your image is like this:
Actually this algorithm is not as smart as you are, and it doesn't know, that it's a retina image an it should be circular. So if you just want to fill the area for this image, you can write this:
 img = imread('mm.png');     
 img2 = false(size(img)+2);
 img2(2:end-1,2:end-1)=img;  
                             
 img2(1,:)=true;   
 img2(end,:)=true; 
 img3 = imfill(img2,'holes'); 
 outputImage = img3(2:end-1,2:end-1); 
 imshow(outputImage)
so img2 will be considered something like this:
---
and the output image is like this:
---
But it only works for this image or images like this, I just wanted to show you what the problem is.