https://github.com/deeplearnphysics/superaatomic
https://github.com/deeplearnphysics/superaatomic
Last synced: 12 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/deeplearnphysics/superaatomic
- Owner: DeepLearnPhysics
- Created: 2022-02-02T19:31:16.000Z (about 4 years ago)
- Default Branch: develop
- Last Pushed: 2024-08-29T08:29:07.000Z (over 1 year ago)
- Last Synced: 2025-04-13T00:34:48.801Z (12 months ago)
- Language: C++
- Size: 419 KB
- Stars: 0
- Watchers: 2
- Forks: 5
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# SuperaAtomic
C++ software to generate true labels for `lartpc_mlreco3d` ([repository](https://github.com/DeepLearnPhysics/lartpc_mlreco3d)), a full data reconstruction chain of modular machine learning (ML) algorithms for 3D particle images. The repository provides Python binding via [`pybind11`](https://pybind11.readthedocs.io/en/stable/), which can be optionally turned off. This software does not implement a process executable to run Supera. An implementation to run this software with [EDepSim](https://github.com/ClarkMcGrew/edep-sim) framework and to produce [larcv](https://github.com/DeepLearnPhysics/larcv3), please see [edep2supera](https://github.com/DeepLearnPhysics/edep2supera).
## How to build
1. Use [this docker image](https://hub.docker.com/layers/deeplearnphysics/dune-nd-sim/ub20.04-cpubase-edep2supera/images/sha256-a9f01459ec3f67c85e2bea813d14d1069ca41a5d8f4b8f301336b992de238ca2?context=repo) (or any other container image derived from it) to get the _most_ of required softwares. Only additional item you would need is [scikit-build](https://scikit-build.readthedocs.io/en/latest/skbuild.html) which you can install with `pip`.
- If you know how to use `cmake` for building a software, you can actually skip `scikit-build` and run `cmake` from `src` directory.
2. Clone this repository (below) or fork-and-clone.
```
> git clone https://github.com/DeepLearnPhysics/SuperaAtomic
```
3. Pull pybind subpackage https://github.com/pybind/pybind11.
```
> git submodule update --init
```
4. Build + Install (the example below installs under your `$HOME/.local` path)
```
> pip install .
```
## ~~Software validation (unit test)~~
~~Simply try:~~
```
pytest test
```
~~at the top-level directory. Note you do need to specify `test` to avoid running `pytest` on `pybind11` (which is under `src` directory and automatically searched by `pytest` unless you specify `test` directory target).~~
** Currently unit test is disabled. TODO: revive the unit test after lots of changes in the source code. **
## How to contribute
1. Fork this repository to your personal github account.
2. Clone the repository to your local machine. Follow the build/install instruction above and make sure you can set up.
3. Create your branch to contain your own development. Code code code.
4. When it's ready to be shared, ~~make sure the unit test passes. Then~~ request to merge by sending a pull request.
**Optional but strongly recommended**: implement a unit test for the added component of your code so that we can reduce chance of someone else breaking in future development.
## Communication for development
* Feel free to use github issues! We try to be attentive as much as possible.
* Join our weekly ND Technical Software Meeting (noon PST every Wednesday, here's [indico category](https://indico.slac.stanford.edu/category/23/)).
* Join our mailing list dunend-simreco-technical@listserv.slac.stanford.edu
- Send an email to listserv@listserv.slac.stanford.edu with an empty title. The body should include this text: `SUBSCRIBE DUNEND-SIMRECO-TECHNICAL FIRST LAST` where you should replace the `FIRST` and `LAST` with your first and last names respectively.
* Join our slack channel (contact [Kazu](mailto:kterao@slac.stanford.edu)).
## Status
More documentation to come.
This repository is an attempt to decouple input file format dependency of the original toolkit `Supera` ([repository](https://github.com/DeepLearnPhysics/Supera)) and currently under development.
Milestones
- [x] Working cmake build with python binding
- [x] Migrate [SuperaMCParticleClusterData](https://github.com/DeepLearnPhysics/Supera/blob/icarus/SuperaMCParticleClusterData.h)
- [x] Migrate [SuperaBBoxInteraction](https://github.com/DeepLearnPhysics/Supera/blob/icarus/SuperaBBoxInteraction.h)
- [ ] Migrate [SuperaMCParticleCluster](https://github.com/DeepLearnPhysics/Supera/blob/icarus/SuperaMCParticleCluster.h)