Detecting isthmuses on digital curves
Divide the image up into evenly sized grid cells.  Have one hash bucket per grid cell, and hash each point on the curve into the grid cell it falls in.  Sort all of the elements in each grid cell / bucket by the order of their abscissa.  Then, you can iterate over all of the non-empty grid cells, and for each, iterate over their sorted list to look for an instance of a large gap.  Each isthmus will correspond to a pair of adjacent elements in the sorted list that have a large difference in their abscissa.

You should probably do this do this four times: once with the original grid; again with that grid moved by one-half to the right; again with it moved one-half down; and again with it moved one-half to the right and one-half down.  If you use grid cells of side length $2D$, then this ensures that if the distance of the isthmus is $\le D$, it will be detected during one of these four iterations.