payload: {"action":"created","issue":{"url":"https://api.github.com/repos/CCPPETMR/SIRF/issues/442","repository_url":"https://api.github.com/repos/CCPPETMR/SIRF","labels_url":"https://api.github.com/repos/CCPPETMR/SIRF/issues/442/labels{/name}","comments_url":"https://api.github.com/repos/CCPPETMR/SIRF/issues/442/comments","events_url":"https://api.github.com/repos/CCPPETMR/SIRF/issues/442/events","html_url":"https://github.com/CCPPETMR/SIRF/issues/442","id":497763179,"node_id":"MDU6SXNzdWU0OTc3NjMxNzk=","number":442,"title":"Minimisation or Maximisation for STIR ObjectiveFunction","user":{"login":"paskino","id":14138589,"node_id":"MDQ6VXNlcjE0MTM4NTg5","avatar_url":"https://avatars0.githubusercontent.com/u/14138589?v=4","gravatar_id":"","url":"https://api.github.com/users/paskino","html_url":"https://github.com/paskino","followers_url":"https://api.github.com/users/paskino/followers","following_url":"https://api.github.com/users/paskino/following{/other_user}","gists_url":"https://api.github.com/users/paskino/gists{/gist_id}","starred_url":"https://api.github.com/users/paskino/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/paskino/subscriptions","organizations_url":"https://api.github.com/users/paskino/orgs","repos_url":"https://api.github.com/users/paskino/repos","events_url":"https://api.github.com/users/paskino/events{/privacy}","received_events_url":"https://api.github.com/users/paskino/received_events","type":"User","site_admin":false},"labels":[{"id":1095665813,"node_id":"MDU6TGFiZWwxMDk1NjY1ODEz","url":"https://api.github.com/repos/CCPPETMR/SIRF/labels/SIRF/CIL%20integration","name":"SIRF/CIL integration","color":"fff793","default":false}],"state":"open","locked":false,"assignee":{"login":"KrisThielemans","id":6362141,"node_id":"MDQ6VXNlcjYzNjIxNDE=","avatar_url":"https://avatars2.githubusercontent.com/u/6362141?v=4","gravatar_id":"","url":"https://api.github.com/users/KrisThielemans","html_url":"https://github.com/KrisThielemans","followers_url":"https://api.github.com/users/KrisThielemans/followers","following_url":"https://api.github.com/users/KrisThielemans/following{/other_user}","gists_url":"https://api.github.com/users/KrisThielemans/gists{/gist_id}","starred_url":"https://api.github.com/users/KrisThielemans/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/KrisThielemans/subscriptions","organizations_url":"https://api.github.com/users/KrisThielemans/orgs","repos_url":"https://api.github.com/users/KrisThielemans/repos","events_url":"https://api.github.com/users/KrisThielemans/events{/privacy}","received_events_url":"https://api.github.com/users/KrisThielemans/received_events","type":"User","site_admin":false},"assignees":[{"login":"KrisThielemans","id":6362141,"node_id":"MDQ6VXNlcjYzNjIxNDE=","avatar_url":"https://avatars2.githubusercontent.com/u/6362141?v=4","gravatar_id":"","url":"https://api.github.com/users/KrisThielemans","html_url":"https://github.com/KrisThielemans","followers_url":"https://api.github.com/users/KrisThielemans/followers","following_url":"https://api.github.com/users/KrisThielemans/following{/other_user}","gists_url":"https://api.github.com/users/KrisThielemans/gists{/gist_id}","starred_url":"https://api.github.com/users/KrisThielemans/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/KrisThielemans/subscriptions","organizations_url":"https://api.github.com/users/KrisThielemans/orgs","repos_url":"https://api.github.com/users/KrisThielemans/repos","events_url":"https://api.github.com/users/KrisThielemans/events{/privacy}","received_events_url":"https://api.github.com/users/KrisThielemans/received_events","type":"User","site_admin":false},{"login":"paskino","id":14138589,"node_id":"MDQ6VXNlcjE0MTM4NTg5","avatar_url":"https://avatars0.githubusercontent.com/u/14138589?v=4","gravatar_id":"","url":"https://api.github.com/users/paskino","html_url":"https://github.com/paskino","followers_url":"https://api.github.com/users/paskino/followers","following_url":"https://api.github.com/users/paskino/following{/other_user}","gists_url":"https://api.github.com/users/paskino/gists{/gist_id}","starred_url":"https://api.github.com/users/paskino/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/paskino/subscriptions","organizations_url":"https://api.github.com/users/paskino/orgs","repos_url":"https://api.github.com/users/paskino/repos","events_url":"https://api.github.com/users/paskino/events{/privacy}","received_events_url":"https://api.github.com/users/paskino/received_events","type":"User","site_admin":false},{"login":"evgueni-ovtchinnikov","id":15048532,"node_id":"MDQ6VXNlcjE1MDQ4NTMy","avatar_url":"https://avatars1.githubusercontent.com/u/15048532?v=4","gravatar_id":"","url":"https://api.github.com/users/evgueni-ovtchinnikov","html_url":"https://github.com/evgueni-ovtchinnikov","followers_url":"https://api.github.com/users/evgueni-ovtchinnikov/followers","following_url":"https://api.github.com/users/evgueni-ovtchinnikov/following{/other_user}","gists_url":"https://api.github.com/users/evgueni-ovtchinnikov/gists{/gist_id}","starred_url":"https://api.github.com/users/evgueni-ovtchinnikov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/evgueni-ovtchinnikov/subscriptions","organizations_url":"https://api.github.com/users/evgueni-ovtchinnikov/orgs","repos_url":"https://api.github.com/users/evgueni-ovtchinnikov/repos","events_url":"https://api.github.com/users/evgueni-ovtchinnikov/events{/privacy}","received_events_url":"https://api.github.com/users/evgueni-ovtchinnikov/received_events","type":"User","site_admin":false}],"milestone":null,"comments":4,"created_at":"2019-09-24T15:28:51Z","updated_at":"2019-10-16T10:37:44Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"Currently the CIL algorithms will try to minimise an objective function. \r\n\r\nHowever, in STIR, the equivalent is done by maximising the objective function, thought as likelihood.\r\n\r\nThis fundamental difference makes it difficult to use STIR `ObjectiveFunction` in CIL algorithms. Additionally also in the MRI and optimisation communities algorithms are used to minimise rather than maximise. \r\n\r\nA solution to this would be to have SIRF return the negative likelihood, and negative gradient, as CIL, leaving STIR handle it as is."},"comment":{"url":"https://api.github.com/repos/CCPPETMR/SIRF/issues/comments/542639487","html_url":"https://github.com/CCPPETMR/SIRF/issues/442#issuecomment-542639487","issue_url":"https://api.github.com/repos/CCPPETMR/SIRF/issues/442","id":542639487,"node_id":"MDEyOklzc3VlQ29tbWVudDU0MjYzOTQ4Nw==","user":{"login":"KrisThielemans","id":6362141,"node_id":"MDQ6VXNlcjYzNjIxNDE=","avatar_url":"https://avatars2.githubusercontent.com/u/6362141?v=4","gravatar_id":"","url":"https://api.github.com/users/KrisThielemans","html_url":"https://github.com/KrisThielemans","followers_url":"https://api.github.com/users/KrisThielemans/followers","following_url":"https://api.github.com/users/KrisThielemans/following{/other_user}","gists_url":"https://api.github.com/users/KrisThielemans/gists{/gist_id}","starred_url":"https://api.github.com/users/KrisThielemans/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/KrisThielemans/subscriptions","organizations_url":"https://api.github.com/users/KrisThielemans/orgs","repos_url":"https://api.github.com/users/KrisThielemans/repos","events_url":"https://api.github.com/users/KrisThielemans/events{/privacy}","received_events_url":"https://api.github.com/users/KrisThielemans/received_events","type":"User","site_admin":false},"created_at":"2019-10-16T10:37:44Z","updated_at":"2019-10-16T10:37:44Z","author_association":"MEMBER","body":"it's quite unlikely that the gradient and value are inconsistent. STIR tries to be consistent about this, but who knows. The demo for OSEM shows that objective function values increase, as they should. @evgueni-ovtchinnikov could have noticed if the gradient has the opposite sign when doing the gradient ascent."}}
other: {"actor":{"display_login":"KrisThielemans"}}