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.