There must be a bug here with `shift`: you've defined `rotation_center` in WCS space and `center` in pixel space, so this subtraction is improper