Sherpa

Latest version: v4.16.1

Safety actively analyzes 634750 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 6

4.16.1

=============

This release of Sherpa includes various enhancements, documentation updates, bug fixes, and infrastructure changes.

* enhancements:
* minor plotting changes; add support for splitting model expression into
additive components and plot the results; support of log scale axes for
confidence plots; improved error messages for unavailable plot backends
* improved RMF plot display to allow choice of energy units
* documentation changes:
* updates to fake_pha documentation
* updates to install.rst to fix incorrect links and outdated version references
* updated read the docs documentation to match current code
* bug fixes:
* fixed multi-panel plot issue with Bokeh backend

Details
-------

1608 - Remove the test setup.py option
Add the test configuration so that we can ensure the necessary testing
packages can be installed when the code is built. Support for running the
tests with 'python setup.py test' has been removed to match changes in the
Python packaging ecosystem.

1679 - Automatically split a model expression into additive components and plot the results
Add plot_source_components and plot_model_components calls that will split
up a model like gal * (pl + line) into two lines: one for gal * pl and one
for gal * line. There are also corresponding get_source_components_plot and
get_model_components_plot calls, and the "source_components" and
"model_components" arguments can be used with the plot call.

1684 -Fix fake_pha docs
Fix the documentation and some corner cases of sherpa.astro.fake.fake_pha.
There are several times when the simulated PHA output would not be correct
if the PHA contains at least one background component or a pileup model
was used.

1926 - Let users know they should use load_xstable_model not load_table_model
Support for XSPEC table models in load_table_model was deprecated in the

4.16.0

This release of Sherpa includes various enhancements, documentation updates, bug fixes, and infrastructure changes.

* enhancements:
* the grouping commands like group_counts and group_snr now default to only grouping within the noticed range of channels, which is a change in behaviour
* new plotting backend: Users can now choose between matplotlib and bokeh (experimental) support use of arbitrary python functions when linking model parameters
* updates to fake_pha, save_all, allowing to write out RMF/ARF files
* get_plot_prefs and get_contour_prefs call to simplify access to the plot and contour preferences
* implementation of RMFPlot and DataIMGPlot classes and associated UI functions (plot_rmf, get_rmf_plot)
* update support for XSPEC to include version 12.13.1, allow XSPEC table models which include the ESCALE parameter, and provide experimental support for writing out XSPEC table models.
* documentation changes:
* added doc strings for sherpa data classes
* several updates to in code and RTD documentation
* Infrastructure changes:
* revamp of plotting backends from modules to classes and adding support for multiple backends
* changes to use the NumPy random generator API
* bug fixes:
* PHA source plot Y axis scaling (1825)
* fix model display for grouped data (1779, 1784)
* Change in the ordering of operations when grouping background PHA datasets. (1881)

Details
-------

1382 - Plot changes: Step 1 A- Draft API for backend classes
Plotting infrastructure changes that make the plotting backends classes
instead of modules.

1617 - Pass keyword arguments to models
Allow keyword arguments to be passed to models and ensure these arguments
are respected by the model cache.

1629 - Note when a XSPEC model is changed to F77 form (double precision)
Update a script used when updating the XSPEC support to point out models
that use the double-precision FORTRAN support. There is no functional
change to the code.

1653 - Allow arbitrary functions for linking parameters
Provide a way to use any Python function to be used for linking
parameters. Fix 1652

1730 - Update xspec model creation
Update the code created by the sherpa.astro.utils.xspec routines to
account for changes in the XSPEC interface in Sherpa. This only affects
users who call these routines directly.

1734 - Unify the fake and fake_pha calls
The fake_pha call now accepts a method argument to match the fake call.

1735 - Allow use of the NumPy random generator API
Take advantage of the NumPy random-number generator classes to provide
random numbers, and move away from using the global state provided by
numpy.random.seed and random.seed routines.

1738 - Return more-useful information when an XSPEC model fails
Include the model name and parameter values in the error message of a failed XSPEC model.

1750 - Replace pkg_resources as it is deprecated
Remove the use of the deprecated pkg_resources module and replace with use
of importlib.resources. Fix 1723

1763 - Allow load_image to change the coordinate system
Ensure that the coordinate setting used in load_image calls is properly
handled (when not set to the default value of "logical"). Fix 1762

1770 - Drop python2 ism in the fit code
Internal clean up of the fit code to replace a Python 2 method with a
Python 3 version and to use f-strings.

1771 - utils: make sure OutOfBoundErr is an actual exception
Ensure that OutOfBoundErr is an exception (this is an internal feature).

1772 - Tweak resample data code
Internal changes to the ReSampleData class to better handle invalid input.

1773 - Internal clean up of estmethods
Code clean up of sherpa.estmethods.

1775 - Change a single test to use explicit rather than implicit random state
from NumPy
Simplify a single test. There is no functional change.

1776 - Move the parallel code into a separate module
Move the parallal_map code from sherpa.utils to the new sherpa.utils.
parallel module (the symbols are still accessible from the original
location but code should be updated to use the new location, including the
renames of _ncpus and _multi to ncpus and multi).1777 - Change get_sample
to require named arguments

1778 - Optmethods cleanup
Move testing code out of the optmethods modules and into a separate test,
along with a number of code clean ups. There is no functional change.

1780 - Fix model plot display when factor is set for grouped PHA data (issue
1779)
Ensure that model plots can be created for PHA data when set_analysis
routine is used to set factor > 0 and the data is grouped. Fixes 1779 and
1784

1781 - utils: remove the numpy_convolve routine
Remove the sherpa.utils.numpy_convolve routine.

1785 - Add docs to Sherpa data classes
Add docstring to most Sherpa dataclasses.

1791 - Tests: ensure repeatable test of get_draws
Ensure tests of get_draws use a fixed seed to make the results
reproducible. There is no functional changes in this commit.

1794 - docs: note requirement on ar for building Sherpa
Add ar to the list of requirements for building Sherpa. Fix 1792

1795 - Add docs to describe the inputs for the ``calc`` function of a user
model
Add docs that describe the arguments of the calc function for user models.

1797 - model: explicitly send parameter argument to calc
Ensure that the calc method for models begins with the parameter array
(explicitly given) rather than extracting it from the named arguments sent
to the routine. This should not change any user code.

1800 - utils: minor code clean up
Internal clean up of the sherpa.ui.utils module.

1805 - Clean up display of dataset ids during fits
Ensure dataset ids are listed without leading brackets in the fit and
staterror string outputs (remove an accidental change made in 1770). Fix
1804

1806 - Activate sphinx directive to make plots
Use the Sphinx plot directive to generate (some of) the plots in the docs.

1807 - NumPy 1.25 support
Remove deprecation warnings seen when using NumPy 1.25.0.

1808 - Use Sherpa install instead of code only to build docs
Switches from building the documentations from the source directory, to
building it from an installed version of Sherpa.

1809 - Update the hardcoded Zenodo releases to include the 4.14/4.15 releases
Update the stored Zenodo releases to include the 4.14.* and 4.15.* Sherpa
releases. Users should see no difference (other than avoiding the need for
an http call to retrieve this information) when calling sherpa.citation().

1810 - RTD: fix script name for XSPEC updates
Improve the documentation on how to update to a new XSPEC version by
ensuring the correct helper script is run in an example.

1811 - ui: use the default pickle version when dumping the state
Use the default version when pickling data (used by the UI save call)
rather than an old version. Fix 1243

1812 - Autoupdate copyright year in sphinx docs
Autoupdate copyright year in sphinx docs.

1813 - Fix ReadTheDocs warnings and then make RTD fail on warnings in CI
Fix ReadTheDocs warnings and then make RTD fail on warnings in CI.

1819 - CI: hide NumPy 1.25 array ndim>0 deprecation warnings
Allow the tests to run with NumPy 1.25 and with Crates (from CIAO 4.15) as
the I/O backend. There are no functional changes.

1821 - parallel: tweak ordering of checks for parallelization
Internal change to the decision of whether to use the multiprocessing
module to run code or not.

1823 - sherpa_test: tweak how pytest/plugins are installed
Internal changes to how we check for test requirements used by the
sherpa_test script.

1824 - remove non-existent datastack plotting backend initialization attribute
Clean up error condition by removing the sherpa.plot.backend.
initialize_backend attribute as no longer exists.

1828 - Improve PHA source plots: support type=counts and factor above 1
Source plots for PHA data now follow the rate and factor analysis
settings. Prior to this the rate setting was ignored and the factor
setting produced incorrect values for factor=1 and factor=2). Fix 1825

1829 - Limit precision in the comparison of string outputs
Update the tests to support running on ARM/AARCH64 platforms where numeric
differences can complicate string comparisons. Fix 1815.

1832 - astropy: rework RMF input (fix 1344)
Allow the AstroPy backend to read in HRC-I RMF data. Fixes 1344.

