Skip to content
forked from gecheline/ligeor

Analytical methods for geometrical parameter estimates of eclipsing binary light curves.

License

Notifications You must be signed in to change notification settings

mwrona77/ligeor

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ligeor logo

ligeor (LIght curve GEOmetRy) fits analytical models to eclipsing binary light curves, designed to quickly estimate the geometric properties of the eclipses: positions, widths and depths. Additionally, you can use the built-in MCMC samplers to refine the ephemerides and provide posterior distributions for the periods, t0s and eclipse parameters.

The two-Gaussian model implementation is based on Mowlavi et. al (2017). The polyfit model is described in Prsa et al. (2008). In addition to being able to fit an analytical model, samplers are build on top of emcee that allow for sampling of the posterior parameter space of the models and ephemerides.

The result of the fitting and/or sampling is geometrical eclipse parameter estimates (positions, widths and depths) that can serve as a starting point in more robust analysis.

Getting Started

ligeor depends on the following packages:

  • numpy
  • scipy

and optionally:

  • distl (distributions sampling and computations)
  • emcee (MCMC sampling)
  • phoebe (for computation of synthetic databases)
  • cmasher (for nice looking diagnostic plots)

Install ligeor from pip

pip install ligeor

or from source

python setup.py build
python setup.py install # --user (if local installation, otherwise global)

Basic Usage

Fitting a model to a light curve

from ligeor import TwoGaussianModel

model = TwoGaussianModel(filename=filename, delimiter=',', usecols=(0,1,2), phase_folded=True)
model.fit()
model.plot()
_ = model.compute_eclipse_params()
print(model.eclipse_params)

MCMC for ephemerides refinement and eclipse parameter distributions

from ligeor import EmceeSamplerPolyfit 

sampler = EmceeSamplerPolyfit(filename, period, t0, delimiter=' ', usecols = (0,1,2))
sampler.run_sampler()
sampler.compute_results(burnin=1000)

About

Analytical methods for geometrical parameter estimates of eclipsing binary light curves.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 52.2%
  • Jupyter Notebook 47.8%