Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
5900ae1
First version of render API
ScepticalRabbit Aug 19, 2026
b9814d2
Generated doc strings
ScepticalRabbit Aug 19, 2026
006ed73
Expanded tests and added fails diagnostic image helper
ScepticalRabbit Aug 19, 2026
f7f5781
Modified gitignore to create some draft README files
ScepticalRabbit Aug 19, 2026
5882f3d
Added Feebee stub and fixed blender as optional dep
ScepticalRabbit Aug 19, 2026
b2a0d5c
Added moose and gmsh detection
ScepticalRabbit Aug 19, 2026
534a38d
Migrated blender to render api
ScepticalRabbit Aug 20, 2026
9efd7d0
Tidy up of unified scene data structure
ScepticalRabbit Aug 20, 2026
e89f7f1
Tidying up blender and making legacy tests still work. Tidied up scen…
ScepticalRabbit Aug 20, 2026
051a62b
Tidying up riley examples
ScepticalRabbit Aug 20, 2026
3774805
Finished adding examples as tests and cleaned up strain test output s…
ScepticalRabbit Aug 20, 2026
e972951
Adding validation data now after tidy up of dataset/data directories
ScepticalRabbit Aug 20, 2026
514c385
Refactor meshes in render API and added testing details
ScepticalRabbit Aug 21, 2026
bb4e4d4
Resolving mesh convention issues for renderers and consolidating tool…
ScepticalRabbit Aug 21, 2026
69246a6
Updated meshtools to wrap riley
ScepticalRabbit Aug 23, 2026
3e5c68c
Renaming to match file name convention
ScepticalRabbit Aug 23, 2026
dcd1549
Cleaned up image warp 2d API
ScepticalRabbit Aug 23, 2026
dcda7b4
Added enums for psf and distorion models
ScepticalRabbit Aug 24, 2026
9fc0ce1
Updated to new Riley mesh conv api, updated tests and fixed docs hang…
ScepticalRabbit Aug 24, 2026
2795a56
Updated riley parity tests to make them run faster
ScepticalRabbit Aug 24, 2026
9123129
Updated for compatibility with Riley's latest mesh convention API
ScepticalRabbit Aug 25, 2026
ceadc49
Split render examples into 2d and 3d
ScepticalRabbit Aug 25, 2026
abe204c
Refactor and consistency updates for render api
ScepticalRabbit Aug 25, 2026
ff9292f
Added triangle tests to all renderers
ScepticalRabbit Aug 25, 2026
6e59498
Updating dev guides, adding abbreviations and moving design specs to …
ScepticalRabbit Aug 25, 2026
9462495
Added abbreviations
ScepticalRabbit Aug 26, 2026
39297c5
Fixed blender test
ScepticalRabbit Aug 26, 2026
9c1c9f0
Refactor of render api for consistency and clarity
ScepticalRabbit Aug 26, 2026
8db0b9e
Finished Riley ex1a
ScepticalRabbit Aug 26, 2026
63a3581
Fixed riley examples to have explicit step by step render api usage
ScepticalRabbit Aug 26, 2026
85dea3e
Tidying up warnings in the tests
ScepticalRabbit Aug 26, 2026
a82a8cf
Updating riley examples and tests to ensure parity
ScepticalRabbit Aug 26, 2026
9159d20
Updated stereo calibration example for riley
ScepticalRabbit Aug 26, 2026
0843934
Fixed blender examples
ScepticalRabbit Aug 26, 2026
402983c
Pulling in example updates
ScepticalRabbit Aug 28, 2026
9469b61
Fixed bug with riley ex1b
ScepticalRabbit Aug 28, 2026
566c66c
Adding example images to repo for docs of render api
ScepticalRabbit Aug 28, 2026
ccb51fa
Added headers to Riley examples
ScepticalRabbit Aug 28, 2026
06e5e8c
Added examples on uv generation
ScepticalRabbit Aug 28, 2026
d8dc118
Formatting render examples for clarity
ScepticalRabbit Aug 28, 2026
b65869c
Consolidating, refactoring and reordering examples
ScepticalRabbit Aug 28, 2026
4930443
Consolidating and refactoring render examples
ScepticalRabbit Aug 28, 2026
f1e6be7
Consolidating render helper toolboxes
ScepticalRabbit Aug 28, 2026
097ff47
Formatting fixes and consolidation of render examples and preview images
ScepticalRabbit Aug 28, 2026
8eadbe8
Removing calls to Riley helper functions for native render helpers
ScepticalRabbit Aug 28, 2026
7dcc7d8
Reviewing render module helper code
ScepticalRabbit Aug 28, 2026
42e0084
Removing 2D image deformation API for simplicity - storing code in ra…
ScepticalRabbit Aug 28, 2026
eaa0b71
Consolidating refactor after removing 2D image deformagtion code
ScepticalRabbit Aug 28, 2026
a9f9678
Fixed removing 2D image deformation code
ScepticalRabbit Aug 28, 2026
3085a34
Refactored uv examples to make them clearer and tidy up
ScepticalRabbit Aug 28, 2026
2df226a
Fixing render uvs examples
ScepticalRabbit Aug 28, 2026
380829d
Overhaul camera tools based on riley api update
ScepticalRabbit Aug 28, 2026
fc8a00e
Added uv functions to make generating uvs more useful for experimenta…
ScepticalRabbit Aug 30, 2026
57e7b02
Fixing formatting and rst issues in docs, tidying up renderuv examples
ScepticalRabbit Aug 30, 2026
a96edc5
Fixed formatting issues raised by docs build throughout docstrings
ScepticalRabbit Aug 30, 2026
df28219
Tidying up render module docstrings
ScepticalRabbit Aug 30, 2026
209e211
Added a simplified mesh loader to the dataio module to simplify rende…
ScepticalRabbit Aug 30, 2026
dba020a
Final polish of render uvs examples
ScepticalRabbit Aug 31, 2026
b5124ca
Version number bump, tweaks to examples dependent on render module
ScepticalRabbit Aug 31, 2026
cba071c
Merge branch 'render-api' into readme-update
ScepticalRabbit Aug 31, 2026
44c2004
New version of README showcasing core modules, updated citations, mov…
ScepticalRabbit Aug 31, 2026
ad3dcce
Fixed Riley-DIC example
ScepticalRabbit Aug 31, 2026
a9c3584
Fix vector and tensor field transforms for general non-symmetric matr…
ScepticalRabbit Sep 1, 2026
b7209d6
Updating dev docs to link to style guide
ScepticalRabbit Sep 4, 2026
2a91de3
Simplified link to style guides
ScepticalRabbit Sep 4, 2026
c385187
Updated based on significant changes to Riley's mesh tools api
ScepticalRabbit Sep 8, 2026
c495269
Updating Riley examples
ScepticalRabbit Sep 11, 2026
32f3436
Merge pull request #375 from Computer-Aided-Validation-Laboratory/rea…
ScepticalRabbit Sep 15, 2026
6b7aa7a
Fixing tests
ScepticalRabbit Sep 15, 2026
2948cfe
Cleaning up
ScepticalRabbit Sep 15, 2026
12faa44
Merge branch 'dev' into render-api
ScepticalRabbit Sep 15, 2026
0247b4b
Finale review of readme and tweak taglin in toml
ScepticalRabbit Sep 16, 2026
f14f187
Fixing toml issue
ScepticalRabbit Sep 16, 2026
77dc0ff
Removing legacy blender tests
ScepticalRabbit Sep 16, 2026
a4cf656
Fixing blender tests and examples to only be in render module
ScepticalRabbit Sep 16, 2026
9fd9c19
Fixing test setup and teardown
ScepticalRabbit Sep 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 3 additions & 3 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ jobs:
if: matrix.env-type == 'pip'
run: |
python -m pip install --upgrade pip
pip install -e . -v
pip install -e ".[blender]" -v
pip install pytest pytest-mock