4.15.1

=============

This release of Sherpa includes various enhancements, documentation updates, bug fixes, and infrastructure changes.

* enhancements:
* further improvements to filtering/grouping including reporting a filter change in the UI
* fake_pha can be called with a list of ARF/RMF names
* added linewidth option for line and histogram plots
* documentation changes:
* fixed broken URLs
* improved documentation for templates, plot_pvalue
* added documentation testing with doctestplus
* Infrastructure changes:
* dropped support for Python 3.8
* experimental support of Python 3.11
* supported versions of Xspec are 12.12.0 - 12.13.0
* bug fixes:
* various updates to notice/ignore and group/ungroup code
* fixed issue with show_bkg
* fixed issue when binning values into a 1D histogram
* fixed cache errors with the TableModel class

Details
-------

1396 - XSPEC minimum version is now 12.10.1
Bump the minimum-supported version of XSPEC from 12.9.0 to 12.10.1.
(superseded by 1609)

1472 - tests: remove work-around for 1334 from 1336
Remove a test work around for our CI tests failing (issue 1334)

1486 - Improve filtering/grouping behavior
Changing the grouping array of a PHA dataset (with set_grouping from the UI layer
or by setting the grouping attribute of a DataPHA object) will now re-create the
filter, to fix 1160.
It is suggested that the filter expression (e.g. as returned by the get_filter
routine for uses of the UI layer) is checked to ensure the result is still sensible.

1502 - Cleanup template code
Improve the documentation and testing of the template-model code. There is no
significant change in behavior, but some use cases will generate more-appropriate
errors than they used to.

1591 - Document params and return values for root finding functions
Add docstrings for root finding functions

1607 - Fix an issue when binning values into a 1D histogram
Fix a problem when binning data into a histogram (issue 1605).

1609 - XSPEC minimum version is now 12.12.0
Bump the minimum supported XSPEC version to version 12.12.0.

1611 - Post 4.15.0 updates
Add the 4.15.0 DOI to the README.md.

1613 - Allow testing of the documentation
Adds the ability to run doctests in py and rst files. Those tests will run
automatically, if doctestplus is installed (not on CI in the current setup) and
the file is not explicitly blacklisted for doctestplus.

1621 - Fix a cache error with TableModel
Fix cache errors with the TableModel class (1622), add validation of input
values, and minor additions to the documentation.

4.15.0

=============

This release of Sherpa includes various enhancements, documentation updates, bug fixes, and infrastructure changes.

* enhancements:
* Improved validation of arguments when creating Data objects:
* arrays sent to Data objects are now converted to ndarrays
* the independent axis is now made read-only
* the size of a data object is now fixed.
* Filter setting with notice/ignore are reported to the screen for the users of the UI layer.
* Increased test coverage for plotting
* documentation changes:
* updated readthedocs to use pip and pytest instead of setup.py
* several updates to documentation, including updates to fake_pha, calc_ftest, calc_mlr
* Infrastructure changes:
* Drop support for Python 3.7
* Updates to start creating Python 3.10 Conda packages.
* Use Numpy 1.20 for Python 3.8/3.9 and Numpy 1.21 for Python 3.10.
* Moves toward PEP-517 with some distutils cleanup and more configuration moved from setup.py to setup.cfg
* Various improvements to the GitHub Actions and GitLab workflows
* bug fixes:
* Ensure chi2xspecvar errors match XSPEC when 0 counts are present during background subtraction
* Remove model instances from the global symbol table when clean is called
* Addresses new warnings in the tests for Matplotlib 3.6.0 and AstroPy 5.1
* Minor copy and paste error in fake_pha docstring
* Test issues in test_fake_pha.py due to randomness

Details
-------

1329 - Build updates (move towards PEP-517 support)
Move the Sherpa build system towards a more static configuration (PEP 517)

1412 - XSPEC: initialize XSPEC library at load time
Simplify how and when the XSPEC model library is initialized. Fixes 1388

1477 - Add data validation
Improve the validation of arguments when creating Data objects- Arrays sent to
Data objects are now converted to ndarrays, the independent axis is now made
read-only, the size of a data object is now fixed.

1504 - CI: rework setup
Update the GitHub workflows for Continuous Integration to better take advantage
of the workflow language.

1505 - RTD use pip/pytest rather than setup.py for install/develop/test
Change the RTD documentation to use pip and pytest rather than setup.py when
building and testing Sherpa

