-
Notifications
You must be signed in to change notification settings - Fork 29
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fixes STIR TOF AcquisitionData algebra #1208
Conversation
70f1eba
to
51aa7f4
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will this be backward compatible? If not, should this not be merged after data-cont-templ
?
#define TOF_LOOP for (int k=data()->get_min_tof_pos_num(); k<=data()->get_max_tof_pos_num(); ++k) | ||
#define TOF_ARG , k | ||
#else | ||
#define TOF_LOOP |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
suggestion:
#define TOF_LOOP(k) for(int k=...)
#define TOF_ARG(k) , k
#else
#define TOF_LOOP(k)
#define TOF_ARG(k)
inserted TOF loops. However, this needs the STIR_TOF preprocessor variable to be defined, which is still to be merged on the STIR TOF branch.
51aa7f4
to
589ce45
Compare
It should be once I'm done (had some stupid errors!). All changes should be within |
@evgueni-ovtchinnikov currently some of the tests fail due to numerical rounding error. Printing stuff like print('norm:', s, t, eps, abs(t-s), eps*abs(t)) after Line 600 in 1bb1b11
I get
etc (2 more tests are failing, not sure yet which). Your implementations look ok though, they use Aside from that, it's annoying that these tests don't give any feedback about failure and I had to add the print by hand. Easy to replace with check_if_equal_within_tolerance`? |
note that the above failure is on some TOF data (I haven't run on non-TOF yet, but Actions will tell us) |
can you please try
in
|
- increase tolerance for norm/dot tests, as large data sizes give larger error - change tests calls to use check_if_*tolerance to be more informative when the test fails - remove some unnecessary as_array() calls, speeding it up a little bit
simpler loop
@evgueni-ovtchinnikov that does indeed look better but it didn't make any practical difference. It could indeed be that the I've now
I'm done with this therefore and would like to merge. Can you have a look please? |
@NicoleJurjew, this is now merged to SIRF master |
inserted TOF loops. However, this needs the STIR_TOF preprocessor variable to be defined, which is still to be merged on the STIR TOF branch.