From a6ad92acdf2360dec4d13fc3bcaed9197ef27fab Mon Sep 17 00:00:00 2001 From: ssaghamanesh Date: Thu, 5 Sep 2024 15:27:32 +0200 Subject: [PATCH 1/2] Initial commit --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 075f775d2..51c7038fd 100644 --- a/.gitignore +++ b/.gitignore @@ -71,6 +71,7 @@ install_manifest.txt build/ install/ .vscode/ +build_safir_updates/ # MATLAB From 716f95dfe821679af238ba1570e220ce28f636e1 Mon Sep 17 00:00:00 2001 From: ssaghamanesh Date: Thu, 5 Sep 2024 15:28:18 +0200 Subject: [PATCH 2/2] Modified min/max_tang_pos_num to be consistent with ProjDataInfo.cxx --- src/buildblock/ProjDataInfoCylindricalNoArcCorr.cxx | 4 ++-- src/buildblock/ProjDataInfoGenericNoArcCorr.cxx | 4 ++-- src/recon_buildblock/ProjMatrixByBinUsingRayTracing.cxx | 4 +++- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/buildblock/ProjDataInfoCylindricalNoArcCorr.cxx b/src/buildblock/ProjDataInfoCylindricalNoArcCorr.cxx index 93b2e4916..a11543cd7 100644 --- a/src/buildblock/ProjDataInfoCylindricalNoArcCorr.cxx +++ b/src/buildblock/ProjDataInfoCylindricalNoArcCorr.cxx @@ -178,8 +178,8 @@ ProjDataInfoCylindricalNoArcCorr::initialise_uncompressed_view_tangpos_to_det1de assert(fabs(get_phi(Bin(0, 0, 0, 0)) - v_offset) < 1.E-4); assert(fabs(get_phi(Bin(0, get_num_views(), 0, 0)) - v_offset - _PI) < 1.E-4); #endif - const int min_tang_pos_num = -(num_detectors / 2) + 1; - const int max_tang_pos_num = -(num_detectors / 2) + num_detectors; + const int min_tang_pos_num = -(num_detectors / 2); + const int max_tang_pos_num = -(num_detectors / 2) + num_detectors - 1; if (this->get_min_tangential_pos_num() < min_tang_pos_num || this->get_max_tangential_pos_num() > max_tang_pos_num) { diff --git a/src/buildblock/ProjDataInfoGenericNoArcCorr.cxx b/src/buildblock/ProjDataInfoGenericNoArcCorr.cxx index 6b4ea7de4..930e3be73 100644 --- a/src/buildblock/ProjDataInfoGenericNoArcCorr.cxx +++ b/src/buildblock/ProjDataInfoGenericNoArcCorr.cxx @@ -149,8 +149,8 @@ ProjDataInfoGenericNoArcCorr::initialise_uncompressed_view_tangpos_to_det1det2() const int num_detectors = get_scanner_ptr()->get_num_detectors_per_ring(); assert(num_detectors % 2 == 0); - const int min_tang_pos_num = -(num_detectors / 2) + 1; - const int max_tang_pos_num = -(num_detectors / 2) + num_detectors; + const int min_tang_pos_num = -(num_detectors / 2); + const int max_tang_pos_num = -(num_detectors / 2) + num_detectors - 1; if (this->get_min_tangential_pos_num() < min_tang_pos_num || this->get_max_tangential_pos_num() > max_tang_pos_num) { diff --git a/src/recon_buildblock/ProjMatrixByBinUsingRayTracing.cxx b/src/recon_buildblock/ProjMatrixByBinUsingRayTracing.cxx index 3d596800b..5613e3fe5 100644 --- a/src/recon_buildblock/ProjMatrixByBinUsingRayTracing.cxx +++ b/src/recon_buildblock/ProjMatrixByBinUsingRayTracing.cxx @@ -273,9 +273,11 @@ ProjMatrixByBinUsingRayTracing::set_up( voxel_size = image_info_ptr->get_voxel_size(); origin = image_info_ptr->get_origin(); - if (std::abs(origin.x()) > .05F || std::abs(origin.y()) > .05F) + if (std::abs(origin.x()) > .05F || std::abs(origin.y()) > .05F){ error("ProjMatrixByBinUsingRayTracing sadly doesn't support shifted x/y origin yet"); image_info_sptr->get_regular_range(min_index, max_index); + std::cout << "OriginX : " << origin.x() << " ; OriginY : " << origin.y() << "\n"; + } symmetries_sptr.reset(new DataSymmetriesForBins_PET_CartesianGrid(proj_data_info_sptr, density_info_sptr_v,