import numpy as np
import matplotlib.pyplot as plt
from spectractor.extractor.psf import *
p = np.array([2000, 20, 30, 5, 2, -0.1, 2, 400])
psf = MoffatGauss(p)
yy, xx = np.mgrid[:50, :60]
data = psf.evaluate(np.array([xx, yy]), p)
data = np.random.poisson(data)
data_errors = np.sqrt(data+1)
data = np.random.poisson(data)
data_errors = np.sqrt(data+1)
w = PSFFitWorkspace(psf, data, data_errors, bgd_model_func=bgd_model_func, verbose=True)
x, mod, mod_err = w.simulate(*p[:-1])
w.plot_fit()