The purpose of this repo is to provide splitting and merging capabilities for datasets saved in the PETSIRD format.
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.
This use case was started at the start of November 2023 from a draft model of PETSIRD which is defined in https://github.com/ETSInitiative/PRDdefinition.
CAVEAT: the draft model generates code in the petsird
namespace. Nevertheless, we have used the name PETSIRD here
in most places (except where needed).
Three tools are currently available. All of them are only in python right now.
Enable the generation of a noisier instance of a dataset by either dropping times block or events.
Merge multiple datasets in one dataset.
(Un-tested right now, might or might not work...)
Reads the physio data from a csv file and assigns a gate to each event based on the physio_1 amplitude.
- Open the 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 ../..
- See the help of the script of interest in the python folder for further explanation. (Currently, the cpp equivalent or unavailable.)