Hi Alan,
The new, accepted way to do this is by applying a QTransform to the ImageItem. Something like this:
# Axis labels or limits for the x and y pixels
# If pixel values, they need to be uniform intervals
x = np.array([-1024, 1024])
y = np.array([-1024, 1024])
# Scale in units per pixel
x_scale = (x[-1] - x[0])/(x.shape[0]-1) if x.shape[0] > 1 else 1.0
y_scale = (y[-1] - y[0])/(y.shape[0]-1) if y.shape[0] > 1 else 1.0
# Create QTransform and apply to ImageItem
# Adjust so values are centred on pixels
tr = QtGui.QTransform()
tr.translate(x[0] - x_scale/2, y[0] - y_scale/2)
tr.scale(x_scale, y_scale)
image.setTransform(tr)
It's just calculating the translation and pixel scale required to map the pixel coordinates to the desired axis coordinates.
Patrick