1507 - tests: ensure DS9 window is closed after the tests
Ensure that any DS9 process started by the Sherpa tests is closed when the tests
are finished.

1510 - Tests: improve test coverage of plot code
Improve the testing coverage for several plot routines.

1513 - Minor UI tweaks
Added validation to the set_xlog/ylog/xlinear/ylinear and updated save_model,
save_source, save_resid, and save_delchi commands from sherpa.ui to not error
out if not given an explicit identifier.

1516 - Consolidate plot and set_xlog handling
Use the same labels for the plot and set_xlog/set_ylog/set_xlinear/set_ylinear
functions. As a result, a number of names can no-longer be used as an identifier
for a dataset (bkg_chisqr, bkg_delchi, bkg_fit, bkg_model, bkg_ratio, bkg_resid,
bkg_source).

1519 - Use direct html links instead of using `[1]` and a reference section
This replaces the use of a "References" section with direct URL links in
particular in cases where the reference is just a plain old HTML website and
not a scholarly publication.

1523 - Ensure the region-lib code is re-generated when needed
Fix a build issue with clang where the region-library code caused an error
message

1529 - Add arguments to -i in sed calls in config script
Update sed command in config script for improved portability

1532 - Add plot related tests
Add more tests to cover corner case scenarios (mostly plotting related).

1534 - docs: fix calc_ftest/mlr documentation
Note that calc_ftest and calc_mlr can return an array or scalar value, depending
on the input.

1536 - Tests: add more tests of get_order_plot/plot_order
Add a test for multiple orders and plot_order.

1537 - Remove model instances from the global symbol table when clean is called
Ensure that models are removed when clean() is called.

1538 - Ensure chi2xspecvar errors match XSPEC when 0 counts are present during background subtraction
When using the chi2xspecvar statistic for estimating PHA errors, ensure that the
errors match those calculated by XSPEC when the background is subtracted and the
source or background group contains 0 counts

1540 - Tests: fix the random seed for a fake_pha test
Remove randomness from a test.

1547 - Fix CI failures from AstroPy 5.1 warning changes
Allow the macOS tests to run on CI with AstroPy 5.1.

1554 - Install New libxcb Dependencies for Qt
For Linux GitHub Actions, we now install libxcb dependencies required for
Conda's Qt package.

1555 - Bump the ci-pip-arch workflow to ubuntu-20.04
Update to use ubuntu 20 as GutHub Actions is deprecating ubuntu 18.04

1562 - report the change in the filter because of calls to notice and ignore
When a notice or ignore call - including the variants like notice_id and
ignore2d - then the change in the filter is reported to the screen (for users
of the ui layer).

1563 - Add Python 3.10 Conda Builds, Drop Python 3.7 and Numpy <1.20, Switch to Pip for Conda Builds
Drop official support for Python 3.7 and start creating Python 3.10 Conda
packages. Our Conda builds now use Numpy 1.20 for Python 3.8/3.9 and
Numpy 1.21 for Python 3.10.

1566 - GitLab: Add version info to deploy test, update test OS, and allow interrupt.
Updates to gitlab to support automated tests, save version info, set default to
interruptible to allow canceling pipelines, and switched to source conda instead
of adding it to the path

1567 - Fix minor copy and paste error in fake_pha docstring
Make UI layer fake_pha work for XMM/RGS by accepting input of arf=None when an
RMF file is given.

1569 - Minor changes to the fake_pha test added in 1567
Internal changes to the test added for fake_pha in 1567

1572 - Tests: fix a logical test error
Fix a logical error in a plotting test.

1574 - Avoid occasional test errors from Tcl_AsyncDelete
Switch the matplotlib tests to use the Agg backend to avoid possible
Tcl_AsyncDelete errors (issue 1509)

1578 - Gitlab: Reduce artifact retention period
reduces artifact retention from 2 weeks to 3 days due to new gitlab 5gb
restrictions

1579 - Add back --python removed in 1566
reinserts --python flag that was accidentally removed in 1566

1580 -add a versionchanged note for the fake_pha command
Update the documentation to note the change to fake_pha in 1567

1585 - Tests: work around matplotlib 3.6.0 warning
Allow the tests to pass when run with matplotlib version 3.6.0.

1589 - Set the language when building the documentation
Ensure the language setting is defined for recent versions of Sphinx

1594 - gitlab-ci: Set build num to 0 if not set
Set the default Sherpa build number to 0 in our GitLab workflow to know which
package to run deploy tests on for official release builds.

