Python 3D ajuste de superficie polinomial, depende del orden

Actualmente estoy trabajando con datos astronómicos entre los cuales tengo imágenes de cometas. Me gustaría eliminar el gradiente de fondo del cielo en estas imágenes debido al momento de la captura (crepúsculo). El primer programa que desarrollé para hacerlo tomó puntos seleccionados por el usuario de "ginput" de Matplotlib (x, y) extrajo los datos para cada coordenada (z) y luego cuadricó los datos en una nueva matriz con "griddata" de SciPy.

Dado que se supone que el fondo varía ligeramente, me gustaría ajustar un polinomio 3D de bajo orden a este conjunto de puntos (x, y, z). Sin embargo, los "griddata" no permiten un orden de entrada:

griddata(points,values, (dimension_x,dimension_y), method='nearest/linear/cubic')

¿Alguna idea sobre otra función que pueda usarse o un método para desarrollar un ajuste de mínimos cuadrados que me permita controlar el pedido?

Respuestas a la pregunta(4)

Su respuesta a la pregunta