Giter Site home page Giter Site logo

gwastro / pycbc-tutorials Goto Github PK

View Code? Open in Web Editor NEW
113.0 12.0 50.0 31.27 MB

Learn how to use PyCBC to analyze gravitational-wave data and do parameter inference.

Jupyter Notebook 99.99% Shell 0.01%
pycbc jupyter-notebook astronomy gravitational-waves ligo virgo python open-data signal-processing tutorials

pycbc-tutorials's Introduction

PyCBC: Python Software to Study Gravitational Waves

PyCBC is software developed by a collaboration of LIGO, Virgo, and independent scientists. It is open source and freely available. We use PyCBC in the detection of gravitational waves from binary mergers such as GW150914. These examples explore how to analyze gravitational wave data, how we find potential signals, and learn about them.

These notebooks are available to view, download, or run in interactive sessions.

Run tutorials from your browser!

Gravitational-wave Data Analysis

Tutorial 1: Accessing Gravitational-wave data Open Tutorial 1

Tutorial 2: Data visualization and basic signal processing Open Tutorial 2

Tutorial 3: Matched filtering to identify signals Open Tutorial 3

Tutorial 4: Signal Consistency and Basic Significance Testing Open Tutorial 4

Gravitational-wave Inference

Many of these tutorials will require you to make edits to config files as part of their exercises. At the moment this isn't easy to do on services like google colab. However, you can do them either on your local machine or by using services such as mybinder or sciserver which allow a full juypterhub experience with the ability to view and edit text files. Below we give links to the tutorials which should directly work in google colab, however.

Tutorial 0: Overview (this is a summary of inference tutorials 1-6; meant for a shorter tutorial session) Open Tutorial 0

See video presentation of Tutorial 0 by Collin Capano

Tutorial 1: Models (likelihood function you are trying to sample + priors) and Samplers by Hand Open Tutorial 1

Tutorial 5: Results files and Plotting Open Tutorial 5

Tutorial 7: Adding Custom Waveforms to PyCBC Open Tutorial 7

Tutorial 8: Black hole ringdown analysis with PyCBC Open Tutorial 8

Tutorial 9: Adding custom models to PyCBC (e.g. alternate likelihoods, GRB / Kilonova models, etc.) Open Tutorial 9

Some things that you may learn

  • How to access LIGO data
  • How to do some basic signal processing
  • Data visualization of LIGO data in time-frequency plots
  • Matched filtering to extract a known signal

Other ways to run in the browser

Start your mybinder session

pycbc-tutorials's People

Contributors

ahnitz avatar cdcapano avatar jkanner avatar spxiwh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pycbc-tutorials's Issues

gw151226_snr.ipynb: A few minor corrections

Some minor corrections of typos that are not essential but may confuse the beginners:

In PyCBC-Tutorials/examples/gw151226_snr.ipynb:

In [3]: # Generate a waveform similar to LVT151012: ------------------------> GW151226 is correct

In [8]: # Get the data for H1 from the LOSC site: ------------------------------> L1 is correct
# Read the Hanford data and remove low-frequency content: -----> Livingston is correct
# Let's look closer around the H1 peak: ---------------------------------> L1 is correct

In PyCBC-Tutorials/tutorial/4_ChisqSignificance.ipynb:
The block In[2] is repeated.

Thank you for the wonderful tutorials.

Kamran Derakhshani

Files including read_frame() do not work

All PyCBC-Tutorial files that include read_frame() do NOT work, with such an error:

File "/home/master/miniconda3/envs/py27/lib/python2.7/site-packages/pycbc/frame/frame.py", line 135, in locations_to_cache
cache = lalframe.FrOpen(str(dir_name), str(file_name)).cache

RuntimeError: RETURN: untrapped XLAL error

My system:
Ubuntu 14.04 LTS
Python 2.7 (under Spyder in miniconda3)
PyCBC 1.14.4
LALFrame 1.4.5

Thank you.

Frame file binder links not working

I'm trying to run your notebook on colab.research.google.com. I run into trouble where the binder frame file links are not working. E.g., in gw150914_audio.ipynb, the notebook tries downloading

https://raw.githubusercontent.com/ligo-cbc/binder/master/H-H1_LOSC_4_V2-1126259446-32.gwf

which returns a 15-byte file that can't be opened. But if I replace the URL with

https://losc.ligo.org/s/events/GW150914/H-H1_LOSC_4_V2-1126259446-32.gwf

then the notebook works as expected.

Perhaps the frame URLs need to be updated?

Make tutorial 3 more stand-a-lone

The matched filtering tutorials is not quite stand-a-lone for class / workshop use because it doesn't explain how to read frame files to do the challenge sets. It would be good to add an optional refresher at the beginning to demonstrate how to do this.

HDF5 file

Hello. I have data for neutron star mergers in hdf5 file format saved in my computer. How can I upload it so that I can visualize the data and follow tutorial 2 for my own data?

Posterior Layout Adjustment

I would like to know how to modify the posterior layout like color/line style/ Axes line size...etc. I have found documentation of pycbc_inference_plot_posterior dated back to 2016, which does not seem to apply to the pycbc version used here. Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.