Since I'm not a programmer, I don't know if there is a logical explanation for this, but I was wondering why the ImageSearch function returns the upper left coords of the found image and not the center?
Why would someone click the uppermost corner of an image? Let's suppose you want to click on a button with curved edges like the buttons above the text field on the AHK forum when writing a post. When you select the button, ImageSearch will find it and moves the mouse to the upper left corner. However, you are not able to click the button because the button has curved edges and the pointer is therefore not on the button.
Of course, you can select e.g. the text inside a button as an image or implement OutputVarX+=10
OutputVarY+=10 in your code but why not just return the center coords of the found image?
I genuinely can't think of an example when returning the center of a found image won't be useful.
The function could look like this.
ImageSearch, FoundX0, FoundY0, FoundX1, FoundY1, X1, Y1, X2, Y2, ImageFile
Or return only the center of the image although I don't think this will be very handy.
ImageSearch, FoundCenterX, FoundCenterY, X1, Y1, X2, Y2, ImageFile
I wouldn't be surprised if people have thought of this and didn't implement it for obvious reasons. If so, please do so

Also, I know there are scripts made by community members that let you click the center of an image after it finds it but I'm just interested in why this isn't the standard.
PS. If you guys think this post belongs more on the 'Ask for Help' forum you can, of course, move it.