Image processing is not an area of my expertise (at least to the extent of responding on Answers, although I have posted a few relatively straightforward solutions), so my approach would again to extract selected contours. Selecting a low contour level (perhaps 250 or so), and then selecting the largest contours would be my approach.
and using this matrix with my previous code produced:
The contours are discontinuous higher than that, and much less regular lower than that.
That is the best I can do. I plotted the matrix using the mesh function, and thresholding it would appear to be the only approach. That is essentially what using my previous code with this matrix does. (Statistical methods would by definition retain the regional variations, so that does not appear to be appropriate.)
For an image processing approach, the imadjust function might be an option, and there are several related functions that could do what you want.