1600 - Change the histogram1d and 2d routines so that they do not sort the input arguments
Address some failures in histogram1d and histogram2d routines by making sure
they copy the input arguments before sorting them.

Caveats
-----------

* There are known issues (1602, 1605, 1606) in the histogram1d/histogram2d functions
leading to failures which were not fully addressed in this release (see the failed
case in the second histogram1d example). This is not the Sherpa core functionality
and numpy.histogram can be used if needed.

4.14.1

=============
This release of Sherpa includes various enhancements, documentation updates, bug fixes, and infrastructure changes.

* enhancements:
* various plotting backend improvements
* various i/o backend improvements
* data object class improvements
* basic support for Xspec 12.12.1
* beta support for python 3.10
* documentation changes:
* updated build with CIAO documentation
* Add a missing class (DataOgipResponse) to the documentation
* Improves the docstrings for DataPHA
* fixed typos in plot docs
* clean up readthedocs issues such as missing bullets
* Infrastructure changes:
* updates for compatibility with Clang 12.0
* updates to the regression tests
* bug fixes:
* Improve the FITS headers created when writing out a PHA file (to better match OGIP standards)
* addresses delete_model_component call failing if a key does not exist
* fixed issue with writing a PHA dataset as a table rather than a PHA file
* ensure FITS column access is case insensitive
* image handling and image coordinates

Details
-------

1030 - Update lev3fft test to use PHYSICAL not WCS
Update a 2D image test to use physical rather than WCS coordinates for the fit.

1185 - Simplify switching the astro.io backend
Add dummy_module, docs, and test case for switching the sherpa.astro.io backend.
io backend are now tried in a default order (crates, pyfits, dummy)

1191 - Make it easier to switch the plotting backend
Make is easier to switch the plotting backend (note that we currently only have on
backend implemented anyway)

1207 - Improve OGIP headers in PHA files
Improve the FITS headers created when writing out a PHA file (to better match OGIP
standards). Fixes 488 and 1209

1314 - test: add requires_data decorator
Add a needed decorator for a test. There's no functional change to the code.

1317 - Add requires group test decorators
Ensure the tests that require the group library are marked with the requires_group
decorator.

1318 - Adjust a test for python 3.10
Adjust a test so that it passes with Python 3.10

1326 - Write-up that environment variable in setup.cfg need to be expanded
Add a detail to developer docs about compiling in a conda ciao environment

1328 - Versioneer cleanup
Update the versioneer module we use from 0.14 to 0.21 (latest).

1331 - optmethods: remove Deprecation warning about invalid escape string
Remove a deprecation warning from sherpa.optmethods.optfcts and update some fake_pha
tests to each use a fixed random seed.

1332 - Add Instrument test
improved the psf tests, adding low-level tests of the tcdData class

1337 - Fix import statements
Change from using __import__ to importlib.import_module.

1338 - clean up some C/C++ code in the _psf.cc file
Minor clean up of C/C++ code

1339 - Add codecov.yml to fix path issue and update codecov uploader
Fix path parsing issue on codecov as well as updated for the new codecov uploader

1340 - Change how the sherpa config file is accessed
Support environments where the HOME environment variable is not set when accessing
the Sherpa configuration file.

1347 - Refactored array classes cause std::vector has non-virtual destructor
std::vector has non-virtual destructor so in this PR the refactored Array (1D and 2D)
classes no longer inherit from std::vector

1348 - Minor internal code cleanup tracking errors
Minor internal changes to how some errors are raised. There should be no
user-visible differences due to this changes.

1351 - Update the sherpa-test-data repo to the latest from main
updates that reference to the latest copy

1353 - Fix issue with delete_model_component
The delete_model_component call could fail in certain circumstances, so fix those
cases. Fixes 16

1355 - Minor cleanup of the I/O code
Minor internal clean-up of the I/O code. There should be no user-visible changes.

1359 - Improve writing out data objects as a table (fix 47)
Fix writing out of PHA datasets as a generic table (both ASCII and FITS formats).
Fixes 47

1360 - Add missing export statement to clang 12 note
Update documentation to be clearer on how to build on clang 12 and avoid compiler
error on implicit function declarations

1361 - Ensure FITS column access is case insensitive for the pyfits I/O backend (fix 143)
Allow FITS colummn access with the pyfits backend to be case insensitive. Fixes 143.

1365 - Simplify a test (fix 541)
Remove duplicated code in a test (fix 541).

