UCL / UCL/STIR

Log-Likelihood or Kullback Leibler-Divergence - which is best for STIR?

Open
#697 7 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

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
image

KL
image

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

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

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.