UCL / UCL/STIR

Implement MRAC rescaling

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

Nobody has claimed this yet.

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

Description

We were hoping to have this handled by pet-rd-tools, but it is harder than anticipated, see https://github.com/UCL/pet-rd-tools/issues/46

Given that it depends on how STIR exactly handles DICOM, Interfile etc, it seems safest to do it in STIR. In any case, we need to know how much to post-filter the MRAC.

Best would be to implement this as a DataProcessor: take (normally DICOM) image in, find originating_system, find scale factor, post-filter and natural sampling, chain-up data-processors accordingly (although admittedly this would need a new data-processor that calls zoom_image)

Obviously this all applies to CTAC as well. For that we have HUToMuImageProcessor.

Of course, this still doesn't put things in the right place until we merge #181 and #618 (and know about gantry-offsets). We have to rely on the usual strategy of NAC-recon followed by registration (as in https://github.com/UCL/STIR/blob/master/examples/GE-Signa-PETMR/register_GEAC.sh)

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 reading the DataProcessor design and src/include/stir/HUToMuImageProcessor.h, then inspect examples/GE-Signa-PETMR/register_GEAC.sh. Determine how DICOM and Interfile expose originating_system, scaling, post-filtering, and natural sampling, including the proposed zoom_image processor chain. Done means MRAC and CTAC can use the processor safely, with behavior aligned to issues #181 and #618.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.