Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

initial commit/change readme #1

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 2 additions & 50 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,50 +1,2 @@
# PETSIRD template for use cases

The purpose of this repo is to provide a starting point for other software that uses PETSIRD.

## Background
The [Emission Tomography Standardization Initiative (ETSI)](https://etsinitiative.org/)
is working towards establishing a standard for PET Raw Data, called PETSIRD ("PET ETSI Raw Data").

The specification uses the [yardl](https://aka.ms/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).

## How to use this template?

These instructions will use `YourRepoName` for the name of your new repository. Obviously replace it with something appropriate.

#### Create a new repository based on this template

Easiest is to start from GitHub:
1. Navigate to the URL of this repo: https://github.com/ETSInitiative/PETSIRDUseCaseTemplate
2. Click on the `Use this template` button and create your own repo
3. Pull it to your own local machine and modify
1. Search-and-replace all occurences of `PETSIRDUseCaseTemplate` with `YourRepoName`
2. Update the README.md to remove references to this template and write something about what your repo is going to do
3. Update the `environment.yml`to include what you need. For instance, if you need ROOT, add something like `- root=6.28.0`
4. Make some other basic changes and commit
```sh
git commit -a -m "Updated template to YourRepoName"
git push
```

### Using your repo

1. Open ***your*** repo in [GitHub Codespaces](https://code.visualstudio.com/docs/remote/codespaces) or
in a [VS Code devcontainer](https://code.visualstudio.com/docs/devcontainers/containers).
This codespace/container will contain all necessary tools, including `yardl` itself, as well as your repository.
2. Use `yardl` to generate C++ and Python code for the model:
```sh
cd YourRepoName
cd PETSIRD/model
yardl generate
cd ../..
```
3. Start working in either the [`cpp`](cpp/README.md) and/or [`python`](python/README.md) directories.


# PETSIRD Recon Sample
The purpose of the repo is to provide examples on how to reconstruct PET Listmode data in the PETSIRD format.
2 changes: 1 addition & 1 deletion cpp/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
cmake_minimum_required(VERSION 3.12.0) # older would work, but could give warnings on policy CMP0074
project(PETSIRDUseCaseTemplate VERSION 0.1.0)
project(LMSimRecon VERSION 0.1.0)

set(CMAKE_CXX_STANDARD 17)

Expand Down
Binary file added python/data.bin
Binary file not shown.
Binary file added python/paraproj_data.bin
Binary file not shown.
427 changes: 427 additions & 0 deletions python/prd_test.ipynb

Large diffs are not rendered by default.