That's unfortunate.  What happens in your implementation?  We just return an `ImageSet` object?  

I'm a bit confused on this case though.  In this case we *can* find all of the extrema.  What is missing?  Do we need to be sure that there are no discontinuities?  Is there a way to test for that?

Most use cases of this functionality are likely to be simple.  Solving a subclass of the problem might be very valuable.