What computational methods would allow me to rank 2D surfaces (with examples)
I have a program which compares the similarity of two images for different positions, so my surface consists of points which correspond to X and Y translations each with a value (mutual information).
Here is an example of a surface I want to be ranked as very good:
https://dl.dropboxusercontent.com/u/51282958/good.png
And this is an example of surface which needs a low rank:
https://dl.dropboxusercontent.com/u/51282958/bad.png
So the metric is some kind of measure of certainty, lots of similar peaks = bad and one big peak in center of the surface is good. Also a peak on the border of the surface is bad as it might not be a peak at all.
Now I've already created some kind of metric to rank these surfaces, and it does work in some cases. What I would really like to know is if there is some mathematical or computational method well defined to do this kind of ranking?
I have extracted information such as the location of maxima and standard deviations. 103
Also this surface is sometimes up to 6 dimensional when rotation and scale are included.
EDIT: My current metric works as follows:
* Finds the coordinates of each local maximum
* Starts with a score of 1 and then reduces this for each maximum it finds by a percentage, this percentage is calculated by looking at how similar the local maximum is to the global maximum. Hence if you have a lot of maxima similar to the global maxima you will get a low score. The issue with this technique at the moment is that it was designed when I had images which only generated typically under 10 maxima but I now have images with over 500 maxima and so my score goes very low when it should not.
* Finally there is a correction depending on how many standard deviations away form the mean the global maximum is.
I'm planning on improving how step two scales and so I'll hopefully be able to get rid of the last step (as it feels fairly subjective). 964