You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A suggestion based upon a failing test thread in stir-users email list.
This objective function concavity test was found to fail:
Error : 0 is larger than 0,
FAIL: PoissonLLListModeData: Computation of x^T H x = 0.000000 > 0 (Hessian) and is therefore NOT concave
>target image max=0.999849
>target image min=1.16359e-05
>output image max=0
>output image min=0
Writing diagnostic files to PoissonLLListModeData_concavity_out.hv, *target.hv
This isn't found in CI but the test might be too strict. I suggest the x^T H x calculation is compared to a small negative number, similar to that in test_priors
tests for "strict" concavity, which is not guaranteed. I wonder if using check_if_less_or_equal (which actually we don't have in RunTests) would resolve this.
On the other hand, I'm surprised that this tests gives 0 for x^T H x. I had a look at the construction of target, which seems to be here:
for (target_type::full_iterator iter = density_sptr->begin_all(); iter != density_sptr->end_all(); ++iter)
*iter = static_cast<float>(random01());
I note that the writing is in the wrong place (should be after the filling), so we currently cannot check what's in there, but according to the min/max in the diagnostics, target is (strictly) positive. That implies that H x has to be non-negative, and hence x^T H x > 0.
In test_priors, we needed to allow a small negative number because H contains negative numbers. However, for the Poisson LL, this is not the case.
So, I don't understand what's going on, and am therefore reluctant to just let the test pass...
A suggestion based upon a failing test thread in stir-users email list.
This objective function concavity test was found to fail:
that comes from here:
STIR/src/include/stir/recon_buildblock/test/ObjectiveFunctionTests.h
Lines 228 to 244 in a008e73
This isn't found in CI but the test might be too strict. I suggest the
x^T H x
calculation is compared to a small negative number, similar to that intest_priors
STIR/src/recon_test/test_priors.cxx
Lines 247 to 268 in a008e73
The text was updated successfully, but these errors were encountered: