Skip to content

Commit 32d4f8c

Browse files
authored
Merge pull request #503 from asogaard/update-citation
Update citations and README for v1.0
2 parents b420f57 + 8d3e61b commit 32d4f8c

5 files changed

Lines changed: 133 additions & 74 deletions

File tree

CITATION.cff

Lines changed: 26 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,57 @@
11
cff-version: 1.2.0
22
message: "If you use this software, please cite it as below."
33
title: GraphNeT
4-
doi: 10.5281/zenodo.7152630
4+
doi: 10.5281/zenodo.6720188
55
authors:
66
- family-names: "Søgaard"
77
given-names: "Andreas"
88
orcid: "https://orcid.org/0000-0002-0823-056X"
99
- family-names: "F. Ørsøe"
1010
given-names: "Rasmus"
1111
orcid: "https://orcid.org/0000-0001-8890-4124"
12-
- family-names: "Bozianu"
13-
given-names: "Leon"
14-
orcid: "https://orcid.org/0000-0002-1243-9980"
1512
- family-names: "Holm"
1613
given-names: "Morten"
1714
orcid: "https://orcid.org/0000-0003-1383-2810"
15+
- family-names: "Bozianu"
16+
given-names: "Leon"
17+
orcid: "https://orcid.org/0000-0002-1243-9980"
18+
- family-names: "Rosted"
19+
given-names: "Aske"
20+
orcid: "https://orcid.org/0000-0003-2410-400X"
1821
- family-names: "C. Petersen"
1922
given-names: "Troels"
2023
orcid: "https://orcid.org/0000-0003-0221-3037"
21-
- family-names: "E. Iversen"
24+
- family-names: "Endrup Iversen"
2225
given-names: "Kaare"
2326
orcid: "https://orcid.org/0000-0001-6533-4085"
27+
- family-names: "Hermansen"
28+
given-names: "Andreas"
29+
orcid: "https://orcid.org/0009-0006-1162-9770"
2430
- family-names: "Guggenmos"
2531
given-names: "Tim"
2632
- family-names: "Andresen"
2733
given-names: "Peter"
34+
orcid: "https://orcid.org/0009-0008-5759-0490"
2835
- family-names: "Ha Minh"
2936
given-names: "Martin"
3037
orcid: "https://orcid.org/0000-0001-7776-4875"
38+
- family-names: "Neste"
39+
given-names: "Ludwig"
40+
orcid: "https://orcid.org/0000-0002-4829-3469"
41+
- family-names: "Holmes"
42+
given-names: "Moust"
43+
orcid: "https://orcid.org/0009-0000-8530-7041"
44+
- family-names: "Pontén"
45+
given-names: "Axel"
46+
orcid: "https://orcid.org/0009-0008-2463-2930"
47+
- family-names: "Leonard DeHolton"
48+
given-names: "Kayla"
49+
orcid: "https://orcid.org/0000-0002-8795-0601"
3150
- family-names: "Eller"
3251
given-names: "Philipp"
3352
orcid: "https://orcid.org/0000-0001-6354-5209"
34-
version: 0.2.2
35-
date-released: 2022-10-06
53+
version: 1.0.0
54+
date-released: 2023-05-12
3655
url: "https://github.com/graphnet-team/graphnet"
3756
license: Apache-2.0
3857
type: software

CONTRIBUTING.md

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,4 +49,23 @@ From "Software Best Practices Effective Version Control", Alex Olivas, IceCube B
4949
* Bad commit message: `"blerg"`
5050

