GWSkyNet
GWSkyNet, developed by Cabero et al. 2020 and refined by Chan et al. 2025, is a machine learning classifier capable of distinguishing between astrophysical events and instrumental artifacts. Designed to facilitate potential EM follow-up observations, the classifier can be operated in low-latency and provide information complementary to what has previously been released in an Open Public Alert(OPA) seconds after an alert is published. A unique feature of the classifier is that it needs only the publicly available information from the OPA system. The classifier can also be expanded easily to intake other information such as the SNRs of a GW candidate in each detector in the network.
GWSkyNet is now being developed as a low-latency annotation pipeline for the fourth observing run of the LIGO Scientific and Virgo Collaboration (O4).
For more detail, please refer to the following document
Getting started
The current version of GWSkyNet uses the following libaries:
- numpy>= 2.0.0
- astropy>= 6.0
- reproject>= 0.8
- ligo.skymap>= 2.0.2
- scipy>= 1.10.1
Using GWSkyNet is easy.
To apply GWSkyNet to a graviational wave candidate to determine the origin of the gravitational wave candidate (glitch or astrophysical) , all is needed is a FITS file corresponding to the gravitational wave alert. Such a FITS file may be downloaded from GraceDB
In the following example, we will use the FITS files corresponding to the Open Public Alert S190421ar.
To apply GWSkyNet to S190421ar, perform the following:
import GWSkyNet.GWSkyNet as G
model = G.load_GWSkyNet_model()
data = G.prepare_data('S190421ar.fits')
class_score = G.predict(model, data)
FAR, FNR = G.get_rates(class_score[0])
Running the above code will output a GWSkyNet score. A class_score closer to 1 indicates the origin is more likely to be astrophysical. FAR and FNR stand for False Alarm Rate and False Negative Rate respectively.
Architecture
GWSkyNet architecture. The first two branches are convolutional neural networks with residual connections for image data. The shape of the input data is indicated in parenthesis, with N the number of examples in the training set. The numbers in the SeparableConv2D (SepConv) and MaxPool layers indicate the kernel size in pixels and the number of filters (when applicable). The number in the Dense layers indicates the number of units.
Performance
False Positive Rate (FPR) and False Negative Rate (FNR) as functions of GWSkyNet score threshold. At a GWSkyNet score threshold >=0.7, GWSkyNet yields 5.6% FNR and 17.1% FPR. Lowering the GWSkyNet score threshold to >=0.4 reduces the FNR to 24.4%, with FPR increased to 2.1%. The intersection is at a GWSkyNet score=0.805, with FPR=FNR=7.3%.
Metadata
Release files for GWSkyNet 2.6.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| gwskynet-2.6.0.tar.gz | 125.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gwskynet-2.6.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 251.9 kB
Release files / gwskynet-2.6.0.tar.gz
| Download URL | gwskynet-2.6.0.tar.gz |
|---|---|
| Size | 125.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4d4f2e6cc3fcc428f92d8370bed7e8aaf3fe9f8c43863f2b50a8095a2344ca79
|
|
BLAKE2b-256 checksum How to use checksums |
da949f37d4fbcdabc51f8753f4a23fb210295a8737f6e3ac70efdf8431b06d01
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.13
|
Release files / gwskynet-2.6.0-py3-none-any.whl
| Download URL | gwskynet-2.6.0-py3-none-any.whl |
|---|---|
| Size | 126.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
42f72a6de198df7b8027817952c7da4a091557d86a877ff1945f67bf5c0a52c7
|
|
BLAKE2b-256 checksum How to use checksums |
588ea2b6c7c89927fc28412b41cc4390c46a4e43565c1456285caa06d2029373
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.13
|