- name: Smoke test
Expand All @@ -77,7 +77,7 @@ jobs:
shell: bash -el {0}
run: pytest -v tests/dic/. tests/sensorsim/. tests/strain/.

- name: Run blender tests (skip macOS ARM)
- name: Run render tests (skip macOS ARM)
if: ${{ !startsWith(matrix.os, 'macos') || contains(matrix.os, 'intel') }}
shell: bash -el {0}
run: pytest -v tests/blender/.
run: pytest -v tests/render/.
36 changes: 28 additions & 8 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
pyvale-env/
.venv/
.pytest_cache/
temp/
.clangd

# Output files
Expand All @@ -20,9 +21,11 @@ pyvale-env/
*.blend
*.csv
*.json
*.bmp
pyvale-output/
pyvale-input/
test-output/
render-fails/
test-input/
tests/strain/test/

Expand All @@ -34,10 +37,13 @@ tests/strain/test/
# Keep these as they are used for examples
!src/pyvale/data/*.tiff
!src/pyvale/data/*.e
!src/pyvale/data/**/
!src/pyvale/data/**
!reports/images/*.png
!reports/images/*.svg
!images/*.png
!images/*.svg
!images/*.yaml
!docs/source/_static/*.png

# Keep these as they are gold output for regression tests
Expand All @@ -50,15 +56,19 @@ tests/strain/test/
!tests/mooseherder/txt_gold/*.npy
!tests/dataio/txt_gold/*.csv
!tests/dataio/txt_gold/*.npy
!tests/blender/2D_gold/*.npy
!tests/blender/3D_gold/*.npy
!tests/render/gold_riley/*.npy
!tests/render/gold_riley/**/*.npy
!tests/render/gold_blender/*.npy
!tests/render/gold_blender/**/*.npy
!tests/render/gold_blender/**/*.yaml

