I will have a look at the division case. I was actually intending integer division in all of the cases that you cited originally (whole pixel coordinated), but I checked with Erin and was told that rounding the pixel coordinates down might slightly slow down the algorithm.
I actually am more in agreement with you about the large layer of pointer calls and dereferences than you might think. I used to always write my code in the way that you suggest, and I'm willing to fix this code. However, the stack of code is full of stuff which looks like exposure.getMaskedImage().getImage().getArray(), so I have taken it to be the way things are done. This exact piece of code came up in Bremerton, if you recall.
The alternative is code full of temporary variables named maskedImage, image, and array. If you are working with several exposures, or a Psf and an exposure at the same time, these tend to confuse the code.
But rather than this single out this one case, could you give me an idea of what the cost for this kind of chained pointer call dereferencing to the other things that we have to do, such a call the measurement algorithms and fit the galaxies? If the cost is actually significant, I am more than happy to line up on the side of keeping temporary pointer variables around. And I really don't know.