1370 - Minor tweaks to handling of PHA settings
Improve the checking of the factor and rate settings of set_analysis and the
plot_fac attribute of the DataPHA class, and add a few tests that exercise some
corner cases of the DataPHA class.

1374 - Address aarch/ppc64le test failures
Update tests to that they pass on aarch64. Fixes 1372

1376 - Very-minor tweaks to docs/tests
Fix a minor test issue and an unused reference in the documentation.

1387 - minimize C++ code duplications (rebase)
Remove code duplication in the XSPEC module.

1399 - Allow conf/covar/proj to be used with XSPEC model parameters (regression)
Ensure that conf, covar, and proj can be called with an XSPEC model parameter.
Fixes 1397.

1401 - Modified region code to remove implicit prototype error
This change updates the extern region code in sherpa to resolve a missing prototype
which causes build issues with clang 12.0.

1403 - Updates to fix typos in the plot documentation
Update to fix a few typos in the plot documentation

1410 - Add script and docs for pre-commit hook to update copyright
Add example script for a git pre-commit hook that checks the copyright is up to date.

1411 - Add sphinx_rtd_theme to sphinx extensions and set min version
Our readthedocs pages have had some visual issues (in particular, bullets point
where missing from output) for a while. This fixes that by ensuring we are using
a recent version of the sphinx theme.

1413 - Add more editor/OS exclusions to .gitignore
Add a VSCode workspace summary files and MacOS directory preview files to .gitignore

1414 - Improve the handling of image coordinates
Address an error when converting between different coordinate systems for images.
Fixes 1380.

1415 - RTD fix missing and changed symbols
Update the ReadTheDocs build to cope with changes in 1191

1418 - Fix minor test issues
Address several minor test issues.

1419 - Keep .rc file backwards compatible
Default rc files will work in older version of sherpa as well.

1421 - Address usability issues with Data2DInt and DataIMGInt classes
Fix issues using the Data2DInt and DataIMGInt classes (1379).

1423 - fix a compiler bug on macOS
update to address compiler issue when compiling on macOS

1424 - rm primini stat method
This PR removes the primini iterative statistical method. Please see issue 1392
for details

1425 - Allow users to freeze models
Models can now be frozen or thawed, which just calls the requested on all the
parameters of the model (except for "alwaysfrozen" parameters which are skipped).
This is only relevant for users who are accessing the objects directly since the ui
versions of freeze and thaw already implemented this behavior. Fixes 1080.

1429 - Tests: fix up test problems shown by pytest 7.0.0
Fix up several tests so they can be run with pytest 7.0.0. Fixes 1428

1434 - Fix aarch64 test failures
Allow the tests to pass on aarch64 (numerical precision checks).

1435 - Minor clean up of the data code
Improves the docstrings for DataPHA, adds tests for several corner-cases, and makes
some minor code improvements to the code.

1440 - Minor clean up of the data routines
Address several minor code-style changes in the data handling (code and tests).

1441 - Clean up the data tests
Clean up of the data tests which were added as part of the data-class rework in 614.

1442 - Ensure channel and count fields for PHA are aliases of independent and dependent axes
Ensure that channel and the independent axis and counts and the dependent axis are
synonymous for the DataPHA class.1451 - Tests: ensure sherpa smoke tests are done
in a clean environment

1453 - Tests: mark those that require the group module
Note a number of tests that require the group module.

1454 - RTD: update copyright year and fix WCS library
Update the sphinx build instructions so that changes from PR 1414 will be documented
correctly on systems where the documentation is being built without first compiling
the code (such as read-the-docs).

1455 - RTD: update the build-from-CIAO documentation
Update the "build with CIAO" documentation to match the CIAO 4.14 conda instructions
and automate the process.

