problems with passing calibration info to exam_info of image
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 35/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- cpp
- Domain
- computer-vision
Research direction
Start with get_exam_info_uptr_for_target in src/recon_buildblock/PoissonLogLikelihoodWithLinearModelForMeanAndProjData.cxx and inspect the other duplicated implementations that use BinNormalisation. Trace IterativeReconstruction::get_initial_data_ptr and the equivalent analytic reconstruction path to determine where the method should be called. Done means the implementations no longer recurse, calibration reaches exam_info, and the duplicated logic is consolidated.
Written by the indexing model from the issue text.
Description
We have in a lot of the log-likelihood classes an implementation of the virtual get_exam_info_uptr_for_target. They are all duplicates and have the following https://github.com/UCL/STIR/blob/fd9ad11c13d8f6cb868c8a32568d6e48a8d79589/src/recon_buildblock/PoissonLogLikelihoodWithLinearModelForMeanAndProjData.cxx#L805-L809
This means that the function will call itself in a never-ending loop.
I presume that the code is meant to be something like
auto exam_info_uptr = base_type::get_exam_info_uptr_for_target();
It appears the function is never called. Presumably it should have been called in IterativeReconstruction::get_initial_data_ptr (and equivalent for analytic reconstructions).
Its intention was to be able to pass the calibration factor of the norm file to the exam_info such that we can know if a reconstructed image was calibrated. This is therefore currently not happening.
So, there are 3 problems:
- the implementations will hang
- it's never called
- the code is duplicated (as it should sit everywhere we have a
BinNormalisation)
- Dominant language
- C++
- Stars
- 160
- Forks
- 113
- Avg merge
- 12d 15h
- Merged PRs (30d)
- 1
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from UCL/STIR
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
Difficulty 3/5 1-2 days Newbie friendliness 68/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
-
Sensor initialization takes very long when `--initial-sim-time` is set to current UNIX timestamp Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
gazebosim/gz-sensors#662 · 1 comment ·
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
comp-datalake
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
ClickHouse/ClickHouse#121222 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
LadybirdBrowser/ladybird#12123 ·