added check for overlap between source and image prior to computing PSF
removed np.pow calls - replaced with ridiculous-looking multiplications