Log-Likelihood or Kullback Leibler-Divergence - which is best for STIR?
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 160
- Forks
- 113
- Avg merge
- 12d 15h
- Merged PRs (30d)
- 1
Description
I have investigating the use of the negitive Kullback Leibler-Divergence (KL) in place of the Log-Likelihood (LL) in STIR. The two functions both have the same gradient and shape, but with a different offset.
Log-Likelihood

KL

where \bar{y} is the expected data and y the measured. I have observed that KL can results in smaller values than LL, which can be up to 3 orders of magnetude and thus, evaluation of the data fitting term less susseptable to numerical error, although I am unsure as to the current impact of numerical error. In #528 the numerical precision was improved by computing the log-likelihood as doubles and since I have not observed such issues.
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.
Research direction
The issue names no file, test, or entry point; start by reviewing the existing log-likelihood implementation and the numerical-precision work referenced in #528. Compare the two objectives on representative reconstruction data, then define a measurable numerical-error criterion and document which formulation STIR should use.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- computer-vision, performance
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100