# Image deformation test cases
*.pkl
*.dill
imdefcase*_*/
deformed_images/
src/deformed_images/
src/pyvale/examples/render/out-riley-py

# Cython diagnostics
src/pyvale/cython/*.html
Expand All @@ -71,13 +81,16 @@ src/pyvale/cython/*.html
# restructured text files for API documentation.
pyvale.rst
pyvale.*.rst
!docs/source/pyvale.render.uvtools.rst
docs/source/cpp
docs/source/gen_modules

# files generated by sphinx-gallery extension
docs/source/examples/*/
# keep the gallery layouts
# Files generated by sphinx-gallery. Keep the hand-written navigation files.
docs/source/examples/**
!docs/source/examples/examples.rst
!docs/source/examples/examples_*.rst
docs/source/sg_execution_times.rst
docs/source/sg_execution_times.rst

# doxygen folder generated when compiling docs
docs/source/doxygen
Expand Down Expand Up @@ -263,10 +276,17 @@ cpp/Makefile
#.idea/


# files generated by sphinx-gallery extension
docs/source/examples/

# doxygen folder generated when compiling docs
docs/source/doxygen

.DS_Store

# Legacy temporary output from strain tests.
/tests/strain/test/

# Example scratch output written relative to the example source directories
# (sphinx-gallery and manual example runs); never commit these.
src/pyvale/examples/**/pyvale-output/
src/pyvale/examples/**/out-riley-py/
src/pyvale/examples/**/deformed_images/
src/pyvale/examples/**/tmp_dic/
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ git switch -c branchname

### Developer Guidance