1458 - Improve several issues when building and testing Sherpa
Minor improvements to the build and test installation. The use of setuptools has
been restricted to match the current advice from NumPy (< 60, from
https://numpy.org/devdocs/reference/distutils_status_migration.html).

1461 - Minor grouping cleanup
Minor internal change to how the group routines work for PHA objects.

1462 - Docs: fix up documentation of ui.set_grouping
Fix the documentation for set_grouping to match the code.

1463 - rm a redundant call to calc_h
Removed a redundant call the the calc_h method in the class fdJac

1464 - RTD: include the DataOgipResponse class in the documentation
Add a missing class (DataOgipResponse) to the documentation.

1473 - Data test minor cleanup
Minor test clean-ups.

1474 - Add basic tests of data validation
Ensure we test a number of corner cases related to data validation.

1484 - Include ciao region patch
Allow the CXC Data Model library to be used to parse region files, if available.
This is primarily intended for building Sherpa as part of CIAO.

1485 - get_header_data is an official method of the astro.io backend
An internal change to make sure that the get_header_data routine is part of the
astro I/O backend API.

1490 - Basic support for XSPEC 12.12.1
Allow Sherpa to be built with XSPEC 12.12.1. It does not provide access to the three
new models - polconst, pollin, and polpow - added in this release of XSPEC.

4.14.0

=============
This release of Sherpa includes various documentation updates, bug fixes, enhancements, and infrastructure changes.

* enhancements:
* filtering and grouping area for binned (1D) spectral data has been improved
with changes to the default behavior and many bug fixes resulting in changes
to the statistics, degrees-of-freedom and energy flux in comparison to the
previous version for the same data with the same filter.
* updates to allow users to change the hard limits of XSPEC model parameters
* the sample_flux routine now returns correct information for the clip column
* documentation changes:
* improved PHA simulation documentation
* improved Filtering and grouping of PHA data documentation
* added sherpa.image module documentation
* added section on running tests to developer docs
* Infrastructure Changes:
* updates to support Apple ARM
* update to support Xspec version 12.12
* update fftw from version 3.3.8 to 3.3.9
* clean up of compiler and sphinx warnings
* changes to support gcc 9.3.0 in conda defaults
* updates to support python 3.9 including readline 8.1 upgrade, numpy minimum 1.19 (numpy 1.18 minimum for python 3.7/8)
* test infrastructure clean up and updates
* bug fixes:
* updates to fix several 'unable to parse region string: None' errors
* fix issue where save_all() of a loaded image with no region filter would fail on reload
* fixed issue with plot_model() being called before notice or ignore could lead to filters not getting applied
* fix to error out instead of crash when grouping data using an unsupported method

Details
-------

1031 - Update fwhm calculation
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.

1073 - Allow fake_pha to be called with an identifier of None
The fake_pha command now treats id=None as the default id. This addresses 1064.

1106 - The sample_flux routine now returns the correct information for the clip column
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.

1107 - Add some grating related keywords for _repr_html_ for ARF, RMF, PHA
Add keywords to the default output in the _repr_html_ for some X-ray classes.

1113 - XSPEC: support etable table models
Allow XSPEC ETABLE table model files to be read by load_xstable_model by
setting the etable parameter.

1118 - Improve test cases for source plots with PHA data
Add additional test cases for source plots with PHA data to check out
rarely-used combinations.

1127 - PHA filtering changes
Improve some corner cases for filtering PHA data, including fixing 921 (channel
bounds are integers, not half-integers).

1131 - Test: fix a test failure when XSPEC installed but no fits backend
Avoid running a test we know to fail for an uncommon combination of options.

1134 - This is a doc-string only update for load_multi_XXX
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.

1135 - Added docstring and removed unused no-op class
Remove sherpa.astro.models.MultiResponseSumModel which did nothing and seems
to be unused (except in a test that explicitly skip this class).

1136 - Replace error message "too few columns" with a more generic word
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.

1137 - Correct docstring for fake_pha
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.

1138 - Address NumPy 1.20 bool/int/float deprecation warnings
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

1140 - Fix some remaining master/main renames
clean up references to master with main

1143 - add basic test and documentation for Integrate1D
Add basic testing of the integrate1d model class and improve its documentation.

1144 - A minor cleanup of estmethods
A minor cleanup of the sherpa.estmethods code.

1147 - Tests: support use of data directory being local, not absolute
Allow a test to pass when given a relative path for the test data directory.

1154 - Update docs on RTD builds
Update docs on how the docs are build in CI

1155 - Remove Meta class for fits hdu headers
Remove Meta class for header information that is used only rudimentary and
acts almost, but not quite, like a dict

1163 - XMM/RGS triggers a notice/ignore bug because channels are in reverse-energy order in RMF
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

1164 - Fix plots with wavelength general:visualization type:bug
For some data files, plots with a reversed grid (i.e. plots in wavelength) were
drawn with disjoint lines since 906.

1165 - Add a section on running the tests to the developer docs
Add a section on running the tests to the developer docs

1168 - Logging tweaks
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).

1170 - Update Python and particularly number versions in documentation
Updates to doc pages that list dangerously old numpy versions

1171- Improve the grouping/filtering tests
Add a number of tests for corner cases of filtering and grouping of PHA data.

1172 - Improve data pha docs
Improve the documentation of the filtering and grouping of PHA data.

