Skip to main content

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

Project description

# pyeebls

This is a module that wraps Geza Kovacs' eebls.f. Taken from Daniel
Foreman-Mackey's [python-bls](https://github.com/dfm/python-bls.git)
module and broken out for easier use by other packages. This is used by the
[astrobase.periodbase](https://github.com/waqasbhatti/astrobase/tree/master/astrobase/periodbase) module.

## eebls.f

- Kovacs, Zucker & Mazeh 2002, A&A, Vol. 391, 369
- http://arxiv.org/abs/astro-ph/0206099
- http://www.konkoly.hu/staff/kovacs/eebls.f

## python-bls

- Foreman-Mackey, D., Angus, R., et al. 2012
- https://github.com/dfm/python-bls.git

## pyeebls

- Bhatti, W., et al. 2017
- https://github.com/waqasbhatti/pyeebls

### Installation

This package is available from PyPI: https://pypi.python.org/pypi/pyeebls

You'll need numpy installed, along with a Fortran compiler:

```bash
(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):

```bash
(venv)$ pip install pyeebls
```

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

```bash
(venv)$ python setup.py install
```


### Documentation

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

```python

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](https://github.com/waqasbhatti/astrobase/blob/master/astrobase/periodbase/kbls.py) 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyeebls-0.1.1.tar.gz (6.2 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page