From 4953e27e683845ee3967895ec955af09127425eb Mon Sep 17 00:00:00 2001 From: Antonia Reeves <133121395+rmapree@users.noreply.github.com> Date: Wed, 20 Nov 2024 17:52:42 +0000 Subject: [PATCH] Fix SSRB for ACFs in scatter estimation (#1531) * Scatter Estimation - add boolean for 2d proj data and make sure acfs 3d are obtained by averaging * Update release_6.3.htm --------- Co-authored-by: Kris Thielemans --- documentation/release_6.3.htm | 11 ++++++++++- src/include/stir/scatter/ScatterEstimation.h | 3 ++- src/scatter_buildblock/ScatterEstimation.cxx | 8 +++++--- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/documentation/release_6.3.htm b/documentation/release_6.3.htm index 52370aee3..bdcc5dce7 100644 --- a/documentation/release_6.3.htm +++ b/documentation/release_6.3.htm @@ -63,7 +63,16 @@

Changed functionality

Bug fixes

- +

Build system

diff --git a/src/include/stir/scatter/ScatterEstimation.h b/src/include/stir/scatter/ScatterEstimation.h index 785cd3b25..e3ed9a722 100644 --- a/src/include/stir/scatter/ScatterEstimation.h +++ b/src/include/stir/scatter/ScatterEstimation.h @@ -119,7 +119,8 @@ class ScatterEstimation : public ParsingObject //! make projdata 2D shared pointer shared_ptr make_2D_projdata_sptr(const shared_ptr in_3d_sptr); - shared_ptr make_2D_projdata_sptr(const shared_ptr in_3d_sptr, string template_filename); + shared_ptr + make_2D_projdata_sptr(const shared_ptr in_3d_sptr, string template_filename, const bool do_normalisation = false); //! //! \brief set_up diff --git a/src/scatter_buildblock/ScatterEstimation.cxx b/src/scatter_buildblock/ScatterEstimation.cxx index 07772ae99..efe3e2d9b 100644 --- a/src/scatter_buildblock/ScatterEstimation.cxx +++ b/src/scatter_buildblock/ScatterEstimation.cxx @@ -187,7 +187,9 @@ ScatterEstimation::make_2D_projdata_sptr(const shared_ptr in_3d_sptr) } shared_ptr -ScatterEstimation::make_2D_projdata_sptr(const shared_ptr in_3d_sptr, string template_filename) +ScatterEstimation::make_2D_projdata_sptr(const shared_ptr in_3d_sptr, + string template_filename, + const bool do_normalisation) { shared_ptr out_2d_sptr; if (in_3d_sptr->get_proj_data_info_sptr()->get_scanner_sptr()->get_scanner_geometry() == "Cylindrical") @@ -198,7 +200,7 @@ ScatterEstimation::make_2D_projdata_sptr(const shared_ptr in_3d_sptr, this->input_projdata_2d_sptr->get_exam_info_sptr(), this->input_projdata_2d_sptr->get_proj_data_info_sptr()->create_shared_clone()); - SSRB(*out_2d_sptr, *in_3d_sptr, false); + SSRB(*out_2d_sptr, *in_3d_sptr, do_normalisation); } else { @@ -658,7 +660,7 @@ ScatterEstimation::set_up_iterative(shared_ptr