They are also all doable pretty easily with GalSim before passing the image into InterpolatedImage.  
```
net_image = pad_image.copy()
net_image[real_image.bounds] = real_image
ii = galsim.InterpolatedImage(net_image,...)
```
Is there a strong case to be made for putting this functionality in the InterpolatedImage constructor?