Skip to content

Commit

Permalink
Adding JOSS paper
Browse files Browse the repository at this point in the history
  • Loading branch information
bmorris3 committed Jun 18, 2020
1 parent 7bd7402 commit cb9f6a1
Show file tree
Hide file tree
Showing 3 changed files with 129 additions and 2 deletions.
71 changes: 71 additions & 0 deletions docs/paper.bib
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
@ARTICLE{Astropy:2018,
author = {{Astropy Collaboration} and {Price-Whelan}, A.~M. and {Sip{\H o}cz}, B.~M. and
{G{\"u}nther}, H.~M. and {Lim}, P.~L. and {Crawford}, S.~M. and
{Conseil}, S. and {Shupe}, D.~L. and {Craig}, M.~W. and {Dencheva}, N. and
{Ginsburg}, A. and {VanderPlas}, J.~T. and {Bradley}, L.~D. and
{P{\'e}rez-Su{\'a}rez}, D. and {de Val-Borro}, M. and {Aldcroft}, T.~L. and
{Cruz}, K.~L. and {Robitaille}, T.~P. and {Tollerud}, E.~J. and
{Ardelean}, C. and {Babej}, T. and {Bach}, Y.~P. and {Bachetti}, M. and
{Bakanov}, A.~V. and {Bamford}, S.~P. and {Barentsen}, G. and
{Barmby}, P. and {Baumbach}, A. and {Berry}, K.~L. and {Biscani}, F. and
{Boquien}, M. and {Bostroem}, K.~A. and {Bouma}, L.~G. and {Brammer}, G.~B. and
{Bray}, E.~M. and {Breytenbach}, H. and {Buddelmeijer}, H. and
{Burke}, D.~J. and {Calderone}, G. and {Cano Rodr{\'{\i}}guez}, J.~L. and
{Cara}, M. and {Cardoso}, J.~V.~M. and {Cheedella}, S. and {Copin}, Y. and
{Corrales}, L. and {Crichton}, D. and {D'Avella}, D. and {Deil}, C. and
{Depagne}, {\'E}. and {Dietrich}, J.~P. and {Donath}, A. and
{Droettboom}, M. and {Earl}, N. and {Erben}, T. and {Fabbro}, S. and
{Ferreira}, L.~A. and {Finethy}, T. and {Fox}, R.~T. and {Garrison}, L.~H. and
{Gibbons}, S.~L.~J. and {Goldstein}, D.~A. and {Gommers}, R. and
{Greco}, J.~P. and {Greenfield}, P. and {Groener}, A.~M. and
{Grollier}, F. and {Hagen}, A. and {Hirst}, P. and {Homeier}, D. and
{Horton}, A.~J. and {Hosseinzadeh}, G. and {Hu}, L. and {Hunkeler}, J.~S. and
{Ivezi{\'c}}, {\v Z}. and {Jain}, A. and {Jenness}, T. and {Kanarek}, G. and
{Kendrew}, S. and {Kern}, N.~S. and {Kerzendorf}, W.~E. and
{Khvalko}, A. and {King}, J. and {Kirkby}, D. and {Kulkarni}, A.~M. and
{Kumar}, A. and {Lee}, A. and {Lenz}, D. and {Littlefair}, S.~P. and
{Ma}, Z. and {Macleod}, D.~M. and {Mastropietro}, M. and {McCully}, C. and
{Montagnac}, S. and {Morris}, B.~M. and {Mueller}, M. and {Mumford}, S.~J. and
{Muna}, D. and {Murphy}, N.~A. and {Nelson}, S. and {Nguyen}, G.~H. and
{Ninan}, J.~P. and {N{\"o}the}, M. and {Ogaz}, S. and {Oh}, S. and
{Parejko}, J.~K. and {Parley}, N. and {Pascual}, S. and {Patil}, R. and
{Patil}, A.~A. and {Plunkett}, A.~L. and {Prochaska}, J.~X. and
{Rastogi}, T. and {Reddy Janga}, V. and {Sabater}, J. and {Sakurikar}, P. and
{Seifert}, M. and {Sherbert}, L.~E. and {Sherwood-Taylor}, H. and
{Shih}, A.~Y. and {Sick}, J. and {Silbiger}, M.~T. and {Singanamalla}, S. and
{Singer}, L.~P. and {Sladen}, P.~H. and {Sooley}, K.~A. and
{Sornarajah}, S. and {Streicher}, O. and {Teuben}, P. and {Thomas}, S.~W. and
{Tremblay}, G.~R. and {Turner}, J.~E.~H. and {Terr{\'o}n}, V. and
{van Kerkwijk}, M.~H. and {de la Vega}, A. and {Watkins}, L.~L. and
{Weaver}, B.~A. and {Whitmore}, J.~B. and {Woillez}, J. and
{Zabalza}, V. and {Astropy Contributors}},
title = "{The Astropy Project: Building an Open-science Project and Status of the v2.0 Core Package}",
journal = {\aj},
archivePrefix = "arXiv",
eprint = {1801.02634},
primaryClass = "astro-ph.IM",
keywords = {methods: data analysis, methods: miscellaneous, methods: statistical, reference systems },
year = 2018,
month = sep,
volume = 156,
eid = {123},
pages = {123},
doi = {10.3847/1538-3881/aabc4f},
adsurl = {http://adsabs.harvard.edu/abs/2018AJ....156..123A},
adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}

@ARTICLE{Numpy:2011,
author={S. {van der Walt} and S. C. {Colbert} and G. {Varoquaux}},
journal={Computing in Science Engineering},
title={The NumPy Array: A Structure for Efficient Numerical Computation},
year={2011},
volume={13},
number={2},
pages={22-30},
keywords={data structures;high level languages;mathematics computing;numerical analysis;numerical computation;numpy array;numerical data;high level language;Python programming language;Arrays;Numerical analysis;Performance evaluation;Computational efficiency;Finite element methods;Vector quantization;Resource management;Python;NumPy;scientific programming;numerical computations;programming libraries},
doi={10.1109/MCSE.2011.37},
ISSN={1558-366X},
month={March}
}

51 changes: 51 additions & 0 deletions docs/paper.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
---
title: 'linea: Fast linear detrending for CHEOPS photometry'
tags:
- Python
- astronomy
- photometry
authors:
- name: Brett M. Morris
orcid: 0000-0003-2528-3409
affiliation: "1"
affiliations:
- name: Center for Space and Habitability, University of Bern,
Gesellschaftsstrasse 6, CH-3012, Bern, Switzerland
index: 1
date: 18 June 2020
bibliography: paper.bib
---

# Summary

The CHaracterizing ExOPlanets Satellite (CHEOPS) is a 30 cm telescope in orbit
around the Earth, which seeks to measure properties of exoplanets using
photometry, or brightness measurements of the planets and their host stars. The
photometry collected with CHEOPS arrives on users machines in the form of FITS
files which contain photometry that inevitably contains trends as a function of
several variables; for example, the photometry is often covariant with the
stellar centroid position on the detector, the roll angle of the spacecraft,
the flux of contaminants within the aperture, the background and the
dark current.

We present ``linea``, a linear detrending toolkit for CHEOPS photometry.
``linea`` features an efficient ``numpy`` implementation of linear least-squares
regression [@Numpy:2011] which can be used to quickly remove trends from CHEOPS
photometry. The core principle of ``linea`` is that the vector of observed
fluxes observed by CHEOPS can be represented by a linear combination of some
observational vectors, like the roll angle and stellar centroid position.

The ``linea`` API has handy classes and methods for reading in the output files
produced by the CHEOPS Data Reduction Pipeline (DRP), assembling a design matrix
of the housekeeping vectors, regressing the design matrix against the observed
fluxes, and visualizing the results. We built-in two realistic, simulated
example light curves and tutorials on how to detrend them including the phase
curve of 55 Cnc e and four eclipses of WASP-189 b.

The mathematical formalism of the ``linea`` algorithms are detailed in the
software's documentation. The ``linea`` package is built on the ``astropy``
package template [@Astropy:2018]. ``linea`` is open source and contributions are
welcome.

# References

9 changes: 7 additions & 2 deletions linea/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -379,8 +379,13 @@ def concatenate(self):
extra_attrs = ['time', 'mask']
c = namedtuple('ConcatenatedLightCurve', self.attrs + extra_attrs)
for attr in self.attrs + extra_attrs:
setattr(c, attr, np.concatenate([getattr(lc, attr)
for lc in self]))
if attr is not 'time':
setattr(c, attr, np.concatenate([getattr(lc, attr)
for lc in self]))
else:
setattr(c, attr, Time(np.concatenate([getattr(lc, attr).jd
for lc in self]),
format='jd'))
return c

def _pad_shapes(self):
Expand Down

0 comments on commit cb9f6a1

Please sign in to comment.