import scipy.ndimage as snd
np.max(snd.rotate(roi_old, Rotangle)) Out[166]: 1.642610287502076
np.max(snd.rotate(roi_old, Rotangle,reshape=False)) Out[167]: 1.6771061860083012
Note that the smaller image yields greater max value, meaning that it is not caused by the cropping. Why?