Tuesday Nov. 24th, 16h30
A few preliminary comments from Axel: I guess the question is how far we want to go with the unification. I think in the most general case one could reduce to the following classes:
FluxPoints
, which would be generalised to handle time bins and regions as well. It would then offer convenience methods like.plot_lightcurve(energy=)
or.plot_profile()
, or.get_flux_points(source=, time=, idx=)
or similarFluxMap
basically as implemented here: gammapy/gammapy#3075FluxPointsEstimator
, which would be extended to handletime_intervals
and regions as wellExcessPointsEstimator
, implements the Li&Ma solution for the points. The code is basically already there asExcessProfileEstmator
TSMapEstimator
could be renamed toFluxMapEsimator
,ExcessMapEstimator
stays as is.- Both
FluxPointsEstimator
andExcessPointsEstimator
would return aFluxPoints
object, and the map estimators aFluxMap
object respectively... LightCurveEstimator
andExcessProfileEstimator
would be removed...
- FluxMap is useful, implements I/O and convenience to extract flux points
- Store the reference model as
SpectralModel
. On "data import", users have to define a model or we assume a default - Régis proposed: use a "flattened" table to store combined time / energy and rely on Astropy's grouping of tables
- Internally always use the norm / likelihood format and and expose the
sed_type
in.plot()
or.write_table()
- Generalise
FluxPoints
object, either by array columns or the flattened data structure mentioned above - Generalise
FluxPointsEstimator
to handletime_intervals
orregions
? - For
Excess
estimators one would store the excess directly, but we have to clarify which information to store if there is no exposure / flux estimate available - For v1.0 try to have the final API design and rather leave certain functionality un-implemented