This page is a changelog for releases of Fermipy. You can also browse releases on Github.
- Small bug fixes.
- No more glaring issues remain open.
- Allow user-defined energy bins for energy-dependent extension fit.
- Make sure the last time bin in the light curve ends at
- Compatibility with numpy 1.23
- Update interface to astropy.fits.writeto for compatibility w/ astropy 5.1
- Minor bug fixes & doc updates.
- Implemented new super-exponential cutoff PL for curvature test.
- More bug fixes for lightcurve module
- Fixes to work with recent astropy and matplotlib releases
- Bug fixes for lightcurve module
- Switch primaty installation method to conda
- Fixes to work with recent gammapy and yaml releases
- Remove old installation scripts
- Switch to github actions for testing
- First working python3 version, very close to 0.20.0
- Upgrade to P8R3_XXX_V3 irfs in testing
- Added improvements to extension fitting and residual maps
- Switch installation procedure and to using fermitools-data for diffuse emission models
- Update docs to reflect changers in intallation procedure
- Added new version of 4FGL catalog
- Updated automatic testing to work with 4FGL and new diffuse emisison models
- Changes to improve automated builds for testing
- Added documentation for fermipy.jobs and femripy.diffuse modules
- Some changes to support different size pixels in different components
- Added gtpsf and gtdrm support to gtanalysis
- Added tools to use new version of energy dispersion from fermitools.
- Changed travis testing and conda scripts to work with conda release of fermitools.
- Including 4FGL, interstellar emission model and isotropic templates files.
- Changing catalog.py to use 4FGL catalog
- Minor fixes to target_collect.py, lightcurve.py and gta.simulate()
- Added fitting code to fermipy.diffuse module
- Improved fermipy.jobs to deal with analyses with multiple components
- Added capability to plot global minimum in castro plots
- Added spectra for dark matter decay to DMFitFunction
- Added code to split simulations into smaller batch jobs
- Added fixed shape lightcurve to correct TS_var computation
- Added lots of documentation for the fermipy.jobs module.
- Minor changes to the fermipy.jobs module to work with the dark matter analysis pipeline (dmpipe).
- Patch release to get versioning working with GitHub release system.
- The LogParabola, PowerLawSuperExponetial and Dark Matter SEDs have been added to the sensitivity.py script.
- There are a lot of additions to perform a stacking analysis. This can be applied for instance for the search of dark matter with a stacking analysis of Milky Way dSphs, Galaxy Clusters or other galaxies.
- It contains scripts to send jobs to SLAC Batch Farm and collect the results.
- It includes scripts and functions to perform all sky fits.
- It also fixes a few issues with glon and glat in the localization (#225), and the wrong orientation of residual and TS maps (#216)
- Improvements and refactoring in the internals of the
lightcurvemethod (see #156, #157, #160, #161, #162). Resolve fit stability issues that were arising when the source of interest was not significantly detected in a given time bin. Added options to speed up source map calculation by rescaling source maps (enabled with
use_scaled_srcmap=True) and split the lightcurve calculation across N cores (enabled with
nthread=N). Add calculation of
TS_varto test for variability using method from the 2FGL.
- Updates to validation tools. Added MeritSkimmer script
fermipy-merit-skimmer) for skimming ROOT merit tuples either locally or on xrootd.
- Bug fix related to restoring analysis state for phased analysis (scaled exposure).
- Many improvements and feature additions to senstivity tools (see e.g. #148, #149, and #152).
- Various updates to support DM pipeline package (#146).
- Improve robustness of algorithms for extracting peak and uncertainty ellipse from 2D likelihood surface.
curvaturemethod for testing a source for spectral curvature.
localizeto fix spectral shape parameters. Spectral shape parameters of the source of interest are now free by default when localizing or fitting extension.
- Refactoring and improvements in
extension(see #124). Cleanup of columns in
localize. Add new columns for 1-sigma errors projected in CEL and GAL coordinates as well as associated covariance and correlation matrices. Add positional errors when running
sed. This can be used to free background sources within a certain distance of the analyzed source.
- Relocalize point-source hypothesis when testing extension of extended sources.
- Improve speed and accuracy of source map calculation (see #123). Exposures are now extracted directly from the exposure map.
- Write analysis configuration to
CONFIGheader keyword of all FITS output files.
diffusesubmodules (see #120 and #122). These contain functionality for peforming all-sky diffuse analysis and setting up automated analysis pipelines. More detailed documentation on these features to be provided in a future release.
- Rewrite LTCube class to add support for fast LT cube generation.
gtlike.use_local_ltcubeoption can be used to enable the python-based LT cube calculation in lieu of
- Bug fixes and improvements to lightcurve method (see #102). Python-based LT cube generation is now enabled by default resulting in much faster execution time when generating light curves over long time spans.
extensionthat can be used to enable a joint fit of extension and position.
- New scheme for auto-generating parameter docstrings.
- Add new
set_source_morphologymethod to update the spatial model of a source at runtime.
- Major refactoring of
localize(see #106 and #110).
- Pulled in many new modules and scripts for diffuse all-sky analysis (see #105).
- Add support for phased analysis (#87).
gtlike.src_expscalecan be used to apply a constant exposure correction to a whole component or individual sources within a component. See Phased Analysis for examples.
- Add script and tools for calculating flux sensitivity (#88 and #95). The
fermipy-flux-sensitivityscript evaluates both the differential and integral flux sensitivity for a given TS threshold and minimum number of detected counts. See Sensitivity Tools for examples.
fermipy-healviewscript for generating images of healpix maps and cubes.
- Improvements to HPX-related classes and utilities.
- Refactoring in
irfsmodule to support development of new validation tools.
- Improvements to configuration handling to allow parameter validation when updating configuration at runtime.
- Add lightcurve method (#80). See Light Curves for documentation.
- Change convention for flux arrays in source object. Values and
uncertainties are now stored in separate arrays (e.g.
- Add Docker-based installation instructions. This can be used to run the RHEL6 SLAC ST builds on any machine that supports Docker (e.g. OSX Yosemite or later).
- Adopt changes to column name conventions in SED format. All column names are now lowercase.
- Add support for weighted likelihood fits (supported in ST
11-03-00 or later). Weights maps can be specified with the
wmapparameter in gtlike.
- Implemented performance improvements in
tsmapincluding switching to newton’s method for step-size calculation and masking of empty pixels (see #79).
- Ongoing development and refactoring of classes for dealing with CastroData (binned likelihood profiles).
reload_sourcesmethod for faster recomputation of source maps.
- Fixed sign error in localization plotting method that gave wrong orientation for error ellipse..
- Refactored classes in
spectrumand simplified interface for doing spectral fits (see #69).
- Added DMFitFunction spectral model class in
spectrum(see #66). This uses the same lookup tables as the ST DMFitFunction class but provides a pure python implementation which can be used independently of the STs.
- Implement support for more spectral models (DMFitFunction, EblAtten, FileFunction, Gaussian).
- New options (
workdir regex) for fine-grained control over input/output file staging.
offset_roi_edgeto source dictionary. Defined as the distance from the source position to the edge of the ROI (< 0 = inside the ROI, > 0 = outside the ROI).
- Add new variables in
- Add new package scripts (
- Various refactoring and improvements in code for dealing with castro data.
PARAMSHDUs to SED FITS file. Many new elements added SED output dictionary.
- Support NEWTON fitter with the same interface as MINUIT and
optimizer= NEWTON will use the NEWTON fitter where applicable (only free norms) and MINUIT otherwise. The
localizecan be used to override the default optimizer at runtime. Note that the NEWTON fitter is only supported by ST releases after 11-01-01.
- Bug fixes and various refactoring in TSCube and CastroData. Classes
for reading and manipulating bin-by-bin likelihoods are now moved to
- Rationalized naming conventions for energy-related variables.
Properties and method arguments with units of the logarithm of the
energy now consistently contain
login the name.
energiesnow returns bin energies in MeV (previously it returned logarithmic energies).
log_energiescan be used to access logarithmic bin energies.
loge_boundsin the methods that accept an energy range.
- Changed the units of
emaxin the sed output dictionary to MeV.
- Add more columns to the FITS source catalog file generated by
write_roi. All float and string values in the source dictionary are now automatically included in the FITS file. Parameter values, errors, and names are written to the
- Add package script for dispatching batch jobs to LSF (
- Fixed some bugs related to handling of unicode strings.
- Added new variables to source dictionary:
- Likelihood scan of source normalization (
- Source localization errors (
pos_angle). These are automatically filled when running
- Likelihood scan of source normalization (
- Removed camel-case in some source variable names.
cacheft1option to data disable caching FT1 files. Cacheing is still enabled by default.
- Support FITS file format for preliminary releases of the 4FGL catalog.
__future__statements throughout to ensure forward-compatibility with python3.
- Reorganize utility modules including those for manipulation of WCS and healpix images.
- Various improvements and refactoring in
localize. This method now moved to the
- Add new global parameter
llscan_ptsin gtlike to define the number of likelihood evaluation points.
- Write output of
sedto a FITS file in the Likelihood SED format. More information about the Likelihood SED format is available on this page.
- Write ROI model to a FITS file when calling
write_roi. This file contains a BINTABLE with one row per source and uses the same column names as the 3FGL catalog file to describe spectral parameterizations. Note that this file currently only contains a subset of the information available in the numpy output file.
- Reorganize classes and methods in
sedfor manipulating and fitting bin-by-bin likelihoods. Spectral functions moved to a dedicated
- Write return dictionary to a numpy file in