UCL / STIR

Software for Tomographic Image Reconstruction
http://stir.sourceforge.net/
Other
104 stars 89 forks source link

Force use_actual_detector_boundaries to true for BlocksOnCylindrical #1429

Closed markus-jehl closed 2 weeks ago

markus-jehl commented 1 month ago

Changes in this pull request

Forced use_actual_detector_boundaries to true for BlocksOnCylindrical (in set_up).

Testing performed

Unit tests.

Related issues

Fixes https://github.com/UCL/STIR/issues/1428

Checklist before requesting a review

robbietuk commented 1 month ago

This doesn't allow for a user to turn the detector boundaries off in a parameter file for blocks on cylindrical.

Using the boundaries can lead to ring artifacts around the boarder too. It should be left to user preference IMO.

markus-jehl commented 1 month ago

Have you tried using the actual detector boundaries consistently for BlocksOnCylindrical? I saw that when it's always set to false I get vertical streaks in the reconstruction: image Whereas the streaks are gone when I enable the use of the actual detector boundaries: image

The logic here: https://github.com/UCL/STIR/blob/5e4fd8c24b889ad666464911c5f150c4bf9271f7/src/recon_buildblock/ProjMatrixByBinUsingRayTracing.cxx#L601C13-L601C32 doesn't make sense for BlocksOnCylindrical, where we never use arc correction. Also this looks problematic, although I'm still trying to wrap my head around the interleaving: https://github.com/UCL/STIR/blob/5e4fd8c24b889ad666464911c5f150c4bf9271f7/src/recon_buildblock/ProjMatrixByBinUsingRayTracing.cxx#L752