v0.0.5
The 0.0.5 release of jaxspec
is out ! Many code refactoring and internal cleaning is happening, but there are also new features, including a direct fit method for your spectral models.
New features
jaxspec.fit
module now includesBayesianFitter
andMinimizationFitter
classes to perform either MCMC or direct minimization to find the best set of parameters. Note thatMinimizationFitter
is faster but more likely to fall in local minima.- Both
BayesianFitter
andMinimizationFitter
can fit the same model using multipleObsConfiguration
at once to obtain stronger constraints. Either pass alist[ObsConfiguration]
or adict[str, ObsConfiguration]
to achieve this. - Fit results are now plotable with any unit you want!
FitResult.plot_ppc
haw two new kwargs :x_unit
andy_type
.x_unit
argument can be any unit of length, frequency, or energy and the plot will adapt.y_type
can be any of "counts", "countrate", "photon_flux", "photon_flux_density" and will plot the equivalent curve. fakeit
andfakeit_for_multiple_parameters
can specifysparsify_matrix = True
for large RMF.jaxspec.util.abundances
now contains two tables.abundance_table
contains the most used abundance tables in astrophysics, andelement_table
contains various data about elements, imported from themendeleev
package.jaxspec
is now tested against the HEACIT dataset to ensure that it is performant at reading the many types of instrument and observation files produced by the OGIP standard.
Breaking changes
ChainResult
is renamed toFitResult
ChainResult.chain
is renamed toFitResult.to_chain
ChainResult.sample
has been split toFitResult.samples_haiku
for a two level dictionary of posterior samples, e.g.samples['powerlaw_1']['alpha']
, and toFitResult.samples_flat
for a one level dictionary of posterior samples, e.g.samples['powerlaw_1_alpha']
.BayesianModel
is renamed toBayesianFitter
.Instrument.from_ogip_file
now takes arf_path as a kwarg since some instruments use a single .rmf file to carry both the redistribution matrix and effective area.Instrument.from_ogip_file("data/PN.rmf","data/PN.arf")
should be changed toInstrument.from_ogip_file("data/PN.rmf", arf_path="data/PN.arf")
. Even if the first syntax should work, be carefull to check that you did not intervert .arf and .rmf.