I'm sorry, it seems I'd misunderstood from the discussions how the image was going to be used here.  And it makes me wonder... I like the idea of specifying Gaussian noise with some variance as an input, and indeed an `ImageCorrFunc`.  But there is not much extra functionality gained from letting the user pass in an `Image` from which an `ImageCorrFunc` is immediately generated: you're saving the user one line of work, and in fact hiding/restricting to defaults other parameters you might want to be able to give to the `ImageCorrFunc.__init__` method (e.g. interpolant).

A truly general way to allow the user to pad with *whatever* they want would be to let them specify an `Image` that is larger than the main input `image` and have the code simply use the border as the padding in the `InterpolatedImage`, ignoring the central overlap with the `image`.  We'd need some rule about how the centre is defined for placing purposes, but this is about as general as it gets and so might add utility compared to the way the current `Image` is interpreted...  Just a thought!