In the starter notebook you give the following example on how to calculate the center and target positions of an image
x0, y0 = img_jun17.shape//2, img_jun17.shape//2
x1 = x0 - np.round(row.x.values / CONST_X * img_jun17.shape)
y1 = y0 + np.round(row.y.values / CONST_Y * img_jun17.shape)
You also give something similar in one of the discussions. In all of these you use shape for x and shape for y. Should this not be the other way around?