5151
Others:
52-
* Keep backward compatibility in mind when you change code.
52+
* Keep backward compatibility in mind when you change code.
53+
54+
## Experiment tracking
55+
56+
We're using [Weights & Biases](https://wandb.ai/) (W&B) to track the results — i.e. losses, metrics, and model artifacts — of training runs as a means to track model experimentation and streamline optimisation. To authenticate with W&B, sign up on the website and run the following in your terminal after having installed this package:
57+
```bash
58+
$ wandb login
59+
```
60+
You can use your own, personal projects on W&B, but for projects of common interest you are encouraged to join the `graphnet-team` team on W&B [here](https://wandb.ai/graphnet-team), create new projects for your specific use cases, and log your runs there. Just ask [@asogaard](https://github.com/asogaard) for an invite to the team!
61+
62+
If you don't want to use W&B and/or only want to log run data locally, you can run:
63+
```bash
64+
$ wandb offline
65+
```
66+
If you change you mind, it's as simple as:
67+
```bash
68+
$ wandb online
69+
```
70+
71+
The [examples/04_training/01_train_model.py](examples/04_training/01_train_model.py) script shows how to train a model and log the results to W&B.

README.md

Lines changed: 14 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,30 @@
1+
<center>
2+
13
![logo](./assets/identity/graphnet-logo-and-wordmark.png)
24

35
| Usage | Development |
46
| --- | --- |
5-
| [![Slack](https://img.shields.io/badge/slack-4A154B.svg?logo=slack)](https://join.slack.com/t/graphnet-team/signup) | ![build](https://github.com/graphnet-team/graphnet/actions/workflows/build.yml/badge.svg) |
7+
| [![status](https://joss.theoj.org/papers/eecab02fb1ecd174a5273750c1ea0baf/status.svg)](https://joss.theoj.org/papers/eecab02fb1ecd174a5273750c1ea0baf) | ![build](https://github.com/graphnet-team/graphnet/actions/workflows/build.yml/badge.svg) |
68
| [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.6720188.svg)](https://doi.org/10.5281/zenodo.6720188) | ![code-quality](https://github.com/graphnet-team/graphnet/actions/workflows/code-quality.yml/badge.svg) |
79
| [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) |
810
| ![Supported python versions](https://img.shields.io/badge/python-3.7%20%7C%203.8%20%7C%203.9%20%7C%203.10-blue) | [![Maintainability](https://api.codeclimate.com/v1/badges/b273a774112e32643162/maintainability)](https://codeclimate.com/github/graphnet-team/graphnet/maintainability) |
911
| [![Docker image](https://img.shields.io/docker/v/asogaard/graphnet?color=blue&logo=docker&sort=semver)](https://hub.docker.com/repository/docker/asogaard/graphnet) | [![Test Coverage](https://api.codeclimate.com/v1/badges/b273a774112e32643162/test_coverage)](https://codeclimate.com/github/graphnet-team/graphnet/test_coverage) |
1012

13+
</center>
14+
1115
## :rocket: About
1216

1317
**GraphNeT** is an open-source Python framework aimed at providing high quality, user friendly, end-to-end functionality to perform reconstruction tasks at neutrino telescopes using graph neural networks (GNNs). GraphNeT makes it fast and easy to train complex models that can provide event reconstruction with state-of-the-art performance, for arbitrary detector configurations, with inference times that are orders of magnitude faster than traditional reconstruction techniques.
1418

19+
Feel free to join the [GraphNeT Slack group](https://join.slack.com/t/graphnet-team/signup)!
20+
21+
### Publications using GraphNeT
22+
23+
| Type | Title | DOI |
24+
| --- | --- | --- |
25+
| Paper | GraphNeT: Graph neural networks for neutrino telescope event reconstruction | [![status](https://joss.theoj.org/papers/eecab02fb1ecd174a5273750c1ea0baf/status.svg)](https://joss.theoj.org/papers/eecab02fb1ecd174a5273750c1ea0baf) |
26+
| Paper | Graph Neural Networks for low-energy event classification & reconstruction in IceCube | [![JINST](https://img.shields.io/badge/JINST-10.1088%2F1748--0221%2F17%2F11%2FP11003-blue)](https://doi.org/10.1088/1748-0221/17/11/P11003) |
27+
1528
## :gear: Install
1629

1730
We recommend installing `graphnet` in a separate environment, e.g. using a Python virtual environment or Anaconda (see details on installation [here](https://www.anaconda.com/products/individual)). Below we prove installation instructions for different setups.
@@ -169,25 +182,6 @@ To make sure that the process of contributing is as smooth and effective as poss
169182
In short, everyone who wants to contribute to this project is more than welcome to do so! Contributions are handled through pull requests, that should be linked to a [GitHub issue](https://github.com/graphnet-team/graphnet/issues) describing the feature to be added or bug to be fixed. Pull requests will be reviewed by the project maintainers and merged into the main branch when accepted.
170183

171184

172-
## :test_tube: Experiment tracking
173-
174-
We're using [Weights & Biases](https://wandb.ai/) (W&B) to track the results — i.e. losses, metrics, and model artifacts — of training runs as a means to track model experimentation and streamline optimisation. To authenticate with W&B, sign up on the website and run the following in your terminal after having installed this package:
175-
```bash
176-
$ wandb login
177-
```
178-
You can use your own, personal projects on W&B, but for projects of common interest you are encouraged to join the `graphnet-team` team on W&B [here](https://wandb.ai/graphnet-team), create new projects for your specific use cases, and log your runs there. Just ask [@asogaard](https://github.com/asogaard) for an invite to the team!
179-
180-
If you don't want to use W&B and/or only want to log run data locally, you can run:
181-
```bash
182-
$ wandb offline
183-
```
184-
If you change you mind, it's as simple as:
185-
```bash
186-
$ wandb online
187-
```
188-
189-
The [examples/04_training/01_train_model.py](examples/04_training/01_train_model.py) script shows how to train a model and log the results to W&B.
190-
191185
## :memo: License
192186

193187
GraphNeT has an Apache 2.0 license, as found in the [LICENSE](LICENSE) file.

paper/paper.bib

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,13 @@
11
// GraphNeT Zenodo
2-
@software{graphnet_zenodo:2022,
3-
author = {Andreas Søgaard and
4-
Rasmus F. Ørsøe and
5-
Leon Bozianu and
6-
Morten Holm and
7-
Kaare Endrup Iversen and
8-
Tim Guggenmos and
9-
Martin Ha Minh and
10-
Philipp Eller},
11-
title = {GraphNeT},
12-
month = jun,
13-
year = 2022,
14-
publisher = {Zenodo},
15-
doi = {10.5281/zenodo.6720188},
16-
url = {https://doi.org/10.5281/zenodo.6720188}
2+
@software{Sogaard_GraphNeT_2023,
3+
author = {Søgaard, Andreas and F. Ørsøe, Rasmus and Holm, Morten and Bozianu, Leon and Rosted, Aske and C. Petersen, Troels and Endrup Iversen, Kaare and Hermansen, Andreas and Guggenmos, Tim and Andresen, Peter and Ha Minh, Martin and Neste, Ludwig and Holmes, Moust and Pontén, Axel and Leonard DeHolton, Kayla and Eller, Philipp},
4+
doi = {10.5281/zenodo.6720188},
5+
license = {Apache-2.0},
6+
month = may,
7+
title = {{GraphNeT}},
8+
url = {https://github.com/graphnet-team/graphnet},
9+
version = {1.0.0},
10+
year = {2023}
1711
}
1812

1913
@incollection{NEURIPS2019_9015,
@@ -23,6 +17,7 @@ @incollection{NEURIPS2019_9015
2317
editor = {H. Wallach and H. Larochelle and A. Beygelzimer and F. d\textquotesingle Alch\'{e}-Buc and E. Fox and R. Garnett},
2418
pages = {8024--8035},
2519
year = {2019},
20+
doi = {doi.org/10.48550/arXiv.1912.01703},
2621
publisher = {Curran Associates, Inc.},
2722
url = {http://papers.neurips.cc/paper/9015-pytorch-an-imperative-style-high-performance-deep-learning-library.pdf}
2823
}

paper/paper.md

Lines changed: 63 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -12,38 +12,70 @@ tags:
1212
- neutrinos
1313

1414
authors:
15-
- name: Andreas Søgaard
16-
orcid: 0000-0002-0823-056X
17-
affiliation: 1 # "1, 2" (Multiple affiliations must be quoted)
18-
corresponding: true
19-
- name: Rasmus F. Ørsøe
20-
orcid: 0000-0001-8890-4124
21-
affiliation: 2
22-
- name: Leon Bozianu
23-
affiliation: 1
24-
- name: Morten Holm
25-
affiliation: 1
26-
- name: Kaare Endrup Iversen
27-
affiliation: 1
28-
- name: Tim Guggenmos
29-
affiliation: 2
30-
- name: Martin Ha Minh
31-
orcid: 0000-0001-7776-4875
32-
affiliation: 2
33-
- name: Philipp Eller
34-
orcid: 0000-0001-6354-5209
35-
affiliation: 2
36-
- name: Troels C. Petersen
37-
orcid: 0000-0003-0221-3037
38-
affiliation: 1
15+
- name: Andreas Søgaard
16+
affiliation: 1
17+
orcid: 0000-0002-0823-056X
18+
corresponding: true
19+
- name: Rasmus F. Ørsøe
20+
affiliation: "1, 2"
21+
orcid: 0000-0001-8890-4124
22+
- name: Morten Holm
23+
affiliation: 1
24+
orcid: 0000-0003-1383-2810
25+
- name: Leon Bozianu
26+
affiliation: 1
27+
orcid: 0000-0002-1243-9980
28+
- name: Aske Rosted
29+
affiliation: 3
30+
orcid: 0000-0003-2410-400X
31+
- name: Troels C. Petersen
32+
affiliation: 1
33+
orcid: 0000-0003-0221-3037
34+
- name: Kaare Endrup Iversen
35+
affiliation: 1
36+
orcid: 0000-0001-6533-4085
37+
- name: Andreas Hermansen
38+
affiliation: 1
39+
orcid: 0009-0006-1162-9770
40+
- name: Tim Guggenmos
41+
affiliation: 2
42+
- name: Peter Andresen
43+
affiliation: 1
44+
orcid: 0009-0008-5759-0490
45+
- name: Martin Ha Minh
46+
affiliation: 2
47+
orcid: 0000-0001-7776-4875
48+
- name: Ludwig Neste
49+
affiliation: 4
50+
orcid: 0000-0002-4829-3469
51+
- name: Moust Holmes
52+
affiliation: 1
53+
orcid: 0009-0000-8530-7041
54+
- name: Axel Pontén
55+
affiliation: 5
56+
orcid: 0009-0008-2463-2930
57+
- name: Kayla Leonard DeHolton
58+
affiliation: 6
59+
orcid: 0000-0002-8795-0601
60+
- name: Philipp Eller
61+
affiliation: 2
62+
orcid: 0000-0001-6354-5209
3963

4064
affiliations:
41-
- name: Niels Bohr Institute, University of Copenhagen, Denmark
42-
index: 1
43-
- name: Technical University of Munich, Germany
44-
index: 2
45-
46-
date: 16 September 2022
65+
- name: Niels Bohr Institute, University of Copenhagen, Denmark
66+
index: 1
67+
- name: Technical University of Munich, Germany
68+
index: 2
69+
- name: Chiba University, Japan
70+
index: 3
71+
- name: Technical University of Dortmund, Germany
72+
index: 4
73+
- name: Uppsala University, Sweden
74+
index: 5
75+
- name: Pennsylvania State University, USA
76+
index: 6
77+
78+
date: 12 May 2023
4779

4880
bibliography: paper.bib
4981

@@ -53,7 +85,7 @@ bibliography: paper.bib
5385

5486
Neutrino telescopes, such as ANTARES [@ANTARES:2011hfw], IceCube [@Aartsen:2016nxy; @DeepCore], KM3NeT [@KM3Net:2016zxf], and Baikal-GVD [@Baikal-GVD:2018isr] have the science goal of detecting neutrinos and measuring their properties and origins. Reconstruction at these experiments is concerned with classifying the type of event or estimating properties of the interaction.
5587

56-
`GraphNeT` [@graphnet_zenodo:2022] is an open-source Python framework aimed at providing high quality, user friendly, end-to-end functionality to perform reconstruction tasks at neutrino telescopes using graph neural networks (GNNs). `GraphNeT` makes it fast and easy to train complex models that can provide event reconstruction with state-of-the-art performance, for arbitrary detector configurations, with inference times that are orders of magnitude faster than traditional reconstruction techniques [@gnn_icecube].
88+
`GraphNeT` [@Sogaard_GraphNeT_2023] is an open-source Python framework aimed at providing high quality, user friendly, end-to-end functionality to perform reconstruction tasks at neutrino telescopes using graph neural networks (GNNs). `GraphNeT` makes it fast and easy to train complex models that can provide event reconstruction with state-of-the-art performance, for arbitrary detector configurations, with inference times that are orders of magnitude faster than traditional reconstruction techniques [@gnn_icecube].
5789

5890
GNNs from `GraphNeT` are flexible enough to be applied to data from all neutrino telescopes, including future projects such as IceCube extensions [@IceCube-PINGU:2014okk; @IceCube:2016xxt; @IceCube-Gen2:2020qha] or P-ONE [@P-ONE:2020ljt]. This means that GNN-based reconstruction can be used to provide state-of-the-art performance on most reconstruction tasks in neutrino telescopes, at real-time event rates, across experiments and physics analyses, with vast potential impact for neutrino and astro-particle physics.
5991

0 commit comments

Comments
 (0)