The purpose of this repo is to provide a starting point for other software that uses PETSIRD.
The Emission Tomography Standardization Initiative (ETSI) is working towards establishing a standard for PET Raw Data, called PETSIRD ("PET ETSI Raw Data").
The specification uses the yardl tool to define the model. yardl
can be
used to read the specification (in the model
directory) and generate an PI for both C++ and API to read/write PETSIRD data.
Currently, a draft model is defined in https://github.com/ETSInitiative/PRDdefinition.
CAVEAT: the draft model generates code in the prd
namespace. Nevertheless, we have used the name PETSIRD here
in most places (except where needed).
These instructions will use YourRepoName
for the name of your new repository. Obviously replace it with something appropriate.
Easiest is to start from GitHub:
- Navigate to the URL of this repo: https://github.com/ETSInitiative/PETSIRDUseCaseTemplate
- Click on the
Use this template
button and create your own repo - Pull it to your own local machine and modify
- Search-and-replace all occurences of
PETSIRDUseCaseTemplate
withYourRepoName
- Update the README.md to remove references to this template and write something about what your repo is going to do
- Update the
environment.yml
to include what you need. For instance, if you need ROOT, add something like- root=6.28.0
- Make some other basic changes and commit
git commit -a -m "Updated template to YourRepoName" git push
- Search-and-replace all occurences of
- Open your repo in GitHub Codespaces or
in a VS Code devcontainer.
This codespace/container will contain all necessary tools, including
yardl
itself, as well as your repository. - Use
yardl
to generate C++ and Python code for the model:
cd YourRepoName
cd PETSIRD/model
yardl generate
cd ../..