This page is a changelog for releases of Fermipy. You can also browse releases on Github.
- 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