artist
A differentiable ray tracer using the PyTorch machine-learning framework in Python.
Science Score: 57.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 2 DOI reference(s) in README -
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.7%) to scientific vocabulary
Repository
A differentiable ray tracer using the PyTorch machine-learning framework in Python.
Basic Info
Statistics
- Stars: 6
- Watchers: 2
- Forks: 6
- Open Issues: 11
- Releases: 0
Metadata Files
README.md
AI-enhanced differentiable Ray Tracer for Irradiation Prediction in Solar Tower Digital Twins
What ARTIST can do for you
The ARTIST package provides an implementation of a differentiable ray tracer using the PyTorch machine-learning
framework in Python. Leveraging automatic differentiation and GPU computation, it facilitates the optimization of
heliostats, towers, and camera parameters within a solar field by combining gradient-based optimization methods with
smooth parametric descriptions of heliostats.
Our contributions include:
Efficient heliostat calibration: We develop a parallelized geometric kinematic model that enables efficient calibration via either ray tracing-based or motor position data. This offers a flexible and robust approach to heliostat calibration.
Surface reconstruction and flux density prediction: Leveraging learning Non-Uniform Rational B-Splines (NURBS),
ARTISTreconstructs heliostat surfaces accurately using calibration images commonly available in solar thermal power plants. Thus, we can achieve sub-millimeter accuracy in mirror reconstruction from focal spot images, contributing to improved operational safety and efficiency. The reconstructed surfaces can be used for predicting unique heliostat flux densities with state-of-the-art accuracy. Check out this paper for more details.Immediate deployment:
ARTISTenables deployment at the beginning of a solar thermal plant's operation, allowing for in situ calibration and subsequent improvements in energy efficiencies and cost reductions.Optimized flux density: Coming soon so stay tuned :rocket:!
Installation
We heavily recommend installing the ARTIST package in a dedicated Python3.10+ virtual environment. You can
install ARTIST directly from the GitHub repository via:
bash
pip install git+https://github.com/ARTIST-Association/ARTIST
Alternatively, you can install ARTIST locally. To achieve this, there are two steps you need to follow:
1. Clone the ARTIST repository:
bash
git clone https://github.com/ARTIST-Association/ARTIST.git
2. Install the package from the main branch. There are multiple installation options available:
- Install basic dependencies: pip install .
- Install with optional dependencies to run the tutorials: pip install ."[tutorials]"
- Install an editable version with developer dependencies: pip install -e ."[dev]"
Structure
The ARTIST repository is structured as shown below:
.
├── artist # Parent package
│ ├── core # Core functionality of ARTIST, e.g. raytracing, optimizers etc.
│ ├── data_loader # Deals with loading data into ARTIST from different sources.
│ ├── field # Objects in the field, e.g. heliostats and target areas like receivers and calibration targets.
│ ├── scenario # Functionality to create and load scenarios in ARTIST.
│ ├── scene # Light sources and factors influencing the surroundings.
│ └── util
├── tests
│ ├── data
│ │ ├── field_data # Real measurements from the PAINT database and STRAL that can be used in ARTIST.
│ │ ├── scenarios # Scenarios describing an environment that can be loaded by ARTIST.
│ │ └── ...
│ ├── core
│ ├── data_loader
│ └── ...
└── tutorials # Tutorials to help you get started with ARTIST.
├── data # Data accessed in the tutorials.
│ ├── paint # Real measurements from the PAINT database.
│ ├── scenarios # Scenarios describing an environment that can be loaded by ARTIST.
│ └── stral Real # Measurements from STRAL.
└── ...
Documentation
You can check out the full ARTIST documentation at https://artist.readthedocs.io/en/latest/index.html :rocket:!
The ARTIST documentation includes:
- Installation instructions
- Tutorials
- Some theoretical background information
- API reference
How to contribute
Check out our contribution guidelines if you are interested in contributing to the ARTIST project :fire:.
Please also carefully check our code of conduct :blue_heart:.
Acknowledgments
This work is supported by the Helmholtz AI platform grant.
Owner
- Name: ARTIST-Association
- Login: ARTIST-Association
- Kind: organization
- Repositories: 1
- Profile: https://github.com/ARTIST-Association
Citation (CITATION.cff)
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
cff-version: 1.2.0
title: >-
ARTIST - AI-enhanced differentiable Ray Tracer for
Irradiation Prediction in Solar Tower Digital Twins
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: Max
family-names: Pargmann
email: max.pargmann@dlr.de
affiliation: German Aerospace Center (DLR)
orcid: 'https://orcid.org/0000-0002-4705-6285'
- given-names: Kaleb
family-names: Phipps
email: kaleb.phipps@kit.edu
affiliation: Karlsruhe Institute of Technology (KIT)
orcid: 'https://orcid.org/0000-0002-9197-1739'
- given-names: Marie
family-names: Weiel
email: marie.weiel@kit.edu
affiliation: Karlsruhe Institute of Technology (KIT)
orcid: 'https://orcid.org/0000-0001-9648-4385'
- given-names: Marlene
family-names: Busch
email: marlene.busch@dlr.de
affiliation: German Aerospace Center (DLR)
- given-names: Mathias
family-names: Kuhl
email: mathias.kuhl@dlr.de
affiliation: German Aerospace Center (DLR)
orcid: 'https://orcid.org/0000-0003-0097-7260'
- given-names: Felix
family-names: Göhring
email: felix.goehring@dlr.de
affiliation: German Aerospace Center (DLR)
- given-names: Daniel
family-names: Maldonado Quinto
email: daniel.maldonadoquinto@dlr.de
affiliation: German Aerospace Center (DLR)
- given-names: Robert
family-names: Pitz-Paal
orcid: 'https://orcid.org/0000-0002-3542-3391'
email: robert.pitz-paal@dlr.de
affiliation: German Aerospace Center (DLR)
- given-names: Moritz
family-names: Leibauer
email: moritz.leibauer@synhelion.com
affiliation: Synhelion Germany
- given-names: Markus
family-names: Götz
email: markus.goetz@kit.edu
affiliation: Karlsruhe Institute of Technology (KIT)
orcid: 'https://orcid.org/0000-0002-2233-1041'
repository-code: 'https://github.com/ARTIST-Association/ARTIST'
url: 'https://artist.readthedocs.io/en/latest/?badge=latest'
abstract: >-
The ARTIST package provides an implementation of a
differentiable ray tracer using the PyTorch
machine-learning framework in Python. Leveraging automatic
differentiation and GPU computation, it facilitates the
optimization of heliostats, solar towers, and camera parameters
within a solar field by combining gradient-based
optimization methods with smooth parametric descriptions
of heliostats.
keywords:
- Solar Tower Power Plant
- Concentrated Solar Energy
- Differentiable Ray Tracing
- Digital Twin
- Heliostat Calibration
- Surface Reconstruction
- Python
license: MIT
GitHub Events
Total
- Create event: 37
- Issues event: 35
- Watch event: 2
- Delete event: 34
- Member event: 1
- Issue comment event: 113
- Push event: 257
- Pull request review comment event: 646
- Pull request review event: 627
- Pull request event: 56
- Fork event: 6
Last Year
- Create event: 37
- Issues event: 35
- Watch event: 2
- Delete event: 34
- Member event: 1
- Issue comment event: 113
- Push event: 257
- Pull request review comment event: 646
- Pull request review event: 627
- Pull request event: 56
- Fork event: 6
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 18
- Total pull requests: 29
- Average time to close issues: 10 months
- Average time to close pull requests: 18 days
- Total issue authors: 5
- Total pull request authors: 6
- Average comments per issue: 0.72
- Average comments per pull request: 1.69
- Merged pull requests: 21
- Bot issues: 0
- Bot pull requests: 18
Past Year
- Issues: 12
- Pull requests: 27
- Average time to close issues: 5 months
- Average time to close pull requests: 19 days
- Issue authors: 4
- Pull request authors: 4
- Average comments per issue: 0.33
- Average comments per pull request: 1.81
- Merged pull requests: 20
- Bot issues: 0
- Bot pull requests: 18
Top Authors
Issue Authors
- kalebphipps (13)
- MarleneBusch (11)
- Filos1992 (3)
- Markus-Goetz (2)
- mathiaskuhl (1)
Pull Request Authors
- pre-commit-ci[bot] (25)
- MarleneBusch (10)
- kalebphipps (3)
- mcw92 (2)
- Markus-Goetz (1)
- faezs (1)
- Filos1992 (1)