Where, besides file input and output, does the scikit have algorithmic assumptions about images having a particular data format or range?
I think most of the algorithms now start with a conversion to float, which makes assumptions.
How many of these can be wrapped in such a way that there are no assumptions about input range (i.e., by prescaling min/max to [0,1] and postscaling back to the original range)?
Prescaling between zero and one might distort the image heavily if the image did not have the full range, for example if it is mostly white and has no black.
What do you mean by postscaling? Algorithms usually don't return an image. Even if an algorithm returns an image, your method would only work correctly if the output depends linearly on the input.