ignore masked values in fit
add tests
constrain rotation angle 0 <= theta < 360°