pyeebls

Python f2py extension wrapping eebls.f by Kovacs et al. 2002.


Keywords
astronomy, bls, fortran, period-finding, python
License
MIT
Install
pip install pyeebls==0.1.6

Documentation

pyeebls

This is a module that wraps Geza Kovacs' eebls.f. Taken from Daniel Foreman-Mackey's python-bls module and broken out for easier use by other packages. This is used by the astrobase.periodbase module.

eebls.f

python-bls

pyeebls

Installation

This package is available from PyPI: https://pypi.python.org/pypi/pyeebls. If you're using Python 2.7, 3.4--3.6 on 64-bit Linux or Python 2.7/3.6 on 64-bit Windows or Mac OSX >= 10.12, you should be able to install the binary wheels from PyPI so no Fortran compiler is needed.

(venv)$ pip install pyeebls

If this is not the case, you'll need to have numpy installed, along with a Fortran compiler:

(venv)$ pip install numpy # in a virtualenv
# or use dnf/yum/apt install numpy to install systemwide

## you'll need a Fortran compiler to install pyeebls!         ##
## on Linux: dnf/yum/apt install gcc gcc-gfortran             ##
## on OSX (using homebrew): brew install gcc && brew link gcc ##

Then, install pyeebls using pip (preferably in a virtualenv or use the --user flag):

(venv)$ pip install pyeebls

Or download the tarball from PyPI, extract the files, and run setup.py:

(venv)$ python setup.py install

Documentation

There's only one function to use in this module.

def pyeebls.eebls(times, mags, workarr_u, workarr_v,
                  nfreq, freqmin, stepsize,
                  nbins, minduration, maxduration):

Calculates the BLS spectrum for the input times and mags arrays.

Parameters

times : ndarray : A numpy array containing the times of the measurements.

mags : ndarray : A numpy array containing the mags or fluxes to use as measurements.

workarr_u, workarr_v : ndarray : Numpy arrays that must be the same size as times, used as temp workspaces by the Fortran function.

nfreq : int : The number of frequencies to search for the best period.

freqmin : float : The minimum frequency to use.

stepsize : float : The stepsize in frequency units to use while searching.

nbins : int : The number of bins to use when phasing up the light curve at a single test period.

minduration : float : The minimum transit duration in phase units to consider when testing for a transit.

maxduration : float : The minimum transit duration in phase units to consider when testing for a transit.

Returns

A sequence of results:

(power, bestperiod, bestpower, transdepth,
 transduration, transingressbin, transegressbin)

power : ndarray : A numpy array containing the values of the BLS spectrum at each tested frequency.

bestperiod : float : The period at the highest peak in the frequency spectrum.

bestpower : float : The power at the highest peak in the frequency spectrum.

transdepth : float : The depth of the transit at the best period.

transduration : float : The length of the transit as a fraction of the phase. This is the so-called 'q' parameter.

transingressbin : int : The phase bin index for the start of the transit.

transegressbin : int : The phase bin index for the end of the transit.

See Also

  • the comments at the top of eebls.f in this package
  • the astrobase.periodbase.kbls module for a high-level interface to this module

License

The license for the Python files is the MIT License. eebls.f is provided by G. Kovacs; it appears to be re-distributable, but please make sure to cite Kovacs, et al. 2002 if you use this implementation.