Skip to content

Conversation

@z-k-li
Copy link
Contributor

@z-k-li z-k-li commented Oct 8, 2025

Changes in this pull request

Added Siemens Quadra scanner in scanner.cxx and .h.

Testing performed

Built on own machine and test create_projdata_template.

Related issues

Checklist before requesting a review

  • I have performed a self-review of my code
  • [] I have added docstrings/doxygen in line with the guidance in the developer guide
  • [] I have implemented unit tests that cover any new or modified functionality (if applicable)
  • The code builds and runs on my machine
  • [] documentation/release_XXX.md has been updated with any functionality change (if applicable)

Contribution Notes

Please tick the following:

  • The content of this Pull Request (the Contribution) is intentionally submitted for inclusion in STIR (the Work) under the terms and conditions of the Apache-2.0 License.
  • I (or my institution) have signed the STIR Contribution License Agreement (not required for small changes).

@KrisThielemans KrisThielemans self-assigned this Oct 9, 2025
@KrisThielemans
Copy link
Collaborator

test_Scanner gives

WARNING: Scanner Siemens Quadra: inconsistent axial block info: 320 vs 323
Error. check_consistency

an extra ring between "Vision 600" scanners? Need to do something with virtual rings then.

@KrisThielemans
Copy link
Collaborator

FYI, discussion for future work (not this PR!) in #1388

@KrisThielemans
Copy link
Collaborator

To get this across the line, we need to change the num_axial_crystals_per_block to be a whole "Vision 600", and add an axial virtual crystal, as discussed. I'd be eager to merge this.

Copy link
Collaborator

@KrisThielemans KrisThielemans left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add Quadra to

case E1080:
case Siemens_mCT:
return 1;

@z-k-li
Copy link
Contributor Author

z-k-li commented Jan 19, 2026

Hello Kris,
I checked the code and I found the test
WARNING: Scanner Siemens Quadra: inconsistent axial block info: 320 vs 323 was resolved if

get_num_axial_blocks() * get_num_axial_crystals_per_block() == get_num_rings() + get_num_virtual_axial_crystals_per_block().
And get_num_axial_blocks() == (num_rings + get_num_virtual_axial_crystals_per_block()) / num_axial_crystals_per_block

So that, if (num_rings + num_virtual) is divisible by num_axial_crystals_per_block then the warning will be disappeared.

So rather than using 10*8 axial crytals per block, I used 10 * 8 + 1 like in mCT.

And the test passed. Please let me know your thoughts.

Copy link
Collaborator

@KrisThielemans KrisThielemans left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok. Makes sense. thanks for correcting me! :-)

@KrisThielemans KrisThielemans added this to the v6.4 milestone Jan 19, 2026
@KrisThielemans
Copy link
Collaborator

Can you please tick the box "The content of this Pull Request (the Contribution) is intentionally submitted ...". This change is small enough not to require the letter (although we'll have to look at that).

@z-k-li
Copy link
Contributor Author

z-k-li commented Jan 19, 2026

Can you please tick the box "The content of this Pull Request (the Contribution) is intentionally submitted ...". This change is small enough not to require the letter (although we'll have to look at that).

Sure, I have ticked.

@KrisThielemans KrisThielemans merged commit a38a083 into UCL:master Jan 19, 2026
13 checks passed
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

Successfully merging this pull request may close these issues.

2 participants