# An amptek Mini-X xray tube spectrum.
#
import matplotlib.pyplot as plt
import padre_meddea
from padre_meddea.io.amptek import read_mca
from specutils.manipulation import extract_region
from specutils.fitting import estimate_line_parameters, fit_lines
from astropy.modeling import models
mca_file = padre_meddea._test_files_directory / "minix_20kV_15uA_sdd.mca"
spec = read_mca(mca_file)
this_roi = spec.meta['roi'][0]
sub_spec = extract_region(spec, this_roi)
params = estimate_line_parameters(sub_spec, models.Gaussian1D())
g_init = models.Gaussian1D(amplitude=params.amplitude, mean=params.mean, stddev=params.stddev)
g_fit = fit_lines(sub_spec, g_init)
fig, ax = plt.subplots(layout="constrained")
ax.plot(sub_spec.spectral_axis, sub_spec.flux)  # doctest: +SKIP
ax.plot(sub_spec.spectral_axis, g_fit(sub_spec.spectral_axis), label=f"{g_fit}")  # doctest: +SKIP
plt.legend(bbox_to_anchor =(0.65, 1.25))  # doctest: +SKIP
