Toolkit for fitting and manipulating spectroscopic data in python
Project description
pyspeckit.bitbucket.org and https://github.com/pyspeckit/pyspeckit
This is a code framework designed to allow for analysis of spectroscopic data from a wide variety of astronomical instruments. It is motivated by the lack of general spectroscopic analysis tools applicable at multiple wavelengths (compare to IRAF, SPLAT, etc. - these are wavelength-specific and/or do not make user scripting easy).
Initial implementation focuses on optical and radio applications, e.g. gaussian and voigt profile fitting, baseline/continuum fitting, and equivalent width measurements. However, the design is meant to be extensible. We want additional features to be trivial to implement.
In that vein, there is a growing set of spectral models implemented. The model and hyperfinemodel classes makes model implementation quite straightforward, if not trivial (you still have to plug in the right frequency offsets and relative line strengths).
Plotting is straightforward, as is usually the case with matplotlib-based codes. We have a few different methods of error bar plotting implemented, a decent (and expanding) units class for pretty printing of spectroscopic units, and different methods of fit plotting.
We’re also looking for more users to give us more use cases! Contact us at pyspeckit@gmail.com or post issues
Requirements: matplotlib numpy
Preferably at least one of: pyfits atpy asciitable
Optional: scipy lmfit-py lineid_plot
Authors: Adam Ginsburg Jordan Mirocha (or both of us at pyspeckit@gmail.com)
The PySpecKit logo uses the Voyager 1 image of Earth known as the “Pale Blue Dot” [ original source | reprocessed image ]
CHANGES
Release 0.1.14 (2013-09-10)
- Bugfix: integral(direct=True) double-subtracted the baseline if it was
already subtracted
- New Feature: Models now include analytic integrals (only implemented for
Gaussian so far)
New Feature: hyperfine models added that allow varying amplitudes & widths
Release 0.1.13 (2013-03-04)
Cleanup excess data files
Bugfixes in baseline fitting
Added astropy.models interface
Release 0.1.12
New formaldehyde 218 GHz fitter
Allow parinfo to be input as “guess=” or “parinfo=”
Release 0.1.11
bugfix to EQW non-fitted (“empirical”)
Release 0.1.10
bugfix: unit conversion with reference wavelength
bugfix: interactive buttons “reconnected” each time
new feature: voigt profile interactive guess now has 2 widths
Release 0.1.9
Added lineid_plot tools
Baseline can fit power laws
New TSPEC unmerged, IRAF fits readers
astropy.io.fits compatibility fixes
General bugfixes
Voigt Profile Fitter - bugfix, previously abused notation / misused widths
Release 0.1.8
BUGFIX RELEASE
Documentation updates
Speed boost for model grids
Some support for pymodelfit
added emcee and pymc generators
Release 0.1.7
Added cross-correlation
Added (some) unit tests
New interactive slider widget for manipulating models (Spectrum.specfit.add_sliders())
Subtle but very significant bug-fix: parinfo is now a single uniform list, based on the ParinfoList class.
You can now fit based on what you see by using the ‘use_window_limits=True’ kwarg .. warning:: This changes the default behavior in interactive mode!
lmfit-py can now be used for fitting via the ‘use_lmfit’ kwarg
BUGFIX: SpectroscopicAxis can be converted between units even when scalar
velocity frames are read from FITS headers following the VELDEF conventions
Release 0.1.6
H2CO fit / plot wrapper
bugfixes
setup.py no longer tries to write config files
Release 0.1.5
Added GBT (GBTIDL SDFITS file) and ALFALFA (ALFALFA idlsave .src) readers
added extinction model (just a function, not a complete model yet)
Release 0.1.4
removed setuptools & distribute (they fail)
added hydrogen.py to models
first release to inherit from astropy’s Spectrum1D
Release 0.1.3
some internal cleanup / refactoring
override slicing (__getitem__ features)
parallel moment & fitting in Cubes repaired
Release 0.1.2
added MIT license, moved mpfit and parallel_map inside pyspeckit as
submodules
Release 0.1.1
bugfixes and versioning work
Release 0.1.0
Initial creation
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file pyspeckit-0.1.14.tar.gz
.
File metadata
- Download URL: pyspeckit-0.1.14.tar.gz
- Upload date:
- Size: 244.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf601a5ca5371604dde93eb906c8476ccb7de84244e60b0d42b11b1aae8579a9 |
|
MD5 | 1eccdd1afbdc441496f37df8928240ba |
|
BLAKE2b-256 | ff5cba5a0ff464b88e29e4ebf91efe6654f86e4fce9d6bc2d0e4e6d8a460c9e9 |