- Notifications
You must be signed in to change notification settings - Fork52
Fit models to your data in Python with Sherpa.
License
sherpa/sherpa
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Table of Contents
Sherpa is a modeling and fitting application for Python. It contains apowerful language for combining simple models into complex expressionsthat can be fit to the data using a variety of statistics andoptimization methods. It is easily extensible to include user models,statistics, and optimization methods. It provides a high-level UserInterface for interactive data-analysis work, such as within aJupyter notebook, and it can also be used as a library component,providing fitting and modeling capabilities to an application.
What can you do with Sherpa?
- fit 1D (multiple) data including: spectra, surface brightness profiles, light curves, general ASCII arrays
- fit 2D images/surfaces in Poisson/Gaussian regime
- build complex model expressions
- import and use your own models
- use appropriate statistics for modeling Poisson or Gaussian data
- import new statistics, with priors if required by analysis
- visualize the parameter space with simulations or using 1D/2D cuts of the parameter space
- calculate confidence levels on the best fit model parameters
- choose a robust optimization method for the fit: Levenberg-Marquardt, Nelder-Mead Simplex or Monte Carlo/Differential Evolution.
Documentation for Sherpa is available atRead The Docsand also forSherpa in CIAO.
AQuick Start Tutorialis included in thenotebooks
folder and can be opened with anipython notebook
.
If you use Sherpa for work/research presented in a publication please cite the Sherpa papers:
Sherpa Paper 2024 (ADS BibTex)
Sherpa Paper 2007 (ADS BibTex )
Sherpa Paper 2001 (ADS BibTex)
If you are using AASTeX and plan to submit an article to one of the AAS journals, we recommend adding a \software{...} tag to your manuscript that cites Sherpa (see theAASTeX guide for more information), e.g.:
\software{Sherpa \citep{2001SPIE.4477...76F,2007ASPC..376..543D,2024arXiv240910400S}}
This program is free software: you can redistribute it and/or modify it underthe terms of the GNU General Public License as published by the Free SoftwareFoundation, either version 3 of the License, or (at your option) any laterversion. A copy of the GNU General Public License can be found in theLICENSE
file provided with the source code, or from theFree Software Foundation.
Full installation instructionsare part of theRead The Docsdocumentation, and should be read if the following is not sufficient.
It is strongly recommended that some form ofvirtual environment isused with Sherpa.
Sherpa is tested against Python versions 3.10 and 3.11 with experimental support for Python 3.12.
The last version of Sherpa which supported Python 2.7 isSherpa 4.11.1.
Sherpa is provided for both Linux and macOS operating systems runningPython 3.10, 3.11, and (experimental) 3.12. It can be installed with theconda
package manager by saying
$ conda install -c https://cxc.cfa.harvard.edu/conda/sherpa -c conda-forge sherpa
Sherpa is also availableon PyPI and so can be installedwith the following command (which requires that the NumPy package isalready installed).
% pip install sherpa
Source installation is available for platforms incompatible with thebinary builds, or for when the default build options are not sufficient(such as including support for theXSPEC
model library).The steps are described in thebuilding from sourcedocumentation.
Sherpa is developed by theChandra X-rayObservatory to provide fitting and modellingcapabilities to theCIAO analysis package. Ithas been released ontoGitHub for users toextend (whether to other areas of Astronomy or in other domains).
About
Fit models to your data in Python with Sherpa.