This suite of code will do a forward modeling analysis of absorption line spectrum. A Bayesian Voigt profile fitter.
Also includes a sophisticated Voigt profile generation toolbox, and an interactive Voigt profile fitting module.
Installation [using git]:
- From the command line:
git clone https://github.com/rongmon/rbvfit.git
cd rbvfit
python setup.py install
- Main Modules:
- model.py:-
- Top level code allowing creation of a complex and flexible multi-component/ Multi-species Voigt Profile.
- rb_vfit.py:-
- General code to create individual Voigt profiles.
- rb_setline.py:-
- Allows to read in line properties of an atomic transition using an approximate rest wavelength guess.
- rb_interactive_vpfit.py:-
- A complex interactive Voigt profile fitter...
- Two options for fitting: -
- Fast non-linear least squares to fit a model to data.
- Detailed Markov Chain Monte Carlo fitting using emcee.
example_Voigt_profile_fitting.ipynb:-
Example jupyter notebook on how to use these codes to perform a fit [batch mode]
example_Voigt_profile_fitting_interactive.ipynb:-
Example jupyter notebook on how to use these codes to perform a fit [interactive mode]. We guess the number of absorbing clouds and their b, v, n values interactively inside a jupyter notebook.
Written By: Rongmon Bordoloi. July 2019. Tested on : Python 3.7
Dependencies on linetools, emcee, corner
This project has been set up using PyScaffold 3.1. For details and usage information on PyScaffold see https://pyscaffold.org/.