1. A method for image pattern recognition for detecting an object in an image comprising: using a programmed computing device configured to perform the acts of: detecting edge positions of a candidate size relevant shape in the image; and performing edge tracing along the edge positions of the candidate size relevant shape to determine whether the candidate satisfies pre-determined shape criteria, the edge tracing including performing a water spreading method that advances along the edge positions to trace a boundary of the candidate size relevant shape.