1173 - Improve DataPha documentation
Minor improvements to the documentation of the DataPHA class.

1175 - Store UI contour plots in a dictionary, not directly
Change the internal storage handling of contour objects

1177 - minor rework of image handling for ui layer
Change the internal storage handling of image objects and improved testing

1178 - Define physical constant hc in fewer places
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.

1180 - Minor improvements to model/parameter documentation
Minor fixes and improvements to the documentation (both docstrings and RTD)
for the model- and parameter-related code.

1182 - Simulations with multiple responses
Enable simulations with multiple ARF/RMF present (e.g. LETG/HRC).

1183 - Check parameter link behavior
Minor tweaks to the parameter tests.

1184 - Better pha model component plotting (fix 1020)
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.

1187 - Conda GCC 9.3.0 update issue
update to support environment changes due to conda defaults updates for
gcc 9.3.0

1192 - Remove Python 3.6 and add Python 3.9
updates to switch python support to python 3.7-3.9

1194 - datastack: Improve show_stack and add _repr_html_ for stack
Improve datastack display (via show_stack and in the notebook) for datastacks.

1198 - XSPEC test cleanup
Very minor improvement to the XSPEC test suite.

1199 - Move the regrid code out into a separate method
Very minor code reorganization for the regrid code.

1203 - Update GitLab Conda recipe to numpy 1.19
updates gitlab conda recipe to python 1.19+ and adds run time pin

1204 - region lib updates for CIAO 4.14
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.

1205 - Remove the SherpaTestCase class
Remove the SherpaTestCase class from sherpa.utils.testing and switch the tests
that used it to use pytest functionality where appropriate.

1208 - Fix get_xerr for Data1DInt when all data is filtered
The get_xerr method of Data1DInt would fail if all bins had been ignored and
it now returns the empty list.

1215 - Restrict the values used in PHA notice/filter calls
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.

1216 - filter improvements for DataPHA and Data1DInt
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).

1218 - Update fftw from version 3.3.8 to 3.3.9
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

1219 - Fix filter expressions
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.

1223 - XSPEC 12.12.0 support
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).

1227 - Support AstroPy 4.3 for tests
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.

1228 - Fix three parameter names for XSPEC models
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.

1230 - Update submodule to pick up submodule README
Updates submodule to pick up the submodule README

1231 - Remove __init__.py from tests directory
Clean up of a test directory. There is no functional change in this commit.

1236 - Remove compiler warnings
Avoid compiler warnings from clang, fixing 1232 and several other warnings.

1241 - to get sherpa to run Apple M1 (arm)
Initial support of sherpa for ARM build

1244 - Fix "unable to parse region string: None" errors (issue 1214)
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.

1246 - Image region filters are now specified correctly (Fix 1245)
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.

1247 - Allow save_all to work well with images with no filters (Fix 437)
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.

1248 - Docs: note that set_stat can be sent a stats object
Update the documentation for set_stat to note you can send in a stats object

1250 - Stop odd interaction between plot_model and PHA filters (Fix 1024)
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

1253 - More numpy 1.20 warning fixes
Avoid warnings from NumPy 1.20 about using the deprecated np.int symbol.

1254 - FIX: 1235 change XSPEC chatter to 10 from 0
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).

1259 - XSPEC parameter changes - you can change the hard limits of most XSPEC parameters
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.

1260 - Add a module to parse XSPEC model.dat and helper scripts 1260
Add support for parsing XSPEC model.dat files (useful for updating the XSPEC
module or if you want to use XSPEC local models).

1261 - update to match recent XSPEC model.dat settings
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.

1264 - Fix crash from grouping data using an unsupported method
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.

1268 - Doc: switch default sphinx role
Multiply the number of working references on readthedocs, while at the same
time reduce verbosity in the docstrings.

1270 - Cleanup setup
Update the Python supported status in the package metadata (drop 3.5, add 3.8)
and bump the minimum version to 3.6.

1273 - crates backend strip preceding/trailing whitespace when determining ascii file colnames (Fix 1262)
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).

1276 - Fix Inconsistent behavior in save_arrays when optional parameter ascii = True/False (Fixes issue 1251)
Updates the data I/O so that write_arrays behaves consistently whether writing
ascii or fits files via the pyfits backend.

1279 - rm the platform cause no longer need it
rm the platform module since it is not needed for ARM support

1281 - RTD: include parse_xspec_model_description
Fix a link on the Read The Docs pages from PR 1260

Page 2 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.