Software Open Access
Doug Burke; Omar Laurino; wmclaugh; dtnguyen2; Hans Moritz Günther; Marie-Terrell; Aneta Siemiginowska; Jamie Budynkiewicz; Tom Aldcroft; Christoph Deil; Brigitta Sipőcz; Johannes Buchner; Iva Laginja; Katrin Leinweber; nplee; Todd
This release of Sherpa includes various documentation updates, bug fixes, enhancements, and infrastructure changes.
1073 - Allow fake_pha to be called with an identifier of None
Update the estimation of FWHM for 1D profiles, and hence the guess method for Gauss1D and related routines. The 2D models use the same routine so see these changes.
1106 - The sample_flux routine now returns the correct information for the clip column
The fake_pha command now treats id=None as the default id. This addresses #1064.
1107 - Add some grating related keywords for _reprhtml for ARF, RMF, PHA
The sample_flux routine now returns correct information for the clip column (that is, it matches the clipping done by this routine). There may be changes to the reported error ranges because of this change.
1113 - XSPEC: support etable table models
Add keywords to the default output in the _repr_html_ for some X-ray classes.
1118 - Improve test cases for source plots with PHA data
Allow XSPEC ETABLE table model files to be read by load_xstable_model by setting the etable parameter.
1127 - PHA filtering changes
Add additional test cases for source plots with PHA data to check out rarely-used combinations.
1131 - Test: fix a test failure when XSPEC installed but no fits backend
Improve some corner cases for filtering PHA data, including fixing #921 (channel bounds are integers, not half-integers).
1134 - This is a doc-string only update for load_multi_XXX
Avoid running a test we know to fail for an uncommon combination of options.
1135 - Added docstring and removed unused no-op class
The previous example implied that a spectrum may contain both positive and negative orders in the same spectrum. That can happen only after coadding - and in that case one would co-add the arfs as well.
1136 - Replace error message "too few columns" with a more generic word
Remove sherpa.astro.models.MultiResponseSumModel which did nothing and seems to be unused (except in a test that explicitly skip this class).
1137 - Correct docstring for fake_pha
Change the wording of an error message. Potentially breaking if someone tests for the wording of the error message in their code, but certainly more correct.
1138 - Address NumPy 1.20 bool/int/float deprecation warnings
The old docstring claims that the background is just scaled and not simulated, but there is definitely a call to poisson_noise for the background in the code.
1140 - Fix some remaining master/main renames
NumPy 1.20 notes that numpy.bool, numpy.int, and numpy.float will be removed and users should just use bool, int, and float instead, so these symbols have been changed. This is a follow on to #1092
1143 - add basic test and documentation for Integrate1D
clean up references to master with main
1144 - A minor cleanup of estmethods
Add basic testing of the integrate1d model class and improve its documentation.
1147 - Tests: support use of data directory being local, not absolute
A minor cleanup of the sherpa.estmethods code.
1154 - Update docs on RTD builds
Allow a test to pass when given a relative path for the test data directory.
1155 - Remove Meta class for fits hdu headers
Update docs on how the docs are build in CI
1163 - XMM/RGS triggers a notice/ignore bug because channels are in reverse-energy order in RMF
Remove Meta class for header information that is used only rudimentary and acts almost, but not quite, like a dict
1164 - Fix plots with wavelength general:visualization type:bug
Recent work on the ignore / notice logic in #1127 implicitly assumes that the energy grid in PHA/ARF/RMF files is in increasing order, which does not hold true for XMM/RGS data
1165 - Add a section on running the tests to the developer docs
For some data files, plots with a reversed grid (i.e. plots in wavelength) were drawn with disjoint lines since #906.
1168 - Logging tweaks
Add a section on running the tests to the developer docs
1170 - Update Python and particularly number versions in documentation
Include the sherpa.utils.logging module in the documentation and update a test to use the caplog feature of pytest (the code had been written to work with python 2.7 version of unittest).
1171- Improve the grouping/filtering tests
Updates to doc pages that list dangerously old numpy versions
1172 - Improve data pha docs
Add a number of tests for corner cases of filtering and grouping of PHA data.
1173 - Improve DataPha documentation
Improve the documentation of the filtering and grouping of PHA data.
1175 - Store UI contour plots in a dictionary, not directly
Minor improvements to the documentation of the DataPHA class.
1177 - minor rework of image handling for ui layer
Change the internal storage handling of contour objects
1178 - Define physical constant hc in fewer places
Change the internal storage handling of image objects and improved testing
1180 - Minor improvements to model/parameter documentation
hc (as in "Planck constant * speed of light") is a physical constant that does not depend on the DataPHA and thus it should not be defined as a class attribute.
1182 - Simulations with multiple responses
Minor fixes and improvements to the documentation (both docstrings and RTD) for the model- and parameter-related code.
1183 - Check parameter link behavior
Enable simulations with multiple ARF/RMF present (e.g. LETG/HRC).
1184 - Better pha model component plotting (fix #1020)
Minor tweaks to the parameter tests.
1187 - Conda GCC 9.3.0 update issue
The use of plot_model_component and get_model_component will now automatically add the response for PHA data sets, if there is one. Model expressions which contain a response will not be changed. Fixes #1020.
1192 - Remove Python 3.6 and add Python 3.9
update to support environment changes due to conda defaults updates for gcc 9.3.0
1194 - datastack: Improve show_stack and add _reprhtml for stack
updates to switch python support to python 3.7-3.9
1198 - XSPEC test cleanup
Improve datastack display (via show_stack and in the notebook) for datastacks.
1199 - Move the regrid code out into a separate method
Very minor improvement to the XSPEC test suite.
1203 - Update GitLab Conda recipe to numpy 1.19
Very minor code reorganization for the regrid code.
1204 - region lib updates for CIAO 4.14
updates gitlab conda recipe to python 1.19+ and adds run time pin
1205 - Remove the SherpaTestCase class
updates to fold in changes to CIAO region lib for CIAO 4.14. Specifically, fixes for SM-89: bug in pie shape (extent/inside logic), SL-243: region - deprecate obsoleted Warning.
1208 - Fix get_xerr for Data1DInt when all data is filtered
Remove the SherpaTestCase class from sherpa.utils.testing and switch the tests that used it to use pytest functionality where appropriate.
1215 - Restrict the values used in PHA notice/filter calls
The get_xerr method of Data1DInt would fail if all bins had been ignored and it now returns the empty list.
1216 - filter improvements for DataPHA and Data1DInt
Ensure that the low and high limits for notice and ignore calls for DataPHA objects are sensible (hi >= lo and that for energy or wavelength filters they are >= 0). When filtering DataPHA objects in channel units the lo and hi arguments must be integers otherwise an error is raised.
1218 - Update fftw from version 3.3.8 to 3.3.9
Energy and wavelength filters (with notice and ignore) for PHA data are now treated as lo <= x < hi in all cases, and channel filters are lo <= x <= hi (where the channel values must be integers). For Data1DInt cases the notice and ignore filters are treated as lo <= x < hi. This changes address a number of corner cases. This can result in slightly different fit results because the data used in the fit can be changed and hence changing the number of degrees of freedom (by one or two depending on whether the first and last bins have been removed).
1219 - Fix filter expressions
This change updates the version of the fftw module in sherpa's external dependencies (extern) directory to utilize version 3.3.9 (www.fftw.org) instead of the previous version 3.3.8
1223 - XSPEC 12.12.0 support
Filter expressions for Data1DInt and DataPHA cases now report the start and end value of each set of grouped data rather than use the end points. For PHA data sets users now see the same ranges displayed whether the data is grouped or not. The actual filter remains the same even if the filter expressions has changed slightly.
1227 - Support AstroPy 4.3 for tests
Support the new additive and multiplicative models in XSPEC 12.12.0 - XSgrbjet, XSwdem, XSvwdem, XSvvwdem are additive and XSzxipab is multiplicative - and note the additional abundance tables that are available when running with XSPEC 12.12.0 (lpgp and lpgs).
1228 - Fix three parameter names for XSPEC models
The AstroPy FITS reader is less tolerant of invalid FITS files in AstroPy 4.3 which trips one of our tests. The test has been updated with a FITS file that doesn't trigger the error case. There is no functional change in this commit.
1230 - Update submodule to pick up submodule README
Fix three XSPEC models which had some internal confusion over parameter names: XSzkerrbb should have uses fcol but had instead used hd, and XSzashift and XSzmshift used Redshift instead of Velocity. The old names have been kept as aliases.
1231 - Remove init.py from tests directory
Updates submodule to pick up the submodule README
1236 - Remove compiler warnings
Clean up of a test directory. There is no functional change in this commit.
1241 - to get sherpa to run Apple M1 (arm)
Avoid compiler warnings from clang, fixing #1232 and several other warnings.
1244 - Fix "unable to parse region string: None" errors (issue #1214)
Initial support of sherpa for ARM build
1246 - Image region filters are now specified correctly (Fix #1245)
In certain circumstances (such as plot_pvalue with an explicit 2D PSF convolution operator read from a file) the code would fail with the error unable to parse region string: None (issue #1214). This PR fixes this problem and several minor related issues.
1247 - Allow save_all to work well with images with no filters (Fix #437)
Update the image filter code so that the region description matches what the filter actually is: rather than use & to combine regions we now use | as it is a logical or rather than logical and. This is mainly going to affect users who: have used the output of get_filter() as input to calc_data_sum2d, have very-complex spatial filters, or are restoring Sherpa sessions created by save or save_all.
1248 - Docs: note that set_stat can be sent a stats object
Fix a problem with the output of the save_all command if an image had been loaded but no region filter applied (fix #437): the output file would contain a notice2d_id call with a filter of "" which would fail if you tried to load the file back in. It now no-longer creates this line.
1250 - Stop odd interaction between plot_model and PHA filters (Fix #1024)
Update the documentation for set_stat to note you can send in a stats object
1253 - More numpy 1.20 warning fixes
plot_model(), if done before calling notice or ignore, could lead to strange filters (e.g. filter not getting applied). This has been fixed. Fixes #1024
1254 - FIX: #1235 change XSPEC chatter to 10 from 0
Avoid warnings from NumPy 1.20 about using the deprecated np.int symbol.
1259 - XSPEC parameter changes - you can change the hard limits of most XSPEC parameters
Change the default X-Spec chatter level from 0 to 10. This may result in screen output the first time an XSPEC model is evaluated (e.g. from a plot_model or fit call). There have been a number of cases where APEC models appeared to be creating no output because of missing data files (due to old ~/.xspec/Xspec.init settings) which would have been more obvious with this change. To get back to the previous behavior users can call set_xschatter(0).
1260 - Add a module to parse XSPEC model.dat and helper scripts #1260
XSPEC model parameters now use the same limits for soft and hard (the hard limit from the model.dat file). This is handled by the XSBaseParameter class which is used for XSPEC table models. The XSParameter class, which extends this and is used by most other parameters, allows the user to change the hard limits of the model. This follows XSPEC, and allows using some models which are documented as supporting a value outside the normal parameter range (normally by setting the value to a negative value). Note that this is potentially dangerous (it could crash the program) so should be used carefully. It is strongly suggested that any parameter set to a value outside of the original limits is also frozen.
1261 - update to match recent XSPEC model.dat settings
Add support for parsing XSPEC model.dat files (useful for updating the XSPEC module or if you want to use XSPEC local models).
1264 - Fix crash from grouping data using an unsupported method
Update the XSPEC models to match the latest model.dat file (from HEASOFT 6.29 / XSPEC 12.12.0). This primarily changes the hard limits of the models, but there are some changes to the default parameter values as well, as well as some unit changes, including adding and removing units.
1268 - Doc: switch default sphinx role
It was possible to cause Sherpa to crash by passing an invalid function as the groupfunc argument to apply_filter and apply_group. The code now errors out instead. There are improvements to the documentation (docstring and RTD) for PHA filtering and grouping.
1270 - Cleanup setup
Multiply the number of working references on readthedocs, while at the same time reduce verbosity in the docstrings.
1273 - crates backend strip preceding/trailing whitespace when determining ascii file colnames (Fix #1262)
Update the Python supported status in the package metadata (drop 3.5, add 3.8) and bump the minimum version to 3.6.
1276 - Fix Inconsistent behavior in save_arrays when optional parameter ascii = True/False (Fixes issue #1251)
This change modifies the crates backend ascii file handling to resolve issue #1262 where a test added in PR #1253 causes the tests to fail. This change may potential result in behavior changes for crates use on ascii data files (see caveat section for details).
1279 - rm the platform cause no longer need it
Updates the data I/O so that write_arrays behaves consistently whether writing ascii or fits files via the pyfits backend.
1281 - RTD: include parse_xspec_model_description
rm the platform module since it is not needed for ARM support
1282 - Add Zenodo details for 4.13.1
Fix a link on the Read The Docs pages from PR #1260
1285 - Added an option to reflect minim about the boundary
Include the Zenodo details for the 4.13.1 release into the hard-coded list of releases.
1287 - Remove C++ warning when compiling the pileup code
This PR adds the option on how the optimization minim will behave if the free parameter is beyond the limit. The default parameter reflect is True (will reflect by an equal amount about the limit). If reflect is set to False then model function will return DBL_MAX (~1e308) and therefore it will not be included in the simplex.
1288 - Improve the PHA simulation documentation
Use unique_ptr rather than auto_ptr in the pileup code to avoid C++ warnings. Fix #505
1290 - Fix the string output of CDFPlot
Fix up some links in the RTD documentation for simulating PHA data.
1291 - Comment: add link to the OSTI.GOV URL for the optimizing document
Corrected the order of the points, x, and y values when displaying a CDFPlot object, improve support for a list argument, and made minor additions to the documentation in the sherpa.plot module.
1292 - Update tests that were changed by #1246
Add a reference to the OSTI.GOV technical report in the comments in the C++ code used for testing the optimization functions.
1293 -RTD: add a "how to optimize a function" example
Fix tests that started to fail once #1246 was merged.
1294 - RTD: Fix some sphinx warnings (sherpa.models.regrid)
Add a section to the ReadTheDocs site explaining how to "optimize a function" as this is something we can do but only really with the low-level code.
1295 - Update XSkerrconv model for #1275
Fix a minor warning when generating the Read The Docs pages.
1296 - Document the neldermead reflect flag from #1285
Rename the first two parameters of the XSPEC XSkerrconv convolution model from Index/Index1 to Index1/Index2. Fixes #1275
1303 - Updated Introductory Section of the MCMC page
Add documentation for the reflect keyword added in #1285 for the neldermead optimizer
1308 - Docs: fix get_filter examples
Added additional details regarding sherpa's MCMC inplementation to the documentation
1310 -Update the python check for python setup.py installs to 3.7
Fix the examples in the get_filter documentation.
Updates the minimum supported version of python supported in setup.py to use python 3.7
|All versions||This version|
|Data volume||2.1 GB||108.3 MB|