wcxve / elisa

Efficient library for spectral analysis in high-energy astrophysics.
https://astro-elisa.readthedocs.io
GNU General Public License v3.0
10 stars 3 forks source link

feat: support Xspec models #24

Closed wcxve closed 5 months ago

wcxve commented 6 months ago

Support Xspec Models:

Requires installation of xspex:

pip install xspex

Example:

import matplotlib.pyplot as plt
import numpy as np
from elisa.models import xspec
model = xspec.gsmooth(Sig_6keV=0.05)(xspec.phabs() * xspec.apec())
egrid = np.linspace(0.3, 10.0, 1000)
params = {'phabs.nH': 1.0, 'apec.kT': 1.0, 'apec.norm': 1.0}
ne = model.compile().eval(egrid, None)
plt.step(egrid, np.append(ne, ne[-1]), where='post')
plt.xlabel('Energy [keV]')
plt.ylabel('$N_E$ [cm$^{-2}$ s$^{-1}$ keV$^{-1}$]')
plt.xscale('log')
plt.yscale('log')
model plot