httomo-backends 0.5.2__tar.gz → 0.6__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (156) hide show
  1. {httomo_backends-0.5.2 → httomo_backends-0.6}/PKG-INFO +1 -1
  2. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/methods_database/packages/backends/httomolib/httomolib.yaml +8 -0
  3. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/methods_database/packages/backends/httomolib/httomolib_modules.yaml +1 -0
  4. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/misc/rescale.py +5 -2
  5. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/recon/algorithm.py +42 -21
  6. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/methods_database/packages/backends/tomopy/supporting_funcs/misc/corr.py +1 -1
  7. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/methods_database/packages/backends/tomopy/supporting_funcs/prep/stripe.py +1 -1
  8. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/pipelines_full/FBP3d_tomobar_denoising_directive.yaml +1 -1
  9. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/pipelines_full/FBP3d_tomobar_directive.yaml +1 -1
  10. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/pipelines_full/LPRec3d_tomobar_directive.yaml +1 -1
  11. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/pipelines_full/deg360_distortion_FBP3d_tomobar_directive.yaml +1 -1
  12. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/pipelines_full/deg360_paganin_FBP3d_tomobar_directive.yaml +1 -1
  13. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/pipelines_full/tomopy_gridrec_directive.yaml +1 -1
  14. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/scripts/yaml_pipelines_generator.py +1 -1
  15. httomo_backends-0.6/httomo_backends/yaml_templates/httomolib/httomolib.misc.rescale/rescale_to_int.yaml +7 -0
  16. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.corr/remove_outlier.yaml +1 -1
  17. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/CGLS3d_tomobar.yaml +1 -0
  18. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/FBP2d_astra.yaml +1 -0
  19. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/FBP3d_tomobar.yaml +1 -0
  20. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/LPRec3d_tomobar.yaml +1 -0
  21. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/SIRT3d_tomobar.yaml +1 -0
  22. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends.egg-info/PKG-INFO +1 -1
  23. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends.egg-info/SOURCES.txt +1 -0
  24. {httomo_backends-0.5.2 → httomo_backends-0.6}/pyproject.toml +1 -1
  25. {httomo_backends-0.5.2 → httomo_backends-0.6}/tests/test_httomolibgpu.py +56 -21
  26. {httomo_backends-0.5.2 → httomo_backends-0.6}/LICENSE +0 -0
  27. {httomo_backends-0.5.2 → httomo_backends-0.6}/README.rst +0 -0
  28. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/__init__.py +0 -0
  29. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/cufft.py +0 -0
  30. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/methods_database/__init__.py +0 -0
  31. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/methods_database/packages/__init__.py +0 -0
  32. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/methods_database/packages/backends/httomolibgpu/__init__.py +0 -0
  33. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/methods_database/packages/backends/httomolibgpu/httomolibgpu.yaml +0 -0
  34. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/methods_database/packages/backends/httomolibgpu/httomolibgpu_modules.yaml +0 -0
  35. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/__init__.py +0 -0
  36. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/misc/__init__.py +0 -0
  37. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/misc/corr.py +0 -0
  38. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/misc/denoise.py +0 -0
  39. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/misc/morph.py +0 -0
  40. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/prep/__init__.py +0 -0
  41. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/prep/normalize.py +0 -0
  42. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/prep/phase.py +0 -0
  43. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/prep/stripe.py +0 -0
  44. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/recon/__init__.py +0 -0
  45. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/recon/peak_memory_line_profile_hook.py +0 -0
  46. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/methods_database/packages/backends/tomopy/__init__.py +0 -0
  47. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/methods_database/packages/backends/tomopy/supporting_funcs/__init__.py +0 -0
  48. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/methods_database/packages/backends/tomopy/supporting_funcs/misc/__init__.py +0 -0
  49. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/methods_database/packages/backends/tomopy/supporting_funcs/prep/__init__.py +0 -0
  50. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/methods_database/packages/backends/tomopy/supporting_funcs/recon/__init__.py +0 -0
  51. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/methods_database/packages/backends/tomopy/supporting_funcs/recon/algorithm.py +0 -0
  52. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/methods_database/packages/backends/tomopy/tomopy.yaml +0 -0
  53. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/methods_database/packages/backends/tomopy/tomopy_modules.yaml +0 -0
  54. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/methods_database/packages/httomo.yaml +0 -0
  55. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/methods_database/query.py +0 -0
  56. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/pipelines_full/FBP2d_astra_directive.yaml +0 -0
  57. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/pipelines_full/FBP3d_tomobar_noimagesaving_directive.yaml +0 -0
  58. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/pipelines_full/__init__.py +0 -0
  59. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/pipelines_full/sweep_center_FBP3d_tomobar_directive.yaml +0 -0
  60. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/scripts/__init__.py +0 -0
  61. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/scripts/json_pipelines_generator.py +0 -0
  62. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/scripts/yaml_templates_generator.py +0 -0
  63. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/scripts/yaml_unsupported_tomopy_remove.py +0 -0
  64. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/httomo/__init__.py +0 -0
  65. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/httomo/httomo.data.hdf.loaders/standard_tomo.yaml +0 -0
  66. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/httomo/httomo.methods/calculate_stats.yaml +0 -0
  67. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/httomo/httomo.methods/save_intermediate_data.yaml +0 -0
  68. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/httomolib/__init__.py +0 -0
  69. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/httomolib/httomolib.misc.images/save_to_images.yaml +0 -0
  70. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/httomolib/httomolib.misc.morph/data_reducer.yaml +0 -0
  71. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/httomolib/httomolib.misc.segm/binary_thresholding.yaml +0 -0
  72. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/httomolib/httomolib.prep.phase/paganin_filter.yaml +0 -0
  73. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/httomolibgpu/__init__.py +0 -0
  74. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.corr/median_filter.yaml +0 -0
  75. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.denoise/total_variation_PD.yaml +0 -0
  76. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.denoise/total_variation_ROF.yaml +0 -0
  77. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.morph/data_resampler.yaml +0 -0
  78. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.morph/sino_360_to_180.yaml +0 -0
  79. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.rescale/rescale_to_int.yaml +0 -0
  80. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.alignment/distortion_correction_proj_discorpy.yaml +0 -0
  81. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.normalize/normalize.yaml +0 -0
  82. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.phase/paganin_filter_savu.yaml +0 -0
  83. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.phase/paganin_filter_tomopy.yaml +0 -0
  84. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.stripe/raven_filter.yaml +0 -0
  85. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.stripe/remove_all_stripe.yaml +0 -0
  86. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.stripe/remove_stripe_based_sorting.yaml +0 -0
  87. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.stripe/remove_stripe_ti.yaml +0 -0
  88. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.rotation/find_center_360.yaml +0 -0
  89. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.rotation/find_center_pc.yaml +0 -0
  90. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.rotation/find_center_vo.yaml +0 -0
  91. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/__init__.py +0 -0
  92. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/adjust_range.yaml +0 -0
  93. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/circ_mask.yaml +0 -0
  94. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/gaussian_filter.yaml +0 -0
  95. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/median_filter.yaml +0 -0
  96. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/median_filter3d.yaml +0 -0
  97. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/median_filter_nonfinite.yaml +0 -0
  98. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/remove_nan.yaml +0 -0
  99. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/remove_neg.yaml +0 -0
  100. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/remove_outlier.yaml +0 -0
  101. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/remove_outlier1d.yaml +0 -0
  102. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/remove_outlier3d.yaml +0 -0
  103. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/remove_ring.yaml +0 -0
  104. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/sobel_filter.yaml +0 -0
  105. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.misc.morph/downsample.yaml +0 -0
  106. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.misc.morph/pad.yaml +0 -0
  107. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.misc.morph/sino_360_to_180.yaml +0 -0
  108. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.misc.morph/trim_sinogram.yaml +0 -0
  109. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.misc.morph/upsample.yaml +0 -0
  110. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/add_jitter.yaml +0 -0
  111. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/add_noise.yaml +0 -0
  112. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/align_joint.yaml +0 -0
  113. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/align_seq.yaml +0 -0
  114. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/blur_edges.yaml +0 -0
  115. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/distortion_correction_proj.yaml +0 -0
  116. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/distortion_correction_sino.yaml +0 -0
  117. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/scale.yaml +0 -0
  118. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/shift_images.yaml +0 -0
  119. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.prep.normalize/minus_log.yaml +0 -0
  120. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.prep.normalize/normalize.yaml +0 -0
  121. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.prep.normalize/normalize_bg.yaml +0 -0
  122. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.prep.normalize/normalize_nf.yaml +0 -0
  123. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.prep.normalize/normalize_roi.yaml +0 -0
  124. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.prep.phase/retrieve_phase.yaml +0 -0
  125. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_all_stripe.yaml +0 -0
  126. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_dead_stripe.yaml +0 -0
  127. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_large_stripe.yaml +0 -0
  128. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_stripe_based_filtering.yaml +0 -0
  129. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_stripe_based_fitting.yaml +0 -0
  130. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_stripe_based_interpolation.yaml +0 -0
  131. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_stripe_based_sorting.yaml +0 -0
  132. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_stripe_fw.yaml +0 -0
  133. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_stripe_sf.yaml +0 -0
  134. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_stripe_ti.yaml +0 -0
  135. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/stripes_detect3d.yaml +0 -0
  136. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/stripes_mask3d.yaml +0 -0
  137. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.recon.algorithm/recon.yaml +0 -0
  138. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.recon.rotation/find_center.yaml +0 -0
  139. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.recon.rotation/find_center_pc.yaml +0 -0
  140. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.recon.rotation/find_center_vo.yaml +0 -0
  141. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_drift.yaml +0 -0
  142. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_focal_spot_blur.yaml +0 -0
  143. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_gaussian.yaml +0 -0
  144. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_poisson.yaml +0 -0
  145. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_rings.yaml +0 -0
  146. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_salt_pepper.yaml +0 -0
  147. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_zingers.yaml +0 -0
  148. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/project.yaml +0 -0
  149. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/project2.yaml +0 -0
  150. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/project3.yaml +0 -0
  151. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends.egg-info/dependency_links.txt +0 -0
  152. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends.egg-info/requires.txt +0 -0
  153. {httomo_backends-0.5.2 → httomo_backends-0.6}/httomo_backends.egg-info/top_level.txt +0 -0
  154. {httomo_backends-0.5.2 → httomo_backends-0.6}/setup.cfg +0 -0
  155. {httomo_backends-0.5.2 → httomo_backends-0.6}/tests/test_method_query.py +0 -0
  156. {httomo_backends-0.5.2 → httomo_backends-0.6}/tests/test_tomopy.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: httomo-backends
3
- Version: 0.5.2
3
+ Version: 0.6
4
4
  Summary: Supplementary files for HTTomo backends.
5
5
  Author: Garry ODonnell, Jacob Williamson
6
6
  Author-email: Daniil Kazantsev <daniil.kazantsev@diamond.ac.uk>, Yousef Moazzam <yousef.moazzam@diamond.ac.uk>, Jessica Verschoyle <jessica.verschoyle@diamond.ac.uk>, Naman Gera <naman.gera@diamond.ac.uk>, scientificsoftware@diamond.ac.uk
@@ -1,4 +1,12 @@
1
1
  misc:
2
+ rescale:
3
+ rescale_to_int:
4
+ pattern: all
5
+ output_dims_change: False
6
+ implementation: cpu
7
+ memory_gpu: None
8
+ save_result_default: False
9
+ padding: False
2
10
  morph:
3
11
  data_reducer:
4
12
  pattern: all
@@ -1,3 +1,4 @@
1
+ - httomolib.misc.rescale
1
2
  - httomolib.misc.morph
2
3
  - httomolib.misc.images
3
4
  - httomolib.misc.segm
@@ -18,8 +18,11 @@ def _calc_memory_bytes_rescale_to_int(
18
18
  itemsize = 2
19
19
  else:
20
20
  itemsize = 4
21
- safety = 128
21
+ safety_multiplier = 1.1
22
22
  return (
23
- int(np.prod(non_slice_dims_shape)) * (dtype.itemsize + itemsize) + safety,
23
+ int(
24
+ safety_multiplier
25
+ * ((np.prod(non_slice_dims_shape)) * (dtype.itemsize + itemsize))
26
+ ),
24
27
  0,
25
28
  )
@@ -77,12 +77,17 @@ def _calc_memory_bytes_FBP3d_tomobar(
77
77
  dtype: np.dtype,
78
78
  **kwargs,
79
79
  ) -> Tuple[int, int]:
80
- det_height = non_slice_dims_shape[0]
81
- det_width = non_slice_dims_shape[1]
80
+ if "detector_pad" in kwargs:
81
+ detector_pad = kwargs["detector_pad"]
82
+ else:
83
+ detector_pad = 0
84
+
85
+ angles_tot = non_slice_dims_shape[0]
86
+ det_width = non_slice_dims_shape[1] + 2 * detector_pad
82
87
  SLICES = 200 # dummy multiplier+divisor to pass large batch size threshold
83
88
 
84
89
  # 1. input
85
- input_slice_size = np.prod(non_slice_dims_shape) * dtype.itemsize
90
+ input_slice_size = (angles_tot * det_width) * dtype.itemsize
86
91
 
87
92
  ########## FFT / filter / IFFT (filtersync_cupy)
88
93
 
@@ -91,13 +96,13 @@ def _calc_memory_bytes_FBP3d_tomobar(
91
96
  cufft_estimate_1d(
92
97
  nx=det_width,
93
98
  fft_type=CufftType.CUFFT_R2C,
94
- batch=det_height * SLICES,
99
+ batch=angles_tot * SLICES,
95
100
  )
96
101
  / SLICES
97
102
  )
98
103
 
99
104
  # 3. RFFT output size (proj_f in code)
100
- proj_f_slice = det_height * (det_width // 2 + 1) * np.complex64().itemsize
105
+ proj_f_slice = angles_tot * (det_width // 2 + 1) * np.complex64().itemsize
101
106
 
102
107
  # 4. Filter size (independent of number of slices)
103
108
  filter_size = (det_width // 2 + 1) * np.float32().itemsize
@@ -107,7 +112,7 @@ def _calc_memory_bytes_FBP3d_tomobar(
107
112
  cufft_estimate_1d(
108
113
  nx=det_width,
109
114
  fft_type=CufftType.CUFFT_C2R,
110
- batch=det_height * SLICES,
115
+ batch=angles_tot * SLICES,
111
116
  )
112
117
  / SLICES
113
118
  )
@@ -123,9 +128,7 @@ def _calc_memory_bytes_FBP3d_tomobar(
123
128
 
124
129
  # 6. we swap the axes before passing data to Astra in ToMoBAR
125
130
  # https://github.com/dkazanc/ToMoBAR/blob/54137829b6326406e09f6ef9c95eb35c213838a7/tomobar/methodsDIR_CuPy.py#L135
126
- pre_astra_input_swapaxis_slice = (
127
- np.prod(non_slice_dims_shape) * np.float32().itemsize
128
- )
131
+ pre_astra_input_swapaxis_slice = (angles_tot * det_width) * np.float32().itemsize
129
132
 
130
133
  # 7. astra backprojection will generate an output array
131
134
  # https://github.com/dkazanc/ToMoBAR/blob/54137829b6326406e09f6ef9c95eb35c213838a7/tomobar/astra_wrappers/astra_base.py#L524
@@ -151,7 +154,7 @@ def _calc_memory_bytes_FBP3d_tomobar(
151
154
  # so it does not add to the memory overall
152
155
 
153
156
  # We assume for safety here that one FFT plan is not freed and one is freed
154
- tot_memory_bytes = (
157
+ tot_memory_bytes = int(
155
158
  projection_mem_size + filtersync_size - ifftplan_slice_size + recon_output_size
156
159
  )
157
160
 
@@ -166,8 +169,14 @@ def _calc_memory_bytes_LPRec3d_tomobar(
166
169
  ) -> Tuple[int, int]:
167
170
  # Based on: https://github.com/dkazanc/ToMoBAR/pull/112/commits/4704ecdc6ded3dd5ec0583c2008aa104f30a8a39
168
171
 
172
+ if "detector_pad" in kwargs:
173
+ detector_pad = kwargs["detector_pad"]
174
+ else:
175
+ detector_pad = 0
176
+
169
177
  angles_tot = non_slice_dims_shape[0]
170
- DetectorsLengthH = non_slice_dims_shape[1]
178
+ DetectorsLengthH_prepad = non_slice_dims_shape[1]
179
+ DetectorsLengthH = non_slice_dims_shape[1] + 2 * detector_pad
171
180
  SLICES = 200 # dummy multiplier+divisor to pass large batch size threshold
172
181
  _CENTER_SIZE_MIN = 192 # must be divisible by 8
173
182
 
@@ -210,7 +219,7 @@ def _calc_memory_bytes_LPRec3d_tomobar(
210
219
  if odd_horiz:
211
220
  output_dims = tuple(x + 1 for x in output_dims)
212
221
 
213
- in_slice_size = np.prod(non_slice_dims_shape) * dtype.itemsize
222
+ in_slice_size = (angles_tot * DetectorsLengthH) * dtype.itemsize
214
223
  padded_in_slice_size = angles_tot * n * np.float32().itemsize
215
224
 
216
225
  theta_size = angles_tot * np.float32().itemsize
@@ -256,7 +265,9 @@ def _calc_memory_bytes_LPRec3d_tomobar(
256
265
  center_size * center_size * (1 + angle_range_pi_count * 2) * np.int16().itemsize
257
266
  )
258
267
 
259
- recon_output_size = DetectorsLengthH * DetectorsLengthH * np.float32().itemsize
268
+ recon_output_size = (
269
+ DetectorsLengthH_prepad * DetectorsLengthH_prepad * np.float32().itemsize
270
+ )
260
271
  ifft2_plan_slice_size = (
261
272
  cufft_estimate_2d(
262
273
  nx=(2 * m + 2 * n), ny=(2 * m + 2 * n), fft_type=CufftType.CUFFT_C2C
@@ -342,24 +353,28 @@ def _calc_memory_bytes_LPRec3d_tomobar(
342
353
  add_to_memory_counters(after_recon_swapaxis_slice, True)
343
354
 
344
355
  return (tot_memory_bytes * 1.05, fixed_amount + 250 * 1024 * 1024)
345
- # return (tot_memory_bytes, fixed_amount)
346
-
347
356
 
348
357
  def _calc_memory_bytes_SIRT3d_tomobar(
349
358
  non_slice_dims_shape: Tuple[int, int],
350
359
  dtype: np.dtype,
351
360
  **kwargs,
352
361
  ) -> Tuple[int, int]:
353
- DetectorsLengthH = non_slice_dims_shape[1]
362
+
363
+ if "detector_pad" in kwargs:
364
+ detector_pad = kwargs["detector_pad"]
365
+ else:
366
+ detector_pad = 0
367
+ anglesnum = non_slice_dims_shape[0]
368
+ DetectorsLengthH = non_slice_dims_shape[1] + 2 * detector_pad
354
369
  # calculate the output shape
355
370
  output_dims = _calc_output_dim_SIRT3d_tomobar(non_slice_dims_shape, **kwargs)
356
371
 
357
- in_data_size = np.prod(non_slice_dims_shape) * dtype.itemsize
372
+ in_data_size = (anglesnum * DetectorsLengthH) * dtype.itemsize
358
373
  out_data_size = np.prod(output_dims) * dtype.itemsize
359
374
 
360
375
  astra_projection = 2.5 * (in_data_size + out_data_size)
361
376
 
362
- tot_memory_bytes = 2 * in_data_size + 2 * out_data_size + astra_projection
377
+ tot_memory_bytes = int(2 * in_data_size + 2 * out_data_size + astra_projection)
363
378
  return (tot_memory_bytes, 0)
364
379
 
365
380
 
@@ -368,14 +383,20 @@ def _calc_memory_bytes_CGLS3d_tomobar(
368
383
  dtype: np.dtype,
369
384
  **kwargs,
370
385
  ) -> Tuple[int, int]:
371
- DetectorsLengthH = non_slice_dims_shape[1]
386
+ if "detector_pad" in kwargs:
387
+ detector_pad = kwargs["detector_pad"]
388
+ else:
389
+ detector_pad = 0
390
+
391
+ anglesnum = non_slice_dims_shape[0]
392
+ DetectorsLengthH = non_slice_dims_shape[1] + 2 * detector_pad
372
393
  # calculate the output shape
373
394
  output_dims = _calc_output_dim_CGLS3d_tomobar(non_slice_dims_shape, **kwargs)
374
395
 
375
- in_data_size = np.prod(non_slice_dims_shape) * dtype.itemsize
396
+ in_data_size = (anglesnum * DetectorsLengthH) * dtype.itemsize
376
397
  out_data_size = np.prod(output_dims) * dtype.itemsize
377
398
 
378
399
  astra_projection = 2.5 * (in_data_size + out_data_size)
379
400
 
380
- tot_memory_bytes = 2 * in_data_size + 2 * out_data_size + astra_projection
401
+ tot_memory_bytes = int(2 * in_data_size + 2 * out_data_size + astra_projection)
381
402
  return (tot_memory_bytes, 0)
@@ -18,7 +18,7 @@
18
18
  # Created By : Tomography Team at DLS <scientificsoftware@diamond.ac.uk>
19
19
  # Created Date: 18/July/2024
20
20
  # ---------------------------------------------------------------------------
21
- """ Modules for memory estimation, padding, data dims estimation """
21
+ """Modules for memory estimation, padding, data dims estimation"""
22
22
 
23
23
  from typing import Tuple
24
24
 
@@ -18,7 +18,7 @@
18
18
  # Created By : Tomography Team at DLS <scientificsoftware@diamond.ac.uk>
19
19
  # Created Date: 18/July/2024
20
20
  # ---------------------------------------------------------------------------
21
- """ Modules for memory estimation, padding, data dims estimation """
21
+ """Modules for memory estimation, padding, data dims estimation"""
22
22
 
23
23
  from typing import Tuple
24
24
 
@@ -15,6 +15,6 @@
15
15
  - method: calculate_stats
16
16
  module_path: httomo.methods
17
17
  - method: rescale_to_int
18
- module_path: httomolibgpu.misc.rescale
18
+ module_path: httomolib.misc.rescale
19
19
  - method: save_to_images
20
20
  module_path: httomolib.misc.images
@@ -13,6 +13,6 @@
13
13
  - method: calculate_stats
14
14
  module_path: httomo.methods
15
15
  - method: rescale_to_int
16
- module_path: httomolibgpu.misc.rescale
16
+ module_path: httomolib.misc.rescale
17
17
  - method: save_to_images
18
18
  module_path: httomolib.misc.images
@@ -13,7 +13,7 @@
13
13
  - method: calculate_stats
14
14
  module_path: httomo.methods
15
15
  - method: rescale_to_int
16
- module_path: httomolibgpu.misc.rescale
16
+ module_path: httomolib.misc.rescale
17
17
  - method: save_to_images
18
18
  module_path: httomolib.misc.images
19
19
 
@@ -15,6 +15,6 @@
15
15
  - method: calculate_stats
16
16
  module_path: httomo.methods
17
17
  - method: rescale_to_int
18
- module_path: httomolibgpu.misc.rescale
18
+ module_path: httomolib.misc.rescale
19
19
  - method: save_to_images
20
20
  module_path: httomolib.misc.images
@@ -15,6 +15,6 @@
15
15
  - method: calculate_stats
16
16
  module_path: httomo.methods
17
17
  - method: rescale_to_int
18
- module_path: httomolibgpu.misc.rescale
18
+ module_path: httomolib.misc.rescale
19
19
  - method: save_to_images
20
20
  module_path: httomolib.misc.images
@@ -13,6 +13,6 @@
13
13
  - method: calculate_stats
14
14
  module_path: httomo.methods
15
15
  - method: rescale_to_int
16
- module_path: httomolibgpu.misc.rescale
16
+ module_path: httomolib.misc.rescale
17
17
  - method: save_to_images
18
18
  module_path: httomolib.misc.images
@@ -158,7 +158,7 @@ def yaml_pipelines_generator(
158
158
  elif "corr" in module_name and "remove_outlier" in method_name:
159
159
  pipeline_full.yaml_set_comment_before_after_key(
160
160
  i,
161
- "--- Removing dead pixels in the data, aka zingers. Use if sharp streaks are present in reconstruction. ---",
161
+ "--- Removing dead pixels in the data, aka zingers. Use if sharp streaks are present in reconstruction. Please use before normalisation. ---",
162
162
  indent=0,
163
163
  )
164
164
  pipeline_full += yaml_template_method
@@ -0,0 +1,7 @@
1
+ - method: rescale_to_int
2
+ module_path: httomolib.misc.rescale
3
+ parameters:
4
+ perc_range_min: 0.0
5
+ perc_range_max: 100.0
6
+ bits: 8
7
+ glob_stats: ${{statistics.side_outputs.glob_stats}}
@@ -2,4 +2,4 @@
2
2
  module_path: httomolibgpu.misc.corr
3
3
  parameters:
4
4
  kernel_size: 3
5
- dif: 0.1
5
+ dif: 1000
@@ -2,6 +2,7 @@
2
2
  module_path: httomolibgpu.recon.algorithm
3
3
  parameters:
4
4
  center: ${{centering.side_outputs.centre_of_rotation}}
5
+ detector_pad: 0
5
6
  recon_size: null
6
7
  iterations: 20
7
8
  nonnegativity: true
@@ -2,6 +2,7 @@
2
2
  module_path: httomolibgpu.recon.algorithm
3
3
  parameters:
4
4
  center: ${{centering.side_outputs.centre_of_rotation}}
5
+ detector_pad: 0
5
6
  filter_type: ram-lak
6
7
  filter_parameter: null
7
8
  filter_d: null
@@ -2,6 +2,7 @@
2
2
  module_path: httomolibgpu.recon.algorithm
3
3
  parameters:
4
4
  center: ${{centering.side_outputs.centre_of_rotation}}
5
+ detector_pad: 0
5
6
  filter_freq_cutoff: 0.35
6
7
  recon_size: null
7
8
  recon_mask_radius: 0.95
@@ -2,6 +2,7 @@
2
2
  module_path: httomolibgpu.recon.algorithm
3
3
  parameters:
4
4
  center: ${{centering.side_outputs.centre_of_rotation}}
5
+ detector_pad: 0
5
6
  filter_type: shepp
6
7
  filter_freq_cutoff: 1.0
7
8
  recon_size: null
@@ -2,6 +2,7 @@
2
2
  module_path: httomolibgpu.recon.algorithm
3
3
  parameters:
4
4
  center: ${{centering.side_outputs.centre_of_rotation}}
5
+ detector_pad: 0
5
6
  recon_size: null
6
7
  iterations: 300
7
8
  nonnegativity: true
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: httomo-backends
3
- Version: 0.5.2
3
+ Version: 0.6
4
4
  Summary: Supplementary files for HTTomo backends.
5
5
  Author: Garry ODonnell, Jacob Williamson
6
6
  Author-email: Daniil Kazantsev <daniil.kazantsev@diamond.ac.uk>, Yousef Moazzam <yousef.moazzam@diamond.ac.uk>, Jessica Verschoyle <jessica.verschoyle@diamond.ac.uk>, Naman Gera <naman.gera@diamond.ac.uk>, scientificsoftware@diamond.ac.uk
@@ -62,6 +62,7 @@ httomo_backends/yaml_templates/httomo/httomo.methods/save_intermediate_data.yaml
62
62
  httomo_backends/yaml_templates/httomolib/__init__.py
63
63
  httomo_backends/yaml_templates/httomolib/httomolib.misc.images/save_to_images.yaml
64
64
  httomo_backends/yaml_templates/httomolib/httomolib.misc.morph/data_reducer.yaml
65
+ httomo_backends/yaml_templates/httomolib/httomolib.misc.rescale/rescale_to_int.yaml
65
66
  httomo_backends/yaml_templates/httomolib/httomolib.misc.segm/binary_thresholding.yaml
66
67
  httomo_backends/yaml_templates/httomolib/httomolib.prep.phase/paganin_filter.yaml
67
68
  httomo_backends/yaml_templates/httomolibgpu/__init__.py
@@ -24,7 +24,7 @@ dev_template = "{tag}"
24
24
 
25
25
  [project]
26
26
  name = "httomo-backends"
27
- version = "0.5.2"
27
+ version = "0.6"
28
28
  description = "Supplementary files for HTTomo backends."
29
29
  readme = "README.rst"
30
30
  license = {text = "BSD-3-Clause"}
@@ -528,17 +528,24 @@ def test_data_sampler_memoryhook(slices, newshape, interpolation, ensure_clean_m
528
528
 
529
529
 
530
530
  @pytest.mark.cupy
531
+ @pytest.mark.parametrize("padding_detx", [0, 10, 100, 200])
531
532
  @pytest.mark.parametrize("projections", [1801, 3601])
532
533
  @pytest.mark.parametrize("slices", [7, 11, 15])
533
534
  @pytest.mark.parametrize("detectorX", [1200, 2560])
534
535
  def test_recon_FBP3d_tomobar_memoryhook(
535
- slices, detectorX, projections, ensure_clean_memory, mocker: MockerFixture
536
+ slices,
537
+ detectorX,
538
+ projections,
539
+ padding_detx,
540
+ ensure_clean_memory,
541
+ mocker: MockerFixture,
536
542
  ):
537
543
  data = cp.random.random_sample((projections, slices, detectorX), dtype=np.float32)
538
544
  kwargs = {}
539
545
  kwargs["angles"] = np.linspace(
540
546
  0.0 * np.pi / 180.0, 180.0 * np.pi / 180.0, data.shape[0]
541
547
  )
548
+ kwargs["detector_pad"] = padding_detx
542
549
  kwargs["center"] = 500
543
550
  kwargs["recon_size"] = detectorX
544
551
  kwargs["recon_mask_radius"] = 0.8
@@ -579,45 +586,57 @@ def test_recon_FBP3d_tomobar_memoryhook(
579
586
 
580
587
 
581
588
  @pytest.mark.cupy
582
- # @pytest.mark.parametrize("projections", [1801])
583
- # @pytest.mark.parametrize("detX_size", [2560])
584
- # @pytest.mark.parametrize("slices", [15])
585
- # @pytest.mark.parametrize("projection_angle_range", [(0, np.pi)])
586
-
587
-
589
+ @pytest.mark.parametrize("padding_detx", [0, 10, 50, 100])
588
590
  @pytest.mark.parametrize("projections", [1500, 1801, 2560])
589
591
  @pytest.mark.parametrize("detX_size", [2560])
590
592
  @pytest.mark.parametrize("slices", [3, 4, 5, 10, 15, 20])
591
593
  @pytest.mark.parametrize("projection_angle_range", [(0, np.pi)])
592
-
593
- # @pytest.mark.parametrize("projections", [1500, 1801, 2560])
594
- # @pytest.mark.parametrize("detX_size", [2560])
595
- # @pytest.mark.parametrize("slices", [3, 4, 5, 10])
596
- # @pytest.mark.parametrize("projection_angle_range", [(0, np.pi)])
597
594
  def test_recon_LPRec3d_tomobar_0_pi_memoryhook(
598
- slices, detX_size, projections, projection_angle_range, ensure_clean_memory
595
+ slices,
596
+ detX_size,
597
+ projections,
598
+ projection_angle_range,
599
+ padding_detx,
600
+ ensure_clean_memory,
599
601
  ):
600
602
  __test_recon_LPRec3d_tomobar_memoryhook_common(
601
- slices, detX_size, projections, projection_angle_range, ensure_clean_memory
603
+ slices,
604
+ detX_size,
605
+ projections,
606
+ projection_angle_range,
607
+ padding_detx,
608
+ ensure_clean_memory,
602
609
  )
603
610
 
604
611
 
605
612
  @pytest.mark.full
606
613
  @pytest.mark.cupy
614
+ @pytest.mark.parametrize("padding_detx", [0, 10, 50, 100])
607
615
  @pytest.mark.parametrize("projections", [1500, 1801, 2560, 3601])
608
616
  @pytest.mark.parametrize("detX_size", [2560])
609
617
  @pytest.mark.parametrize("slices", [3, 4, 5, 10, 15, 20])
610
618
  @pytest.mark.parametrize("projection_angle_range", [(0, np.pi)])
611
619
  def test_recon_LPRec3d_tomobar_0_pi_memoryhook_full(
612
- slices, detX_size, projections, projection_angle_range, ensure_clean_memory
620
+ slices,
621
+ detX_size,
622
+ projections,
623
+ projection_angle_range,
624
+ padding_detx,
625
+ ensure_clean_memory,
613
626
  ):
614
627
  __test_recon_LPRec3d_tomobar_memoryhook_common(
615
- slices, detX_size, projections, projection_angle_range, ensure_clean_memory
628
+ slices,
629
+ detX_size,
630
+ projections,
631
+ projection_angle_range,
632
+ padding_detx,
633
+ ensure_clean_memory,
616
634
  )
617
635
 
618
636
 
619
637
  @pytest.mark.full
620
638
  @pytest.mark.cupy
639
+ @pytest.mark.parametrize("padding_detx", [0, 10, 50, 100])
621
640
  @pytest.mark.parametrize("projections", [1500, 1801, 2560, 3601])
622
641
  @pytest.mark.parametrize("detX_size", [2560])
623
642
  @pytest.mark.parametrize("slices", [3, 4, 5, 10, 15, 20])
@@ -625,15 +644,30 @@ def test_recon_LPRec3d_tomobar_0_pi_memoryhook_full(
625
644
  "projection_angle_range", [(0, np.pi), (0, 2 * np.pi), (-np.pi / 2, np.pi / 2)]
626
645
  )
627
646
  def test_recon_LPRec3d_tomobar_memoryhook_full(
628
- slices, detX_size, projections, projection_angle_range, ensure_clean_memory
647
+ slices,
648
+ detX_size,
649
+ projections,
650
+ projection_angle_range,
651
+ padding_detx,
652
+ ensure_clean_memory,
629
653
  ):
630
654
  __test_recon_LPRec3d_tomobar_memoryhook_common(
631
- slices, detX_size, projections, projection_angle_range, ensure_clean_memory
655
+ slices,
656
+ detX_size,
657
+ projections,
658
+ projection_angle_range,
659
+ padding_detx,
660
+ ensure_clean_memory,
632
661
  )
633
662
 
634
663
 
635
664
  def __test_recon_LPRec3d_tomobar_memoryhook_common(
636
- slices, detX_size, projections, projection_angle_range, ensure_clean_memory
665
+ slices,
666
+ detX_size,
667
+ projections,
668
+ projection_angle_range,
669
+ padding_detx,
670
+ ensure_clean_memory,
637
671
  ):
638
672
  angles_number = projections
639
673
  data = cp.random.random_sample((angles_number, slices, detX_size), dtype=np.float32)
@@ -642,6 +676,7 @@ def __test_recon_LPRec3d_tomobar_memoryhook_common(
642
676
  projection_angle_range[0], projection_angle_range[1], data.shape[0]
643
677
  )
644
678
  kwargs["center"] = 1280
679
+ kwargs["detector_pad"] = padding_detx
645
680
  kwargs["recon_size"] = detX_size
646
681
  kwargs["recon_mask_radius"] = 0.8
647
682
 
@@ -687,9 +722,9 @@ def __test_recon_LPRec3d_tomobar_memoryhook_common(
687
722
  if slices <= 3:
688
723
  assert percents_relative_maxmem <= 75
689
724
  elif slices <= 5:
690
- assert percents_relative_maxmem <= 60
725
+ assert percents_relative_maxmem <= 63
691
726
  else:
692
- assert percents_relative_maxmem <= 47
727
+ assert percents_relative_maxmem <= 50
693
728
 
694
729
 
695
730
  @pytest.mark.cupy
File without changes
File without changes