From 858bf79933043ab5727c5b7ee1de0ba30c7003c7 Mon Sep 17 00:00:00 2001 From: Ross Barnowski Date: Sat, 25 Jan 2020 20:26:58 -0800 Subject: [PATCH] Brief accounting of eht-imaging and pycbc libraries. Added a few sentences on how components of the scientific python ecosystem are used by pycbc and eht-imaging for the analysis of gravitational wave data and black hole imaging, respectively. Focused mostly on numpy, scipy, and matplotlib. --- body.tex | 27 +++++++++++++++++++++++++++ references.bib | 12 ++++++++++++ 2 files changed, 39 insertions(+) diff --git a/body.tex b/body.tex index c09afe9..74c278c 100644 --- a/body.tex +++ b/body.tex @@ -165,6 +165,33 @@ \section*{Scientific Python ecosystem} % we should have an example of how these tools may all be used in an % example analysis. maybe one of the ones mentioned in the abstract? +The \tt{eht-imaging} library developed by the Event Horizon Telescope +collabortion relies on many components of the scientific Python ecosystem. +NumPy arrays were used to store and manipulate numerical data at every step +in the processing chain: from raw data through calibration and image +reconstruction. +Scipy was used to provide tools used in general image processing such as +filtering and image alignment, while scikit\_image provided higher-level +functionality such as edge filters and Hough transforms. +Other components of Scipy are used throughout the library, such as the +\tt{scipy.optimize} package for handling general optimization tasks. +Matplotlib is used for visualizing data throughout the analysis pipeline, +including the generation of the final image of the black hole. +% N.B. - most of this comes from introspecting the Image class defined in +% ehtim/image.py. + +Tools for analyzing data from gravitational wave observatories such as LIGO +and Virgo are provided by the \tt{pycbc} package, which was used in the first +detection of gravitationaly waves \cite{abbott2016observation} and in +on-going analysis of data from LIGO and Virgo. +\tt{pycbc} make extensive use of the scientific Python ecosystem. +The time-series data from the interferometers are stored in NumPy arrays, +while the \tt{scipy.signal} is used to construct and apply filters to the +data. +Matplotlib is used to visualize data at all points along the analysis chain +including raw data from the instrumentation and the time-frequency +visualization of the ``chirp'' from the binary black hole merger. + Exposing array programming primitives, as well as the surrounding ecosystem of tools, in Python---an interpreted language---creates an ideal environment for interactive, exploratory data analysis where users may iteratively inspect, diff --git a/references.bib b/references.bib index 807d2d4..ef07a5e 100644 --- a/references.bib +++ b/references.bib @@ -2213,6 +2213,18 @@ @article{eht-imaging publisher={IOP Publishing} } +@article{abbott2016observation, + title={Observation of gravitational waves from a binary black hole merger}, + author={Abbott, Benjamin P and Abbott, Richard and Abbott, TD and Abernathy, MR and Acernese, Fausto and Ackley, Kendall and Adams, Carl and Adams, Thomas and Addesso, Paolo and Adhikari, RX and others}, + journal={Physical review letters}, + volume={116}, + number={6}, + pages={061102}, + year={2016}, + publisher={APS} +} + + @incollection{pytorch, title = {PyTorch: An Imperative Style, High-Performance Deep Learning Library}, author = {Paszke, Adam and Gross, Sam and Massa, Francisco and Lerer, Adam and Bradbury, James and Chanan, Gregory and Killeen, Trevor and Lin, Zeming and Gimelshein, Natalia and Antiga, Luca and Desmaison, Alban and Kopf, Andreas and Yang, Edward and DeVito, Zachary and Raison, Martin and Tejani, Alykhan and Chilamkurthy, Sasank and Steiner, Benoit and Fang, Lu and Bai, Junjie and Chintala, Soumith},