Much of Pyvale is written in Python. See our [Pyvale Developer Guide](https://github.com/Computer-Aided-Validation-Laboratory/pyvale/blob/main/designspec/README.md) for guidance on how to write Python code that best aligns with Pyvale's code values.
Much of Pyvale is written in Python. See our [Pyvale Developer Guide](https://github.com/Computer-Aided-Validation-Laboratory/pyvale/blob/main/dev/README.md) for guidance on how to write Python code that best aligns with Pyvale's code values.

### Docstrings

Expand Down
20 changes: 20 additions & 0 deletions CONTRIBUTORS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Contributors

PyVale is developed by the Computer Aided Validation Team and collaborators:

- [Lloyd Fletcher](https://github.com/ScepticalRabbit), UK Atomic Energy Authority
- [Joel Hirst](https://github.com/JoelPhys), UK Atomic Energy Authority
- [Lorna Sibson](https://github.com/lornasibson), UK Atomic Energy Authority
- [Megan Sampson](https://github.com/meganasampson), UK Atomic Energy Authority
- [Wiera Bielajewa](https://github.com/WieraB), UK Atomic Energy Authority
- [Chris Dawson](https://github.com/ctdaws), UK Atomic Energy Authority
- [Michael Darcy](https://github.com/AnalogArnold), Swansea University
- [Rob Hamill](https://github.com/rob-hamill), UK Atomic Energy Authority
- [Michael Atkinson](https://github.com/mikesmic), UK Atomic Energy Authority
- [Adel Tayeb](https://github.com/3adelTayeb), UK Atomic Energy Authority
- [Alex Marsh](https://github.com/alexmarsh2), UK Atomic Energy Authority
- [Rory Spencer](https://github.com/fusmatrs), UK Atomic Energy Authority
- [John Charlton](https://github.com/coolmule0), UK Atomic Energy Authority

We welcome contributions. See [CONTRIBUTING.md](CONTRIBUTING.md) to get
started.
126 changes: 63 additions & 63 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,89 +1,89 @@
# pyvale
![fig_pyvale_logo](https://raw.githubusercontent.com/Computer-Aided-Validation-Laboratory/pyvale/main/images/pyvale_logo.png)
<p align="center">
<img src="https://raw.githubusercontent.com/Computer-Aided-Validation-Laboratory/pyvale/main/images/pyvale_logo.png" alt="PyVale" width="620">
</p>

The python validation engine (`pyvale`) is your virtual engineering laboratory: An all-in-one package for sensor uncertainty quantification simulations, experimental design/sensor placement optimisation and simulation calibration/validation. Used to simulate experimental data from an input multi-physics simulation by explicitly modelling sensors with realistic uncertainties. Useful for experimental design, sensor placement optimisation, testing simulation validation metrics and virtually testing digital shadows/twins.
<p align="center"><strong>Your virtual engineering laboratory: design experiments, analyse measurements, and iterate with confidence.</strong></p>

We are actively developing dedicated tools for simulation and uncertainty quantification of imaging sensors including digital image correlation (DIC) and infra-red thermography (IRT). Check out the [documentation](https://computer-aided-validation-laboratory.github.io/pyvale/index.html) to get started with some of our examples.
<p align="center">
<a href="https://pypi.org/project/pyvale/"><img src="https://img.shields.io/pypi/v/pyvale?label=PyPI" alt="PyPI version"></a>
<a href="https://pypi.org/project/pyvale/"><img src="https://img.shields.io/pypi/pyversions/pyvale" alt="Supported Python versions"></a>
<a href="https://github.com/Computer-Aided-Validation-Laboratory/pyvale/actions/workflows/tests.yml"><img src="https://img.shields.io/github/actions/workflow/status/Computer-Aided-Validation-Laboratory/pyvale/tests.yml?branch=main&label=tests" alt="Tests"></a>
<a href="https://github.com/Computer-Aided-Validation-Laboratory/pyvale/actions/workflows/wheels.yml"><img src="https://img.shields.io/github/actions/workflow/status/Computer-Aided-Validation-Laboratory/pyvale/wheels.yml?branch=main&label=wheels" alt="Wheels"></a>
<a href="https://computer-aided-validation-laboratory.github.io/pyvale/"><img src="https://img.shields.io/github/actions/workflow/status/Computer-Aided-Validation-Laboratory/pyvale/docs.yml?branch=main&label=docs" alt="Documentation"></a>
<a href="https://github.com/Computer-Aided-Validation-Laboratory/pyvale/blob/main/LICENSE"><img src="https://img.shields.io/github/license/Computer-Aided-Validation-Laboratory/pyvale" alt="MIT license"></a>
</p>

## Quick Install
We recommend installing `pyvale` into a virtual environment of your choice as `pyvale` requires python 3.13. If you need help setting up your virtual environment and installing `pyvale` head over to the [installation guide](https://computer-aided-validation-laboratory.github.io/pyvale/install/install.html) in our docs.
PyVale is a general purpose toolbox for simulation driven experimental design
and experimental mechanics. Build virtual sensor arrays, generate realistic
camera images, analyse DIC measurements, and feed what you learn into the next
experiment. The core **SensorSim**, **DIC**, and **Render** modules are ready for general use. Tools for sensor placement optimisation, experimental design, and simulation validation metrics are under active development.

`pyvale` can be installed from pypi:
```shell
pip install pyvale
```
## PyVale Design Framework

## Quick Demo: Digital Image Correlation
Below is a really quick example for setting up a DIC calculation. It's highly likely that your case will require a more tailored calculation configuration.
PyVale connects experimental design, measurement simulation, data analysis simulation validation and uncertainty quantification in an iterative workflow. Its core modules can be used independently or combined to close the loop between simulation and experiment.

**For further details please see the DIC [examples](https://computer-aided-validation-laboratory.github.io/pyvale/examples/examples_dic.html), [theory guide](https://computer-aided-validation-laboratory.github.io/pyvale/guide_theory/guide_theory_dic.html), [user guide](https://computer-aided-validation-laboratory.github.io/pyvale/guide_user/guide_dic.html) and [API](https://computer-aided-validation-laboratory.github.io/pyvale/pyvale.dic.html).**
| Capability | What it gives you | Documentation |
|:---|:---|:---:|
| **SensorSim** | Virtual sensor arrays, uncertainty models, and repeated simulated experiments | [Examples](https://computer-aided-validation-laboratory.github.io/pyvale/examples/examples_basics_sensorsim.html) · [Guide](https://computer-aided-validation-laboratory.github.io/pyvale/guide_user/guide_sensorsim.html) |
| **DIC** | Two dimensional and stereo correlation, shape reconstruction, displacement, and strain | [Examples](https://computer-aided-validation-laboratory.github.io/pyvale/examples/examples_dic.html) · [Guide](https://computer-aided-validation-laboratory.github.io/pyvale/guide_user/guide_dic.html) |
| **Render** | Synthetic camera images, deforming meshes, and optical realism | [Examples](https://computer-aided-validation-laboratory.github.io/pyvale/examples/examples_render3d.html) · [UV Examples](https://computer-aided-validation-laboratory.github.io/pyvale/examples/examples_renderuvs.html) |

Define the Region of Interest (ROI):
## Core Capabilities

```python
import pyvale.dic as dic
### SensorSim · simulate measurements and uncertainty

roi = dic.RegionOfInterest(ref_image="image0000.tiff")
roi.interactive_selection()
```
run the DIC:
Create virtual thermocouples, strain gauges, and other sensor arrays on
multiphysics simulations. Model systematic and random uncertainty, repeat
virtual experiments, and inspect the resulting measurement distributions.

```python
# use dic.calculate_3d for stereo
dic.calculate_2d(reference="image0000.tiff",
deformed="image*.tiff",
roi_mask=roi.mask, # built using ROI tool
seed=roi.seed, # built using ROI tool
subset_size=21,
subset_step=10)
```
Import the results for any analysis/plotting:
[**SensorSim examples**](https://computer-aided-validation-laboratory.github.io/pyvale/examples/examples_basics_sensorsim.html) · [**User guide**](https://computer-aided-validation-laboratory.github.io/pyvale/guide_user/guide_sensorsim.html)

```python
dicdata = dic.import_2d(data="dic_results*.csv", # default result files prefix
delimiter=",")
| Sensor locations | Simulated sensor traces |
|:---:|:---:|
| <img src="https://raw.githubusercontent.com/Computer-Aided-Validation-Laboratory/pyvale/main/images/basics_ex0_locs.png" alt="Virtual sensor locations" width="520"> | <img src="https://raw.githubusercontent.com/Computer-Aided-Validation-Laboratory/pyvale/main/images/basics_ex0_traces.png" alt="Simulated sensor traces" width="520"> |

### DIC · analyse deformation from images

import matplotlib.pyplot as plt
plt.pcolor(dicdata.ss_x,
dicdata.ss_y,
dicdata.u_px[0]) # horizontal displacement for 0th image
plt.show()
```
Run two dimensional and stereo digital image correlation on synthetic or
experimental images. Define regions of interest, correlate large image sets,
reconstruct surfaces, and calculate displacement and strain.

[**DIC examples**](https://computer-aided-validation-laboratory.github.io/pyvale/examples/examples_dic.html) · [**User guide**](https://computer-aided-validation-laboratory.github.io/pyvale/guide_user/guide_dic.html)

| Stereo region of interest | Reconstructed shape |
|:---:|:---:|
| <img src="https://raw.githubusercontent.com/Computer-Aided-Validation-Laboratory/pyvale/main/images/dic_ex11_roi.png" alt="Stereo DIC region of interest" width="520"> | <img src="https://raw.githubusercontent.com/Computer-Aided-Validation-Laboratory/pyvale/main/images/dic_ex11_3d.png" alt="Stereo DIC reconstructed shape" width="520"> |

### Render · build virtual camera experiments

## Quick Demo: Simulating Point Sensors
`/pyvale` can be used to simulate thermocouples and strain gauges applied to a [MOOSE](https://mooseframework.inl.gov/index.html) thermo-mechanical simulation of a fusion divertor armour heatsink. The figures below show visualisations of the virtual thermocouple and strain gauge locations on the simualtion mesh as well as time traces for each sensor over a series of simulated experiments.
Render deforming finite element meshes through the verified Riley rasteriser or
the optional Blender backend. Configure camera geometry, distortion, point
spread functions, textures, stereo pairs, and physically meaningful speckle
scales.

The code to run the simulated experiments and produce the output shown here comes from [this example](https://computer-aided-validation-laboratory.github.io/pyvale/examples/basicsensorsim/ex0_quickstart.html). You can find more examples and details of `pyvale` python API in the `pyvale` [documentation](https://computer-aided-validation-laboratory.github.io/pyvale/index.html).
[**Render examples →**](https://computer-aided-validation-laboratory.github.io/pyvale/examples/examples_render3d.html) · [**UV mapping examples →**](https://computer-aided-validation-laboratory.github.io/pyvale/examples/examples_renderuvs.html)

|![fig_thermomech3d_tc_vis](https://raw.githubusercontent.com/Computer-Aided-Validation-Laboratory/pyvale/main/images/thermomech3d_tc_vis.png)|![fig_thermomech3d_sg_vis](https://raw.githubusercontent.com/Computer-Aided-Validation-Laboratory/pyvale/main/images/thermomech3d_sg_vis.png)|
|--|--|
|*Visualisation of the thermocouple locations.*|*Visualisation of the strain gauge locations.*|
<p align="center">
<img src="https://raw.githubusercontent.com/Computer-Aided-Validation-Laboratory/pyvale/main/images/render3d_ex1d_riley_dicuq.png" alt="Riley render of a speckled plate with a hole" width="900">
</p>

|![fig_thermomech3d_tc_traces](https://raw.githubusercontent.com/Computer-Aided-Validation-Laboratory/pyvale/main/images/thermomech3d_tc_traces.png)|![fig_thermomech3d_sg_traces](https://raw.githubusercontent.com/Computer-Aided-Validation-Laboratory/pyvale/main/images/thermomech3d_sg_traces.png)|
|--|--|
|*Thermocouple time traces over a series of simulated experiments.*|*Strain gauge time traces over a series of simulated experiments.*|
## Install

## Contributors
The Computer Aided Validation Team at UKAEA:
- Lloyd Fletcher ([ScepticalRabbit](https://github.com/ScepticalRabbit)), UK Atomic Energy Authority
- Joel Hirst ([JoelPhys](https://github.com/JoelPhys)), UK Atomic Energy Authority
- Lorna Sibson ([lornasibson](https://github.com/lornasibson)), UK Atomic Energy Authority
- Megan Sampson ([meganasampson](https://github.com/meganasampson)), UK Atomic Energy Authority
- Wiera Bielajewa ([WieraB](https://github.com/WieraB)), UK Atomic Energy Authority
- Chris Dawson ([ctdaws](https://github.com/ctdaws)), UK Atomic Energy Authority
- Michael Darcy ([AnalogArnold](https://github.com/AnalogArnold)), Swansea University
- Rob Hamill ([rob-hamill](https://github.com/rob-hamill)), UK Atomic Energy Authority
- Michael Atkinson ([mikesmic](https://github.com/mikesmic)), UK Atomic Energy Authority
- Adel Tayeb ([3adelTayeb](https://github.com/3adelTayeb)), UK Atomic Energy Authority
- Alex Marsh ([alexmarsh2](https://github.com/alexmarsh2)), UK Atomic Energy Authority
- Rory Spencer ([fusmatrs](https://github.com/fusmatrs)), UK Atomic Energy Authority
- John Charlton ([coolmule0](https://github.com/coolmule0)), UK Atomic Energy Authority
PyVale supports Python 3.11 and newer. Most users will use Riley as their rendering engine for image simulation however, if you need path tracing then Blender integration requires Python 3.13 and the optional Blender dependencies.

| Platform | Install commands |
|:---|:---|
| pip | `pip install pyvale` |
| uv | `uv add pyvale` |
| Blender tools | `pip install "pyvale[blender]"` |

[**Installation guide**](https://computer-aided-validation-laboratory.github.io/pyvale/install/install.html) · [**Browse all examples**](https://computer-aided-validation-laboratory.github.io/pyvale/examples/examples.html) · [**Open the documentation**](https://computer-aided-validation-laboratory.github.io/pyvale/)

## Acknowledgements

PyVale is developed by the Computer Aided Validation Team and collaborators.
Its motivation comes from the demanding simulation validation experiments
needed in fusion engineering, while its tools are intended for experimental
mechanics generally.

[Contributors](https://github.com/Computer-Aided-Validation-Laboratory/pyvale/blob/main/CONTRIBUTORS.md) · [Contributing](https://github.com/Computer-Aided-Validation-Laboratory/pyvale/blob/main/CONTRIBUTING.md) · [Citation](https://computer-aided-validation-laboratory.github.io/pyvale/cite.html) · [MIT license](https://github.com/Computer-Aided-Validation-Laboratory/pyvale/blob/main/LICENSE)
Loading
Loading