CIAO's modeling and fitting package
Sherpa is the CIAO modeling and fitting application. It enables the user to construct complex models from simple definitions and fit those models to data, using a variety of statistics and optimization methods (see the Gallery of Examples).
Sherpa version for CIAO 4.16 was released on December 12, 2023. Sherpa in CIAO runs under Python 3.11, 3.10, 3.9, (when installed using the conda package manager) and Python 3.11 (when installed with ciao-install). The full list of the Sherpa updates is given in the 4.16.0 and 4.15.1 release notes on GitHub. The major updates were made to data filtering and grouping, addition of a new plotting backend, new plotting functions and bug fixes. The release highlights include:
- XSPEC
-
-
Updated to version 12.13.1e of the XSPEC model library.
-
Fix an issue with the redshift parameter for XSPEC table models.
-
Allow XSPEC table models which include the ESCALE parameter.
-
Provide experimental support for writing out XSPEC table models.
-
- Filtering and grouping
-
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. The filter status is now reported for calls to the group commands and set_analysis, to follow the behavior of notice and ignore which were changed to report the filter status in CIAO 4.15.
- Models
-
Added support for use of arbitrary python functions when linking model parameters.
- Data access
- Random number generation
-
It is now easier to ensure that Sherpa is repeatable, taking advantage of the NumPy Random Number Generator along with the new set_rng and get_rng calls.
- Plotting improvements
-
New plotting backend: Users can now choose between matplotlib and bokeh (experimental, users need to install the package).
A number of plot issues related to PHA data have been addressed.
The Sherpa infrastructure greatly enhances the default Sherpa functions, and provides users with an environment for developing complex and sophisticated analysis.
Sherpa is designed for use in a variety of modes: as a user-interactive application and in batch mode. Sherpa is an importable module for the Python the scripting language. In addition, users may write their own Python scripts for use in Sherpa.
The About Sherpa page outlines key features of the software, and the Latest Updates page describes new functionality and recent changes. See also the SciPy2009 conference proceedings for detailed information about Sherpa's capabilities.
If you have ideas about how to enhance or improve Sherpa, please contribute ideas (and code) to the Sherpa GitHub repository.
Please send feedback and questions on Sherpa to the CXC Helpdesk or the Sherpa Issues list on GitHub.
Citing Sherpa in a Publication
The sherpa.citation method will return infromation from the latest release on Zenodo:
sherpa> sherpa.citation('latest')
If you are writing a paper and would like to cite Sherpa, we recommend the following papers and presentations:
Sherpa: a mission-independent data analysis
application
(ADS)
P. E. Freeman, S. Doe, A. Siemiginowska
SPIE Proceedings, Vol. 4477, p.76, 2001
\bibitem[Freeman et al.(2001)]{2001SPIE.4477...76F} Freeman, P., Doe, S., \& Siemiginowska, A.\ 2001, \procspie, 4477, 76
The specific version of CIAO and CALDB (if applicable) used for the analysis should be mentioned as well.
A reference for the Python interface to Sherpa is also available:
Developing Sherpa with Python
(ADS)
S. Doe, et al.
Astronomical Data Analysis Software and Systems XVI, 376, 543
\bibitem[Doe et al.(2007)]{2007ASPC..376..543D} Doe, S., et al.\ 2007, Astronomical Data Analysis Software and Systems XVI, 376, 543
Sherpa: 1D/2D modeling and fitting in
Python
(SciPy 2009)
B. Refsdal, S. Doe, D. Nguyen, A. Siemiginowska,
N. Bonaventura, D. Burke, I. Evans, J. Evans, A. Fruscione,
E. Galle, J. Houck, M. Karovska, N. Lee, M. Nowak
Proceedings of the 8th Python in Science Conference
(SciPy 2009), G. Varoquaux, S. van der Walt, J. Millman
(Eds.), pp. 51-57 2009
Fitting and
Estimating Parameter Confidence Limits with
Sherpa (SciPy 2011),
B. Refsdal, S. Doe, D. Nguyen, A. Siemiginowska, V. Kashyap
Proceedings of the 19th Python in Science Conference
(SciPy 2011), S. van der Walt, J. Millman
(Eds.), pp. 4-10 2011
Further guidelines are available from the Acknowledgment of Use of Chandra Resources.