(One clue I thought I found was that maybe `self.i_kx` and `self.i_ky` were actually flipped compared to our usual convention in which NumPy arrays are ordered [y, x]... But then swapping them around didn't seem to yield results.)