It seems to me that image.getViewpoint() and image.setViewpointCenter() use different references for Y. That is, when I getViewpoint() the Y is positive (for example) but to set it the same, I have to setViewpointCenter() with -Y. It's like one uses top-left for Y reference and the other uses bottom-left for Y reference.
Thoughts?