Closed KrisThielemans closed 2 months ago
value is computed as https://github.com/UCL/STIR/blob/12bfa873522653936a4818e9bad9b9da41f11706/src/buildblock/recon_array_functions.cxx#L367-L371. Gradient is consistent with that.
Gradient is consistent with that.
not really, see #1472
If input is filled with -1, the output is 0. This will be because we use
divide_and_truncate
(e.g. here). This function is designed to work for the PoissonLL operations, and truncates negatives to zero. That is incorrect for the multiplication with the Hessian though, as the "input" vector can be anything.Unfortunately, it doesn't seem to be easy to make the Hessian calculation consistent with the truncation strategy used for the gradient (and value) of the PoissonLL (or at least, do it without becoming quite slow).