Trying to create curve between a high and low range of a surface

I’m trying to find a way to create a curve along a ridge of a model. I have attached the file I’m working on. My first approach is to convert Cartesian coordinates to polar and sub-divide the model vertically, then comparing the other slices for high and low values eventually giving me points of where the greatest change occurs.

That method seems overly complicated and my not be the best approach.

One approach is called the ‘medial axis’ of a contour curve, if you search the forum here, you will see several examples of this.