Skip to content

Commit

Permalink
Merge pull request #573 from OpenGATE/towards_v10
Browse files Browse the repository at this point in the history
Towards v10
  • Loading branch information
tbaudier authored Nov 19, 2024
2 parents b65d901 + 0ed8fc7 commit 61e94f0
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 24 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -477,7 +477,7 @@ jobs:
pip install torch
fi
pip install SimpleITK
pip install gaga_phsp==0.7.2
pip install gaga_phsp==0.7.4
pip install spekpy
pip install dist/opengate_core-*-${PYTHONFOLDER}-${OSNAME}*_${PLATFORM}64.whl
pip install dist/opengate-*.whl
Expand Down
46 changes: 24 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,56 +4,55 @@
[![cirrus CI](https://api.cirrus-ci.com/github/OpenGATE/opengate.svg)](https://cirrus-ci.com/github/OpenGATE/opengate)
[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/OpenGATE/opengate/master.svg)](https://results.pre-commit.ci/latest/github/OpenGATE/opengate/master)

## This is GATE10 **beta** version. The first non-beta release will be officially announced ~in the summer~ autumn 2024.
## This is GATE 10

See the [User Guide](https://opengate-python.readthedocs.io). The current version uses [Geant4 11.2.1](https://geant4.web.cern.ch).
GATE is an open-source Monte Carlo simulation platform designed for modeling and simulating medical imaging systems, radiotherapy, and radiation dosimetry. It extends Geant4 with features tailored for time-dependent simulations, imaging physics, and therapy modeling. Widely used in **medical physics** research, GATE supports advanced applications such as PET, SPECT, CT, internal and external beam radiotherapy. GATE fosters collaboration through its active **open-source community**, enabling continuous development and shared innovation.

GATE 10 introduces a Python-based interface, replacing the macro scripting of GATE 9.x, offering improved flexibility, readability, and integration with modern scientific workflows. Read our [motivation](https://opengate-python.readthedocs.io/en/master/user_guide/user_guide_intro.html).

### How to install (short version)
- Documentation: see the [User Guide](https://opengate-python.readthedocs.io).
- This current version uses [Geant4 11.2.1](https://geant4.web.cern.ch).
- Compatible with Python 3.9, 3.10, 3.11, 3.12. (**Not python 3.13 yet**)
- **Warning**: on Windows, the multithreading and Qt visualization are not (yet) available.

*Compatible with Python 3.9, 3.10, 3.11, 3.12. On Windows multithreading and Qt visualization are not (yet) available.*
### How to install (short version)

First, create an environment (not mandatory but highly advised)
First, create a python environment:

```
python -m venv opengate_env
source opengate_env/bin/activate
pip install --upgrade pip
```

or you can use the conda environment.

```
conda create --name opengate_env python=3.12
conda activate opengate_env
```
Then install the package opengate. The associated package ```opengate_core``` is automatically downloaded. ```opengate_core``` installs Geant4 librairies.

Then install the package opengate. The package ```opengate_core``` is automatically downloaded. ```opengate_core``` installs Geant4 librairies.
```
pip install --upgrade pip
pip install --pre opengate
pip install opengate
```

*Warning* while it is still beta, the `--pre` option is needed.

If you already installed the packages and want to upgrade to the latest version:

```
pip install --upgrade --pre opengate
pip install --upgrade opengate
```

Once installed, you can run all tests:

````
opengate_tests
````

**WARNING (1)** The first time you run this command, the geant4 data and the test data will be downloaded. If the download fails (on some systems), try to add the following command before running opengate_tests:

````
export GIT_SSL_NO_VERIFY=1
````

All tests are in the folder [here](https://github.com/OpenGATE/opengate/tree/master/opengate/tests/src). The test data (binary files) are stored, for technical reasons, in this git: https://gitlab.in2p3.fr/opengamgate/gam_tests_data (which is stored as a git submodule).
All tests are in the folder [here](https://github.com/OpenGATE/opengate/tree/master/opengate/tests/src). The test data (binary files) are stored as a git submodule here: https://gitlab.in2p3.fr/opengamgate/gam_tests_data.

**WARNING (2)** Some tests (e.g. test034) needs [gaga-phsp](https://github.com/dsarrut/gaga-phsp) which needs [pytorch](https://pytorch.org/) that cannot really be automatically installed by the previous pip install (at least we don't know how to do). So, in order to run those tests, you will have to install both PyTorch and gaga-phsp first with:

**WARNING (2)** Some tests (e.g. test034) needs [gaga-phsp](https://github.com/dsarrut/gaga-phsp) which needs [pytorch](https://pytorch.org/) that cannot really be automatically installed by the previous pip install (at least we don't know how to do). So, in order to run those tests, you will have to install both PyTorch and gaga-phsp first with
````
pip install torch
pip install gaga-phsp
Expand All @@ -63,17 +62,20 @@ pip install gaga-phsp
````
export LD_PRELOAD=<path to libG4processes>:<path to libG4geometry>:${LD_PRELOAD}
````
or
````
export GLIBC_TUNABLES=glibc.rtld.optional_static_tls=2000000
````

The documentation is here: https://opengate-python.readthedocs.io/en/master/user_guide/index.html

The test history can be visualized here: https://opengate.github.io/opengate_tests_results/
The test history can be visualized here: https://opengate.github.io/opengate_tests_results

### How to install (long version, for developers)

See the [developer guide](https://opengate-python.readthedocs.io/en/master/developer_guide/index.html#installation-for-developers)


## Included third party C++ libraries

- https://github.com/pybind/pybind11
- https://github.com/fmtlib/fmt
- https://github.com/p-ranav/indicators
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
10.0beta09
10.0.0

0 comments on commit 61e94f0

Please sign in to comment.