PyCBC is a software package used to explore astrophysical sources of gravitational waves. It contains algorithms that can detect coalescing compact binaries and measure the astrophysical parameters of detected sources. PyCBC was used in the first direct detection of gravitational waves (GW150914) by LIGO and is used in the ongoing analysis of LIGO and Virgo data. If you use PyCBC in your scientific publications or projects, we ask that you acknowlege our work by citing the papers described on the page:
Get the full PyCBC software suite with one of our Docker Images
If you have Docker installed, you can get started using PyCBC with just two commands:pycbc — bash — 80x25$
For more details, including instructions on starting a container that can display graphics, see:
Use the PyCBC Library within your Browser
Note, if you are a LIGO / Virgo member with access to LDG resources, PyCBC is already installed on your cluster through CVMFS! Instructions to source any release of PyCBC is available from the releases page.
You may also install PyCBC directly with pip. You may ommit lalsuite if you have your own build.
pip install lalsuite pycbc
Full detailed installation instructions which covers other installation cases:
Parameter Estimation of Gravitational-wave Sources¶
Users who want to create and run parameter estimation workflows should read the documentation at:
Searching for Gravitational-wave Signals¶
Users who want to create and run scientific workflows to search for compact binaries should read the documentation in the links at:
Template Banks, Hardware Injections, and more¶
Users who are interested in tools that PyCBC provides for various other analysis tasks (e.g. template bank generation, hardware injections, and testing template banks) should read the documentation at:
- PyCBC template bank generation documentation (
- Hardware injection waveform generation
- Calculating the Effectualness (Fitting Factor) of Template Banks
- Dag Generator for Doing Faithfulness Comparisons
- Uploading triggers to gracedb
pycbc_condition_strain: operations with strain data files
Extending PyCBC with external plugins¶
Would you like to use a waveform model that PyCBC doesn’t have? Or maybe you have your own waveform you’d like to use for a search, parameter estimation , etc. PyCBC supports a plug-in archictecture for external waveform models.
Library Examples and Interactive Tutorials¶
We have interactive tutorials and examples of using the pycbc. Please give them a try!.
In addition we have some examples below.
- Catalog of Observed Gravitational-wave Mergers
- Query times of valid data, hardware injections, and more.
- Reading Gravitational-wave Frames
- Performing FFTs in PyCBC
- Signal Processing with GW150914
- Gravitational-wave Detectors
- Handling PSDs
- Generating Noise
- Using PyCBC Distributions from PyCBC Inference
Documentation for Developers¶
Documentation on building stand-alone bundled executables with PyInstaller is available at:
PyCBC developers should read the pages below which explain how to write documentation, develop the code, and create releases:
Developers who are interested in file I/O, data storage, and access should read the documentation at:
Developers who are interested in creating new scientific workflow generation scripts should read the documentation at:
Full Module Documentation is available at:
Instructions for building the GitHub pages documentation are at: