Skip to content
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

ring-diff arrays are not set appropriately for blocksoncylindrical #1054

Open
KrisThielemans opened this issue Jun 27, 2022 · 5 comments
Open

Comments

@KrisThielemans
Copy link
Collaborator

See comments in #1006, e.g. #1006 (comment)_

@markus-jehl
Copy link
Contributor

This can be closed, right?

@KrisThielemans
Copy link
Collaborator Author

I think so, but cannot check at the moment. @danieldeidda do you remember?

@danieldeidda
Copy link
Collaborator

not sure, the comments say that this was going to be done in another PR but there was no error related to this as that change was reverted

@KrisThielemans
Copy link
Collaborator Author

This was about the initialisation of segment_axial_pos_to_ring1_plus_ring2, in particular

const float ring1_plus_ring2_float =
2*ax_pos_num/get_num_axial_poss_per_ring_inc(s_num)
-2*m_offset[s_num]/ring_spacing + (get_scanner_ptr()->get_num_rings()-1);
. The use of m_offset is unsafe for a blocks/generic scanner (due to irregular sampling). I believe that the end result of the calculation would still be fine, but this would need to be checked.

For instance for span=1 (which is currently used for blocks/generic), get_ring_pair_for_segment_axial_pos_num(ring1, ring2, seg, axial_pos) can be tested as
seg = ring1 - ring2 (or maybe reversed) and axial_pos = min(ring1, ring2).

@markus-jehl
Copy link
Contributor

This was tested for the NeuroLF scanner geometry, and the function indeed returns the correct results: for seg=5 and axial_pos=5 it returns 5 and 10, and for seg=2 and axial_pos=14 it returns 14 and 16.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants