DeepBench
DeepBench: A simulation package for physical benchmarking data - Published in JOSS (2025)
Science Score: 95.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 4 DOI reference(s) in README and JOSS metadata -
✓Academic publication links
Links to: joss.theoj.org, zenodo.org -
✓Committers with academic emails
2 of 9 committers (22.2%) from academic institutions -
○Institutional organization owner
-
✓JOSS paper metadata
Published in Journal of Open Source Software
Keywords
Scientific Fields
Repository
Simulation library for very simple simulations to benchmark machine learning algorithms
Basic Info
Statistics
- Stars: 5
- Watchers: 10
- Forks: 2
- Open Issues: 12
- Releases: 4
Topics
Metadata Files
README.md
What is it?
Simulation library for very simple simulations to benchmark machine learning algorithms.
Why do we need it? Why is it useful?
- There are very universally recognized scientifically meaningful benchmark data sets, or methods with which to generate them.
- A very simple data set will have objects, patterns, and signals that are intuitively quantifiable and will be fast to generate.
- A very simple data set will be a great testing ground for new networks and for newcomers to practice with the technology.
Documentation
Docs Page
To build from source
pip install sphinx
cd docs
make html
The folder docs/_build/html will be populated with the documentation. Navigate to file:///<Path To DeepBench>/docs/_build/html/index.html in any web browser to view.
Requirements
python = ">=3.12,<4.0," numpy = ">=1.25.0" matplotlib = ">=3.7.1" scikit-image = "^0.23.0" astropy = ">=7.0.0" autograd = ">=1.5" pyyaml = ">=6.0" h5py = ">=3.9.0"
Install
From PyPi
pip install deepbench
From Source
git clone https://github.com/deepskies/DeepBench.git
pip install poetry
poetry install
poetry run pytest --cov
General Features
- very fast to generate
- Mimics in a very basic / toy way what is in astro images
- Be fully controllable parametrically

