UCL / UCL/STIR

updating scatter

Open
#511 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
C++
Stars
160
Forks
113
Avg merge
12d 15h
Merged PRs (30d)
1

Description

Following on from #44, there's a number of things that should be improved.

Easy enough:

  • more documentation
  • downsampling on activity and attenuation image should be made default in ScatterSimulation
  • enabling of FBP recons (for scanners without gaps)
  • rename some classes to include the PET name (as wouldn't work for SPECT etc)
  • add a simple test for ScatterEstimation (fixed in #737)
  • don't hardwire name and location of ./extras folder for extra ("debugging") output
  • add an option for the image output during iterations (currently written in ./extras if debug is on) [postponed until somebody asks for it]
  • ScatterSimulation should be able to upsample directly

Harder:

  • use of ChainedBinNormalisation is counter-intuitive to me (fixed in #744) (I think we should be able to not give the ACFs)
  • use of the tail-fitting parameters for ACFs is weird when constructing it from an image mask
  • alternative tailfits, e.g. without having to subtract randoms in the code
  • avoid rerunning the sensitivity calculation for OSEM etc, see #476
  • allow ScatterSimulation::set_up to be called twice. Currently it would downsample twice. We try to prevent this from happening but it can still fail.

Hard:

  • upsampling of non-oblique segments, required for long scanners
  • TOF

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by splitting the remaining requests into separate issues and reading the ScatterSimulation setup path, the ScatterEstimation and ChainedBinNormalisation references, and related issue #476. The already-closed items and postponed image-output request should not be treated as current scope; each remaining change needs its own acceptance criteria before work can be considered done.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
computer-vision
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.