Included Simulations
- Astronomy Objects - simple astronomical object simulation
Galaxy, Spiral Galaxy, Star
Shapes - simple 2D geometric shapes
Rectangle, Regular Polygon, Arc, Line, Ellipse
Physics Objects - simple physics simulations
Newtonian Pendulum, Hamiltonian Pendulum
Example
Standalone
- Produce 3 instance of a pendulum over 10 different times with some level of noise. ``` import numpy as np from deepbench.collection import Collection
configuration = { "objecttype": "physics", "objectname": "Pendulum", "totalruns": 3, "parameternoise": 0.2, "imageparameters": { "pendulumarmlength": 2, "startingangleradians": 0.25, "accelerationduetogravity": 9.8, "noisestdpercent":{ "accelerationduetogravity": 0 } }, "objectparameters":{ "time": np.linspace(0, 1, 10) } }
phy_objects = Collection(configuration)
phy_objects()
objects = phyobjects.objects parameters = phyobjects.object_params ```
- Produce a noisy shape image with a rectangle and an arc
``` import numpy as np from deepbench.collection import Collection
configuration = { "objecttype": "shape", "objectname": "ShapeImage", "totalruns": 1, "imageparameters": { "imageshape": (28, 28), "objectnoiselevel": 0.6 }, "objectparameters": {
"rectangle":{
"object": {
"width": np.random.default_rng().integers(2, 28),
"height": np.random.default_rng().integers(2, 28),
"fill": True
},
"instance": {}
},
"arc":{
"object": {
"radius": np.random.default_rng().integers(2, 28),
"theta1":np.random.default_rng().integers(0, 20),
"theta2":np.random.default_rng().integers(21, 180)
},
"instance":{}
}
}
}
shapeimage = Collection(configuration) shapeimage()
objects = shapeimage.objects parameters = shapeimage.object_params ```
Fine-Grained Control
- Make a whole bunch of stars ``` from deepbench.astro_object import StarObject import numpy as np
star = StarObject( imagedimensions = (28,28), noiselevel = 0.3, radius= 0.8, amplitude = 1.0 )
generatedstars = [] xposition, yposition = np.random.defaultrng().uniform(low=1, high=27, size=(2, 50)) for xpos, ypos in zip(xposition, yposition): starobject = star.createobject(xpos, ypos) generatedstars.append(starobject) ```
Contributions
Original Team
- Craig Brechmos
- Renee Hlozek
- Brian Nord
Refactor and Deployment
- Ashia Livaudais
- M. Voetberg
Pendulum Team
- Becky Nevin
- Omari Paul
Contributing
Please view the deepskies contribution guidelines before submitting a code addition
Acknowledgement
This work was produced by Fermi Research Alliance, LLC under Contract No. DE-AC02-07CH11359 with the U.S. Department of Energy. Publisher acknowledges the U.S. Government license to provide public access under the DOE Public Access Plan DOE Public Access Plan. Neither the United States nor the United States Department of Energy, nor any of their employees, makes any warranty, express or implied, or assumes any legal liability or responsibility for the accuracy, completeness, or usefulness of any data, apparatus, product, or process disclosed, or represents that its use would not infringe privately owned rights.
We acknowledge the Deep Skies Lab as a community of multi-domain experts and collaborators who’ve facilitated an environment of open discussion, idea-generation, and collaboration. This community was important for the development of this project.
Owner
- Name: Deep Skies Lab
- Login: deepskies
- Kind: organization
- Email: deepskieslab@gmail.com
- Website: www.deepskieslab.com
- Twitter: deepskieslab
- Repositories: 5
- Profile: https://github.com/deepskies
Building community and making discoveries since 2017
JOSS Publication
DeepBench: A simulation package for physical benchmarking data
Authors
Tags
astronomy physics simulation machine learningGitHub Events
Total
- Issues event: 6
- Watch event: 2
- Issue comment event: 5
- Push event: 4
- Pull request review event: 1
- Pull request event: 7
- Fork event: 1
- Create event: 1
Last Year
- Issues event: 6
- Watch event: 2
- Issue comment event: 5
- Push event: 4
- Pull request review event: 1
- Pull request event: 7
- Fork event: 1
- Create event: 1
Committers
Last synced: 5 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| voetberg | m****7@g****m | 122 |
| beckynevin | b****n@g****m | 81 |
| Ashia Lewis | 6****s | 78 |
| Brian Nord | 1****d | 56 |
| Omari Paul | o****3@g****m | 20 |
| Tristan Schefke | t****3@g****m | 3 |
| Kevin Pedro | k****8@g****m | 3 |
| anandijain | a****j@u****u | 1 |
| Paul La Plante | p****t@s****u | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 4 months ago
All Time
- Total issues: 58
- Total pull requests: 48
- Average time to close issues: about 1 month
- Average time to close pull requests: 14 days
- Total issue authors: 7
- Total pull request authors: 5
- Average comments per issue: 1.88
- Average comments per pull request: 0.4
- Merged pull requests: 45
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 7
- Pull requests: 9
- Average time to close issues: about 2 months
- Average time to close pull requests: about 2 months
- Issue authors: 2
- Pull request authors: 2
- Average comments per issue: 0.71
- Average comments per pull request: 0.89
- Merged pull requests: 7
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- voetberg (19)
- beckynevin (15)
- bnord (12)
- omaripaul57 (4)
- jwuphysics (2)
- paxsonswierc (1)
Pull Request Authors
- voetberg (34)
- beckynevin (7)
- omaripaul57 (6)
- plaplant (2)
- bnord (2)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 34 last-month
- Total dependent packages: 0
- Total dependent repositories: 1
- Total versions: 6
- Total maintainers: 2
pypi.org: deepbench
Physics Benchmark Dataset Generator
- Homepage: https://github.com/deepskies/DeepBench
- Documentation: https://deepbench.readthedocs.io/en/latest/
- License: Apache 2.0
-
Latest release: 0.2.3
published over 1 year ago
Rankings
Maintainers (2)
Dependencies
- actions/checkout v2 composite
- actions/setup-python v2 composite
- actions/checkout v3 composite
- actions/upload-artifact v1 composite
- openjournals/openjournals-draft-action master composite
- actions/checkout v2 composite
- actions/setup-python v2 composite
- actions/checkout v2 composite
- actions/setup-python v2 composite
- alabaster 0.7.13 develop
- babel 2.12.1 develop
- certifi 2023.5.7 develop
- cfgv 3.3.1 develop
- charset-normalizer 3.1.0 develop
- colorama 0.4.6 develop
- coverage 7.2.7 develop
- distlib 0.3.6 develop
- docutils 0.20.1 develop
- exceptiongroup 1.1.1 develop
- filelock 3.12.2 develop
- identify 2.5.24 develop
- idna 3.4 develop
- imagesize 1.4.1 develop
- importlib-metadata 6.7.0 develop
- iniconfig 2.0.0 develop
- jinja2 3.1.2 develop
- markupsafe 2.1.3 develop
- nodeenv 1.8.0 develop
- platformdirs 3.8.0 develop
- pluggy 1.2.0 develop
- pre-commit 3.3.3 develop
- pygments 2.15.1 develop
- pytest 7.4.0 develop
- pytest-cov 4.1.0 develop
- pytz 2023.3 develop
- requests 2.31.0 develop
- setuptools 68.0.0 develop
- snowballstemmer 2.2.0 develop
- sphinx 7.0.1 develop
- sphinx-autodoc-typehints 1.23.2 develop
- sphinxcontrib-applehelp 1.0.4 develop
- sphinxcontrib-devhelp 1.0.2 develop
- sphinxcontrib-htmlhelp 2.0.1 develop
- sphinxcontrib-jsmath 1.0.1 develop
- sphinxcontrib-qthelp 1.0.3 develop
- sphinxcontrib-serializinghtml 1.1.5 develop
- tomli 2.0.1 develop
- urllib3 2.0.3 develop
- virtualenv 20.23.1 develop
- astropy 5.2.2
- autograd 1.6.2
- contourpy 1.1.0
- cycler 0.11.0
- fonttools 4.40.0
- future 0.18.3
- h5py 3.9.0
- imageio 2.31.1
- importlib-resources 5.12.0
- kiwisolver 1.4.4
- lazy-loader 0.2
- matplotlib 3.7.1
- networkx 3.1
- numpy 1.24.4
- packaging 23.1
- pillow 9.5.0
- pyerfa 2.0.0.3
- pyparsing 3.1.0
- python-dateutil 2.8.2
- pywavelets 1.4.1
- pyyaml 6.0
- scikit-image 0.20.0
- scipy 1.9.3
- scipy 1.9.1
- six 1.16.0
- tifffile 2023.4.12
- zipp 3.15.0
- pre-commit ^3.2.2 develop
- pytest ^7.3.1 develop
- pytest-cov ^4.0.0 develop
- sphinx ^7.0.1 develop
- sphinx-autodoc-typehints ^1.23.2 develop
- astropy ^5.2.2
- autograd ^1.5
- h5py >=3.9.0
- matplotlib ^3.7.1
- numpy ^1.24.3
- python >=3.8,<4.0,
- pyyaml ^6.0
- scikit-image ^0.20.0
