httomo-backends 0.7.1__tar.gz → 0.8.0__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 (160) hide show
  1. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/PKG-INFO +1 -2
  2. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/httomolibgpu.yaml +1 -1
  3. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/prep/phase.py +7 -5
  4. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/recon/algorithm.py +71 -31
  5. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/pipelines_full/deg360_paganin_FBP3d_tomobar_directive.yaml +1 -1
  6. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/pipelines_full/sweep_paganin_FBP3d_tomobar_directive.yaml +4 -4
  7. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/scripts/yaml_pipelines_generator.py +23 -11
  8. httomo_backends-0.8.0/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.phase/paganin_filter.yaml +7 -0
  9. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/LPRec3d_tomobar.yaml +3 -2
  10. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends.egg-info/PKG-INFO +1 -2
  11. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends.egg-info/SOURCES.txt +1 -1
  12. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends.egg-info/requires.txt +0 -1
  13. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/pyproject.toml +1 -2
  14. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/tests/test_httomolibgpu.py +36 -15
  15. httomo_backends-0.7.1/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.phase/paganin_filter_tomopy.yaml +0 -7
  16. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/LICENSE +0 -0
  17. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/README.rst +0 -0
  18. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/__init__.py +0 -0
  19. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/cufft.py +0 -0
  20. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/methods_database/__init__.py +0 -0
  21. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/__init__.py +0 -0
  22. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/httomolib/httomolib.yaml +0 -0
  23. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/httomolib/httomolib_modules.yaml +0 -0
  24. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/__init__.py +0 -0
  25. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/httomolibgpu_modules.yaml +0 -0
  26. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/__init__.py +0 -0
  27. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/misc/__init__.py +0 -0
  28. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/misc/corr.py +0 -0
  29. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/misc/denoise.py +0 -0
  30. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/misc/morph.py +0 -0
  31. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/misc/rescale.py +0 -0
  32. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/prep/__init__.py +0 -0
  33. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/prep/normalize.py +0 -0
  34. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/prep/stripe.py +0 -0
  35. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/recon/__init__.py +0 -0
  36. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/recon/peak_memory_line_profile_hook.py +0 -0
  37. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/tomopy/__init__.py +0 -0
  38. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/tomopy/supporting_funcs/__init__.py +0 -0
  39. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/tomopy/supporting_funcs/misc/__init__.py +0 -0
  40. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/tomopy/supporting_funcs/misc/corr.py +0 -0
  41. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/tomopy/supporting_funcs/prep/__init__.py +0 -0
  42. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/tomopy/supporting_funcs/prep/stripe.py +0 -0
  43. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/tomopy/supporting_funcs/recon/__init__.py +0 -0
  44. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/tomopy/supporting_funcs/recon/algorithm.py +0 -0
  45. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/tomopy/tomopy.yaml +0 -0
  46. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/tomopy/tomopy_modules.yaml +0 -0
  47. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/httomo.yaml +0 -0
  48. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/methods_database/query.py +0 -0
  49. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/pipelines_full/FBP2d_astra_directive.yaml +0 -0
  50. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/pipelines_full/FBP3d_tomobar_denoising_directive.yaml +0 -0
  51. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/pipelines_full/FBP3d_tomobar_directive.yaml +0 -0
  52. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/pipelines_full/FBP3d_tomobar_noimagesaving_directive.yaml +0 -0
  53. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/pipelines_full/FISTA3d_tomobar_directive.yaml +0 -0
  54. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/pipelines_full/LPRec3d_tomobar_directive.yaml +0 -0
  55. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/pipelines_full/__init__.py +0 -0
  56. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/pipelines_full/deg360_distortion_FBP3d_tomobar_directive.yaml +0 -0
  57. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/pipelines_full/sweep_center_FBP3d_tomobar_directive.yaml +0 -0
  58. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/pipelines_full/titaren_center_pc_FBP3d_resample_directive.yaml +0 -0
  59. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/pipelines_full/tomopy_gridrec_directive.yaml +0 -0
  60. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/scripts/__init__.py +0 -0
  61. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/scripts/json_pipelines_generator.py +0 -0
  62. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/scripts/yaml_templates_generator.py +0 -0
  63. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/scripts/yaml_unsupported_tomopy_remove.py +0 -0
  64. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomo/__init__.py +0 -0
  65. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomo/httomo.data.hdf.loaders/standard_tomo.yaml +0 -0
  66. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomo/httomo.methods/calculate_stats.yaml +0 -0
  67. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomo/httomo.methods/save_intermediate_data.yaml +0 -0
  68. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolib/__init__.py +0 -0
  69. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolib/httomolib.misc.images/save_to_images.yaml +0 -0
  70. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolib/httomolib.misc.morph/data_reducer.yaml +0 -0
  71. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolib/httomolib.misc.rescale/rescale_to_int.yaml +0 -0
  72. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolib/httomolib.misc.segm/binary_thresholding.yaml +0 -0
  73. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolib/httomolib.prep.phase/paganin_filter.yaml +0 -0
  74. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolibgpu/__init__.py +0 -0
  75. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.corr/median_filter.yaml +0 -0
  76. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.corr/remove_outlier.yaml +0 -0
  77. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.denoise/total_variation_PD.yaml +0 -0
  78. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.denoise/total_variation_ROF.yaml +0 -0
  79. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.morph/data_resampler.yaml +0 -0
  80. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.morph/sino_360_to_180.yaml +0 -0
  81. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.rescale/rescale_to_int.yaml +0 -0
  82. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.alignment/distortion_correction_proj_discorpy.yaml +0 -0
  83. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.normalize/normalize.yaml +0 -0
  84. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.stripe/raven_filter.yaml +0 -0
  85. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.stripe/remove_all_stripe.yaml +0 -0
  86. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.stripe/remove_stripe_based_sorting.yaml +0 -0
  87. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.stripe/remove_stripe_ti.yaml +0 -0
  88. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/CGLS3d_tomobar.yaml +0 -0
  89. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/FBP2d_astra.yaml +0 -0
  90. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/FBP3d_tomobar.yaml +0 -0
  91. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/FISTA3d_tomobar.yaml +0 -0
  92. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/SIRT3d_tomobar.yaml +0 -0
  93. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.rotation/find_center_360.yaml +0 -0
  94. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.rotation/find_center_pc.yaml +0 -0
  95. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.rotation/find_center_vo.yaml +0 -0
  96. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/__init__.py +0 -0
  97. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/adjust_range.yaml +0 -0
  98. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/circ_mask.yaml +0 -0
  99. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/gaussian_filter.yaml +0 -0
  100. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/median_filter.yaml +0 -0
  101. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/median_filter3d.yaml +0 -0
  102. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/median_filter_nonfinite.yaml +0 -0
  103. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/remove_nan.yaml +0 -0
  104. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/remove_neg.yaml +0 -0
  105. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/remove_outlier.yaml +0 -0
  106. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/remove_outlier1d.yaml +0 -0
  107. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/remove_outlier3d.yaml +0 -0
  108. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/remove_ring.yaml +0 -0
  109. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/sobel_filter.yaml +0 -0
  110. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.morph/downsample.yaml +0 -0
  111. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.morph/pad.yaml +0 -0
  112. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.morph/sino_360_to_180.yaml +0 -0
  113. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.morph/trim_sinogram.yaml +0 -0
  114. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.morph/upsample.yaml +0 -0
  115. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/add_jitter.yaml +0 -0
  116. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/add_noise.yaml +0 -0
  117. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/align_joint.yaml +0 -0
  118. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/align_seq.yaml +0 -0
  119. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/blur_edges.yaml +0 -0
  120. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/distortion_correction_proj.yaml +0 -0
  121. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/distortion_correction_sino.yaml +0 -0
  122. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/scale.yaml +0 -0
  123. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/shift_images.yaml +0 -0
  124. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.normalize/minus_log.yaml +0 -0
  125. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.normalize/normalize.yaml +0 -0
  126. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.normalize/normalize_bg.yaml +0 -0
  127. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.normalize/normalize_nf.yaml +0 -0
  128. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.normalize/normalize_roi.yaml +0 -0
  129. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.phase/retrieve_phase.yaml +0 -0
  130. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_all_stripe.yaml +0 -0
  131. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_dead_stripe.yaml +0 -0
  132. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_large_stripe.yaml +0 -0
  133. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_stripe_based_filtering.yaml +0 -0
  134. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_stripe_based_fitting.yaml +0 -0
  135. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_stripe_based_interpolation.yaml +0 -0
  136. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_stripe_based_sorting.yaml +0 -0
  137. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_stripe_fw.yaml +0 -0
  138. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_stripe_sf.yaml +0 -0
  139. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_stripe_ti.yaml +0 -0
  140. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/stripes_detect3d.yaml +0 -0
  141. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/stripes_mask3d.yaml +0 -0
  142. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.recon.algorithm/recon.yaml +0 -0
  143. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.recon.rotation/find_center.yaml +0 -0
  144. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.recon.rotation/find_center_pc.yaml +0 -0
  145. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.recon.rotation/find_center_vo.yaml +0 -0
  146. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_drift.yaml +0 -0
  147. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_focal_spot_blur.yaml +0 -0
  148. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_gaussian.yaml +0 -0
  149. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_poisson.yaml +0 -0
  150. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_rings.yaml +0 -0
  151. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_salt_pepper.yaml +0 -0
  152. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_zingers.yaml +0 -0
  153. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/project.yaml +0 -0
  154. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/project2.yaml +0 -0
  155. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/project3.yaml +0 -0
  156. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends.egg-info/dependency_links.txt +0 -0
  157. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/httomo_backends.egg-info/top_level.txt +0 -0
  158. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/setup.cfg +0 -0
  159. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/tests/test_method_query.py +0 -0
  160. {httomo_backends-0.7.1 → httomo_backends-0.8.0}/tests/test_tomopy.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: httomo-backends
3
- Version: 0.7.1
3
+ Version: 0.8.0
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
@@ -22,7 +22,6 @@ Requires-Dist: h5py
22
22
  Requires-Dist: astra-toolbox
23
23
  Requires-Dist: tomobar
24
24
  Requires-Dist: scikit-image
25
- Requires-Dist: ccpi-regularisation-cupy
26
25
  Provides-Extra: dev
27
26
  Requires-Dist: pytest; extra == "dev"
28
27
  Requires-Dist: pytest-mock; extra == "dev"
@@ -78,7 +78,7 @@ prep:
78
78
  multiplier: None
79
79
  method: module
80
80
  phase:
81
- paganin_filter_tomopy:
81
+ paganin_filter:
82
82
  pattern: projection
83
83
  output_dims_change: False
84
84
  implementation: gpu_cupy
@@ -20,23 +20,21 @@
20
20
  # ---------------------------------------------------------------------------
21
21
  """Modules for memory estimation for phase retrieval and phase-contrast enhancement"""
22
22
 
23
- import math
24
23
  from typing import Tuple
25
24
  import numpy as np
26
25
 
27
26
  from httomo_backends.cufft import CufftType, cufft_estimate_2d
28
27
 
29
28
  __all__ = [
30
- "_calc_memory_bytes_paganin_filter_tomopy",
29
+ "_calc_memory_bytes_paganin_filter",
31
30
  ]
32
31
 
33
32
 
34
- def _calc_memory_bytes_paganin_filter_tomopy(
33
+ def _calc_memory_bytes_paganin_filter(
35
34
  non_slice_dims_shape: Tuple[int, int],
36
35
  dtype: np.dtype,
37
36
  **kwargs,
38
37
  ) -> Tuple[int, int]:
39
- from httomolibgpu.prep.phase import _shift_bit_length
40
38
 
41
39
  # Input (unpadded)
42
40
  unpadded_in_slice_size = np.prod(non_slice_dims_shape) * dtype.itemsize
@@ -44,7 +42,7 @@ def _calc_memory_bytes_paganin_filter_tomopy(
44
42
  # estimate padding size here based on non_slice dimensions
45
43
  pad_tup = []
46
44
  for dim_len in non_slice_dims_shape:
47
- diff = _shift_bit_length(dim_len + 1) - dim_len
45
+ diff = __shift_bit_length(dim_len + 1) - dim_len
48
46
  if dim_len % 2 == 0:
49
47
  pad_width = diff // 2
50
48
  pad_width = (pad_width, pad_width)
@@ -107,3 +105,7 @@ def _calc_memory_bytes_paganin_filter_tomopy(
107
105
  subtract_bytes = int(filter_size + grid_size)
108
106
 
109
107
  return (tot_memory_bytes, subtract_bytes)
108
+
109
+
110
+ def __shift_bit_length(x: int) -> int:
111
+ return 1 << (x - 1).bit_length()
@@ -189,7 +189,7 @@ def _calc_memory_bytes_LPRec3d_tomobar(
189
189
  if detector_pad is True:
190
190
  detector_pad = __estimate_detectorHoriz_padding(non_slice_dims_shape[1])
191
191
  elif detector_pad is False:
192
- detector_pad = 0
192
+ detector_pad = 0
193
193
 
194
194
  min_mem_usage_filter = False
195
195
  if "min_mem_usage_filter" in kwargs:
@@ -197,6 +197,9 @@ def _calc_memory_bytes_LPRec3d_tomobar(
197
197
  min_mem_usage_ifft2 = False
198
198
  if "min_mem_usage_ifft2" in kwargs:
199
199
  min_mem_usage_ifft2 = kwargs["min_mem_usage_ifft2"]
200
+ power_of_2_cropping = False
201
+ if "power_of_2_cropping" in kwargs:
202
+ power_of_2_cropping = kwargs["power_of_2_cropping"]
200
203
 
201
204
  angles_tot = non_slice_dims_shape[0]
202
205
  DetectorsLengthH_prepad = non_slice_dims_shape[1]
@@ -205,6 +208,10 @@ def _calc_memory_bytes_LPRec3d_tomobar(
205
208
  _CENTER_SIZE_MIN = 192 # must be divisible by 8
206
209
 
207
210
  n = DetectorsLengthH
211
+ if power_of_2_cropping:
212
+ n_pow2 = 2 ** math.ceil(math.log2(n))
213
+ if 0.9 < n / n_pow2:
214
+ n = n_pow2
208
215
 
209
216
  odd_horiz = False
210
217
  if (n % 2) != 0:
@@ -302,10 +309,7 @@ def _calc_memory_bytes_LPRec3d_tomobar(
302
309
  DetectorsLengthH_prepad * DetectorsLengthH_prepad * np.float32().itemsize
303
310
  )
304
311
  ifft2_plan_slice_size = (
305
- cufft_estimate_2d(
306
- nx=2 * n, ny=2 * n, fft_type=CufftType.CUFFT_C2C
307
- )
308
- / 2
312
+ cufft_estimate_2d(nx=2 * n, ny=2 * n, fft_type=CufftType.CUFFT_C2C) / 2
309
313
  )
310
314
  circular_mask_size = np.prod(output_dims) / 2 * np.int64().itemsize * 4
311
315
  after_recon_swapaxis_slice = recon_output_size
@@ -344,38 +348,74 @@ def _calc_memory_bytes_LPRec3d_tomobar(
344
348
  add_to_memory_counters(tmp_p_input_slice, True)
345
349
  if min_mem_usage_filter:
346
350
  add_to_memory_counters(rfft_plan_slice_size / 4 / projection_chunk_count, False)
347
- add_to_memory_counters(irfft_plan_slice_size / 4 / projection_chunk_count, False)
351
+ add_to_memory_counters(
352
+ irfft_plan_slice_size / 4 / projection_chunk_count, False
353
+ )
348
354
  add_to_memory_counters(padded_tmp_p_input_slice / projection_chunk_count, False)
349
355
 
350
356
  add_to_memory_counters(rfft_result_size / projection_chunk_count, False)
351
- add_to_memory_counters(filtered_rfft_result_size / projection_chunk_count, False)
357
+ add_to_memory_counters(
358
+ filtered_rfft_result_size / projection_chunk_count, False
359
+ )
352
360
  add_to_memory_counters(-rfft_result_size / projection_chunk_count, False)
353
- add_to_memory_counters(-padded_tmp_p_input_slice / projection_chunk_count, False)
361
+ add_to_memory_counters(
362
+ -padded_tmp_p_input_slice / projection_chunk_count, False
363
+ )
354
364
 
355
- add_to_memory_counters(irfft_scratch_memory_size / projection_chunk_count, False)
356
- add_to_memory_counters(-irfft_scratch_memory_size / projection_chunk_count, False)
365
+ add_to_memory_counters(
366
+ irfft_scratch_memory_size / projection_chunk_count, False
367
+ )
368
+ add_to_memory_counters(
369
+ -irfft_scratch_memory_size / projection_chunk_count, False
370
+ )
357
371
  add_to_memory_counters(irfft_result_size / projection_chunk_count, False)
358
- add_to_memory_counters(-filtered_rfft_result_size / projection_chunk_count, False)
372
+ add_to_memory_counters(
373
+ -filtered_rfft_result_size / projection_chunk_count, False
374
+ )
359
375
 
360
376
  add_to_memory_counters(-irfft_result_size / projection_chunk_count, False)
361
377
  else:
362
- add_to_memory_counters(rfft_plan_slice_size / chunk_count / projection_chunk_count * 2, True)
363
- add_to_memory_counters(irfft_plan_slice_size / chunk_count / projection_chunk_count * 2, True)
378
+ add_to_memory_counters(
379
+ rfft_plan_slice_size / chunk_count / projection_chunk_count * 2, True
380
+ )
381
+ add_to_memory_counters(
382
+ irfft_plan_slice_size / chunk_count / projection_chunk_count * 2, True
383
+ )
364
384
  # add_to_memory_counters(irfft_scratch_memory_size / chunk_count / projection_chunk_count, True)
365
385
  for _ in range(0, chunk_count):
366
- add_to_memory_counters(padded_tmp_p_input_slice / chunk_count / projection_chunk_count, True)
367
-
368
- add_to_memory_counters(rfft_result_size / chunk_count / projection_chunk_count, True)
369
- add_to_memory_counters(filtered_rfft_result_size / chunk_count / projection_chunk_count, True)
370
- add_to_memory_counters(-rfft_result_size / chunk_count / projection_chunk_count, True)
371
- add_to_memory_counters(-padded_tmp_p_input_slice / chunk_count / projection_chunk_count, True)
372
-
373
- add_to_memory_counters(irfft_scratch_memory_size / chunk_count / projection_chunk_count, True)
374
- add_to_memory_counters(-irfft_scratch_memory_size / chunk_count / projection_chunk_count, True)
375
- add_to_memory_counters(irfft_result_size / chunk_count / projection_chunk_count, True)
376
- add_to_memory_counters(-filtered_rfft_result_size / chunk_count / projection_chunk_count, True)
377
-
378
- add_to_memory_counters(-irfft_result_size / chunk_count / projection_chunk_count, True)
386
+ add_to_memory_counters(
387
+ padded_tmp_p_input_slice / chunk_count / projection_chunk_count, True
388
+ )
389
+
390
+ add_to_memory_counters(
391
+ rfft_result_size / chunk_count / projection_chunk_count, True
392
+ )
393
+ add_to_memory_counters(
394
+ filtered_rfft_result_size / chunk_count / projection_chunk_count, True
395
+ )
396
+ add_to_memory_counters(
397
+ -rfft_result_size / chunk_count / projection_chunk_count, True
398
+ )
399
+ add_to_memory_counters(
400
+ -padded_tmp_p_input_slice / chunk_count / projection_chunk_count, True
401
+ )
402
+
403
+ add_to_memory_counters(
404
+ irfft_scratch_memory_size / chunk_count / projection_chunk_count, True
405
+ )
406
+ add_to_memory_counters(
407
+ -irfft_scratch_memory_size / chunk_count / projection_chunk_count, True
408
+ )
409
+ add_to_memory_counters(
410
+ irfft_result_size / chunk_count / projection_chunk_count, True
411
+ )
412
+ add_to_memory_counters(
413
+ -filtered_rfft_result_size / chunk_count / projection_chunk_count, True
414
+ )
415
+
416
+ add_to_memory_counters(
417
+ -irfft_result_size / chunk_count / projection_chunk_count, True
418
+ )
379
419
 
380
420
  add_to_memory_counters(-padded_in_slice_size, True)
381
421
  add_to_memory_counters(-filter_size, False)
@@ -426,7 +466,7 @@ def _calc_memory_bytes_SIRT3d_tomobar(
426
466
  if detector_pad is True:
427
467
  detector_pad = __estimate_detectorHoriz_padding(non_slice_dims_shape[1])
428
468
  elif detector_pad is False:
429
- detector_pad = 0
469
+ detector_pad = 0
430
470
 
431
471
  anglesnum = non_slice_dims_shape[0]
432
472
  DetectorsLengthH_padded = non_slice_dims_shape[1] + 2 * detector_pad
@@ -449,7 +489,7 @@ def _calc_memory_bytes_SIRT3d_tomobar(
449
489
  Res_times_R = Res
450
490
  C_times_res = out_data_size
451
491
 
452
- astra_projection = (in_data_size + out_data_size)
492
+ astra_projection = in_data_size + out_data_size
453
493
 
454
494
  tot_memory_bytes = int(
455
495
  recon_data_size_original
@@ -476,7 +516,7 @@ def _calc_memory_bytes_CGLS3d_tomobar(
476
516
  if detector_pad is True:
477
517
  detector_pad = __estimate_detectorHoriz_padding(non_slice_dims_shape[1])
478
518
  elif detector_pad is False:
479
- detector_pad = 0
519
+ detector_pad = 0
480
520
 
481
521
  anglesnum = non_slice_dims_shape[0]
482
522
  DetectorsLengthH_padded = non_slice_dims_shape[1] + 2 * detector_pad
@@ -528,7 +568,7 @@ def _calc_memory_bytes_FISTA3d_tomobar(
528
568
  if detector_pad is True:
529
569
  detector_pad = __estimate_detectorHoriz_padding(non_slice_dims_shape[1])
530
570
  elif detector_pad is False:
531
- detector_pad = 0
571
+ detector_pad = 0
532
572
 
533
573
  anglesnum = non_slice_dims_shape[0]
534
574
  DetectorsLengthH_padded = non_slice_dims_shape[1] + 2 * detector_pad
@@ -567,5 +607,5 @@ def _calc_memory_bytes_FISTA3d_tomobar(
567
607
  def __estimate_detectorHoriz_padding(detX_size) -> int:
568
608
  det_half = detX_size // 2
569
609
  padded_value_exact = int(np.sqrt(2 * (det_half**2))) - det_half
570
- padded_add_margin = int(0.1 * padded_value_exact)
610
+ padded_add_margin = padded_value_exact // 2
571
611
  return padded_value_exact + padded_add_margin
@@ -8,7 +8,7 @@
8
8
  module_path: httomolibgpu.misc.morph
9
9
  - method: remove_stripe_based_sorting
10
10
  module_path: httomolibgpu.prep.stripe
11
- - method: paganin_filter_tomopy
11
+ - method: paganin_filter
12
12
  module_path: httomolibgpu.prep.phase
13
13
  - method: FBP3d_tomobar
14
14
  module_path: httomolibgpu.recon.algorithm
@@ -4,9 +4,9 @@
4
4
  module_path: httomolibgpu.recon.rotation
5
5
  - method: normalize
6
6
  module_path: httomolibgpu.prep.normalize
7
- - method: paganin_filter_tomopy
7
+ - method: paganin_filter
8
8
  module_path: httomolibgpu.prep.phase
9
- sweep_parameter: alpha
10
- sweep_values: [0.01, 0.001, 0.0001]
9
+ sweep_parameter: ratio_delta_beta
10
+ sweep_values: [10, 150, 350]
11
11
  - method: FBP3d_tomobar
12
- module_path: httomolibgpu.recon.algorithm
12
+ module_path: httomolibgpu.recon.algorithm
@@ -138,7 +138,7 @@ def yaml_pipelines_generator(
138
138
 
139
139
  pipeline_full.yaml_set_start_comment(
140
140
  "This pipeline should be supported by the latest developments of HTTomo. Use module load httomo/latest module at Diamond."
141
- )
141
+ )
142
142
 
143
143
  if "loaders" in module_name:
144
144
  # should be the first method in the list
@@ -157,7 +157,7 @@ def yaml_pipelines_generator(
157
157
  pipeline_full += yaml_template_method
158
158
  pipeline_full[i]["parameters"].yaml_add_eol_comment(
159
159
  key="ind",
160
- comment="A vertical slice (sinogram) index to calculate CoR, `mid` can be used for middle",
160
+ comment="A vertical slice (sinogram) index to calculate CoR, 'mid' can be used for middle",
161
161
  )
162
162
  pipeline_full[i]["parameters"].yaml_add_eol_comment(
163
163
  key="cor_initialisation_value",
@@ -169,7 +169,7 @@ def yaml_pipelines_generator(
169
169
  )
170
170
  pipeline_full[i]["parameters"].yaml_add_eol_comment(
171
171
  key="side",
172
- comment="'None' corresponds to fully automated determination, '0' to the left side, '1' to the right side.",
172
+ comment="'None' corresponds to fully automated determination, 'left' to the left side, 'right' to the right side.",
173
173
  )
174
174
  pipeline_full[i]["side_outputs"].yaml_add_eol_comment(
175
175
  key="cor",
@@ -182,7 +182,7 @@ def yaml_pipelines_generator(
182
182
  elif "corr" in module_name and "remove_outlier" in method_name:
183
183
  pipeline_full.yaml_set_comment_before_after_key(
184
184
  i,
185
- "--- Removing unresponsive pixels in the data, aka zingers. Use if sharp streaks are present in the reconstruction. To be applied before normalisation. ---",
185
+ "--- Removing unresponsive/dead pixels in the data, aka zingers. Use if sharp streaks are present in the reconstruction. To be applied before normalisation. ---",
186
186
  indent=0,
187
187
  )
188
188
  pipeline_full += yaml_template_method
@@ -223,7 +223,7 @@ def yaml_pipelines_generator(
223
223
  elif "sino_360_to_180" in method_name:
224
224
  pipeline_full.yaml_set_comment_before_after_key(
225
225
  i,
226
- "--- Using the overlap provided, converting 360 degrees scan to 180 degrees scan. --- ",
226
+ "--- Using the overlap and side provided, converting 360 degrees scan to 180 degrees scan. --- ",
227
227
  indent=0,
228
228
  )
229
229
  pipeline_full += yaml_template_method
@@ -236,7 +236,7 @@ def yaml_pipelines_generator(
236
236
  pipeline_full += yaml_template_method
237
237
  pipeline_full[i]["parameters"].yaml_add_eol_comment(
238
238
  key="minus_log",
239
- comment="If Paganin method is used bellow, set it to false.",
239
+ comment="If Paganin method is used bellow, set it to 'false'.",
240
240
  )
241
241
  elif "phase" in module_name:
242
242
  pipeline_full.yaml_set_comment_before_after_key(
@@ -246,8 +246,20 @@ def yaml_pipelines_generator(
246
246
  )
247
247
  pipeline_full += yaml_template_method
248
248
  pipeline_full[i]["parameters"].yaml_add_eol_comment(
249
- key="alpha",
250
- comment="Controls the balance between the strength of the filter and the amount of noise reduction. Smaller values lead to less noise and more blur.",
249
+ key="ratio_delta_beta",
250
+ comment="The ratio of delta/beta for filter strength control. Larger values lead to more smoothing.",
251
+ )
252
+ pipeline_full[i]["parameters"].yaml_add_eol_comment(
253
+ key="pixel_size",
254
+ comment="Detector pixel size (resolution) in MICRON units.",
255
+ )
256
+ pipeline_full[i]["parameters"].yaml_add_eol_comment(
257
+ key="distance",
258
+ comment="Propagation distance of the wavefront from sample to detector in METRE units.",
259
+ )
260
+ pipeline_full[i]["parameters"].yaml_add_eol_comment(
261
+ key="energy",
262
+ comment="Beam energy in keV.",
251
263
  )
252
264
  elif "stripe" in module_name:
253
265
  pipeline_full.yaml_set_comment_before_after_key(
@@ -269,11 +281,11 @@ def yaml_pipelines_generator(
269
281
  )
270
282
  pipeline_full[i]["parameters"].yaml_add_eol_comment(
271
283
  key="detector_pad",
272
- comment="Horizontal detector padding to minimise circle/arc-type artifacts in the reconstruction. Set to true to enable automatic padding or an integer",
284
+ comment="Horizontal detector padding to minimise circle/arc-type artifacts in the reconstruction. Set to 'true' to enable automatic padding or an integer",
273
285
  )
274
286
  pipeline_full[i]["parameters"].yaml_add_eol_comment(
275
287
  key="recon_mask_radius",
276
- comment="Zero pixels outside the mask-circle radius.",
288
+ comment="Zero pixels outside the mask-circle radius. Make radius equal to 2.0 to remove the mask effect.",
277
289
  )
278
290
  pipeline_full[i]["parameters"].yaml_add_eol_comment(
279
291
  key="neglog",
@@ -284,7 +296,7 @@ def yaml_pipelines_generator(
284
296
  pipeline_full[i]["parameters"]["algorithm"] = "gridrec"
285
297
  pipeline_full[i]["parameters"].yaml_add_eol_comment(
286
298
  key="algorithm",
287
- comment="Select the required algorithm, e.g. `gridrec`",
299
+ comment="Select the required algorithm, e.g. 'gridrec'",
288
300
  )
289
301
  elif "denoise" in module_name:
290
302
  pipeline_full.yaml_set_comment_before_after_key(
@@ -0,0 +1,7 @@
1
+ - method: paganin_filter
2
+ module_path: httomolibgpu.prep.phase
3
+ parameters:
4
+ pixel_size: 1.28
5
+ distance: 1.0
6
+ energy: 53.0
7
+ ratio_delta_beta: 250
@@ -8,6 +8,7 @@
8
8
  recon_size: null
9
9
  recon_mask_radius: 0.95
10
10
  power_of_2_oversampling: true
11
- min_mem_usage_filter: false
12
- min_mem_usage_ifft2: false
11
+ power_of_2_cropping: false
12
+ min_mem_usage_filter: true
13
+ min_mem_usage_ifft2: true
13
14
  neglog: false
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: httomo-backends
3
- Version: 0.7.1
3
+ Version: 0.8.0
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
@@ -22,7 +22,6 @@ Requires-Dist: h5py
22
22
  Requires-Dist: astra-toolbox
23
23
  Requires-Dist: tomobar
24
24
  Requires-Dist: scikit-image
25
- Requires-Dist: ccpi-regularisation-cupy
26
25
  Provides-Extra: dev
27
26
  Requires-Dist: pytest; extra == "dev"
28
27
  Requires-Dist: pytest-mock; extra == "dev"
@@ -78,7 +78,7 @@ httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.morph/sino_360_to_
78
78
  httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.rescale/rescale_to_int.yaml
79
79
  httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.alignment/distortion_correction_proj_discorpy.yaml
80
80
  httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.normalize/normalize.yaml
81
- httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.phase/paganin_filter_tomopy.yaml
81
+ httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.phase/paganin_filter.yaml
82
82
  httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.stripe/raven_filter.yaml
83
83
  httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.stripe/remove_all_stripe.yaml
84
84
  httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.stripe/remove_stripe_based_sorting.yaml
@@ -8,7 +8,6 @@ h5py
8
8
  astra-toolbox
9
9
  tomobar
10
10
  scikit-image
11
- ccpi-regularisation-cupy
12
11
 
13
12
  [dev]
14
13
  pytest
@@ -24,7 +24,7 @@ dev_template = "{tag}"
24
24
 
25
25
  [project]
26
26
  name = "httomo-backends"
27
- version = "0.7.1"
27
+ version = "0.8.0"
28
28
  description = "Supplementary files for HTTomo backends."
29
29
  readme = "README.rst"
30
30
  license = {text = "BSD-3-Clause"}
@@ -55,7 +55,6 @@ dependencies = [
55
55
  "astra-toolbox",
56
56
  "tomobar",
57
57
  "scikit-image",
58
- "ccpi-regularisation-cupy",
59
58
  ]
60
59
 
61
60
  [project.optional-dependencies]
@@ -15,7 +15,7 @@ from httomo_backends.methods_database.query import MethodsDatabaseQuery
15
15
 
16
16
  from httomolibgpu.misc.morph import data_resampler, sino_360_to_180
17
17
  from httomolibgpu.prep.normalize import normalize
18
- from httomolibgpu.prep.phase import paganin_filter_tomopy
18
+ from httomolibgpu.prep.phase import paganin_filter
19
19
  from httomolibgpu.prep.alignment import distortion_correction_proj_discorpy
20
20
  from httomolibgpu.prep.stripe import (
21
21
  remove_stripe_based_sorting,
@@ -228,11 +228,11 @@ def test_denoiser_PD_TV_memoryhook(ensure_clean_memory, slices):
228
228
  @pytest.mark.parametrize("slices", [64, 128])
229
229
  @pytest.mark.parametrize("dim_x", [81, 260, 320])
230
230
  @pytest.mark.parametrize("dim_y", [340, 135, 96])
231
- def test_paganin_filter_tomopy_memoryhook(slices, dim_x, dim_y, ensure_clean_memory):
231
+ def test_paganin_filter_memoryhook(slices, dim_x, dim_y, ensure_clean_memory):
232
232
  data = cp.random.random_sample((slices, dim_x, dim_y), dtype=np.float32)
233
233
  hook = MaxMemoryHook()
234
234
  with hook:
235
- data_filtered = paganin_filter_tomopy(cp.copy(data)).get()
235
+ data_filtered = paganin_filter(cp.copy(data)).get()
236
236
 
237
237
  # make sure estimator function is within range (80% min, 100% max)
238
238
  max_mem = (
@@ -240,7 +240,7 @@ def test_paganin_filter_tomopy_memoryhook(slices, dim_x, dim_y, ensure_clean_mem
240
240
  ) # the amount of memory in bytes needed for the method according to memoryhook
241
241
 
242
242
  # now we estimate how much of the total memory required for this data
243
- (estimated_memory_bytes, subtract_bytes) = _calc_memory_bytes_paganin_filter_tomopy(
243
+ (estimated_memory_bytes, subtract_bytes) = _calc_memory_bytes_paganin_filter(
244
244
  (dim_x, dim_y), dtype=np.float32()
245
245
  )
246
246
  estimated_memory_mb = round(slices * estimated_memory_bytes / (1024**2), 2)
@@ -543,7 +543,8 @@ def test_recon_FBP3d_tomobar_memoryhook(
543
543
 
544
544
 
545
545
  @pytest.mark.cupy
546
- @pytest.mark.parametrize("min_mem_usage_filter_ifft2", [(False, False), (True, False), (True, True)])
546
+ @pytest.mark.parametrize("min_mem_usage_filter_ifft2", [(False, False)])
547
+ @pytest.mark.parametrize("power_of_2_cropping", [False])
547
548
  @pytest.mark.parametrize("padding_detx", [0, 10, 50, 100])
548
549
  @pytest.mark.parametrize("projections", [1500, 1801, 2560])
549
550
  @pytest.mark.parametrize("detX_size", [2560])
@@ -556,6 +557,7 @@ def test_recon_LPRec3d_tomobar_0_pi_memoryhook(
556
557
  projection_angle_range,
557
558
  min_mem_usage_filter_ifft2,
558
559
  padding_detx,
560
+ power_of_2_cropping,
559
561
  ensure_clean_memory,
560
562
  ):
561
563
  __test_recon_LPRec3d_tomobar_memoryhook_common(
@@ -565,13 +567,17 @@ def test_recon_LPRec3d_tomobar_0_pi_memoryhook(
565
567
  projection_angle_range,
566
568
  padding_detx,
567
569
  min_mem_usage_filter_ifft2,
570
+ power_of_2_cropping,
568
571
  ensure_clean_memory,
569
572
  )
570
573
 
571
574
 
572
575
  @pytest.mark.full
573
576
  @pytest.mark.cupy
574
- @pytest.mark.parametrize("min_mem_usage_filter_ifft2", [(False, False), (True, False), (True, True)])
577
+ @pytest.mark.parametrize(
578
+ "min_mem_usage_filter_ifft2", [(False, False), (True, False), (True, True)]
579
+ )
580
+ @pytest.mark.parametrize("power_of_2_cropping", [False, True])
575
581
  @pytest.mark.parametrize("padding_detx", [0, 10, 50, 100, 800])
576
582
  @pytest.mark.parametrize("projections", [1500, 1801, 2560, 3601])
577
583
  @pytest.mark.parametrize("detX_size", [2560])
@@ -584,6 +590,7 @@ def test_recon_LPRec3d_tomobar_0_pi_memoryhook_full(
584
590
  projection_angle_range,
585
591
  padding_detx,
586
592
  min_mem_usage_filter_ifft2,
593
+ power_of_2_cropping,
587
594
  ensure_clean_memory,
588
595
  ):
589
596
  __test_recon_LPRec3d_tomobar_memoryhook_common(
@@ -593,13 +600,17 @@ def test_recon_LPRec3d_tomobar_0_pi_memoryhook_full(
593
600
  projection_angle_range,
594
601
  padding_detx,
595
602
  min_mem_usage_filter_ifft2,
603
+ power_of_2_cropping,
596
604
  ensure_clean_memory,
597
605
  )
598
606
 
599
607
 
600
608
  @pytest.mark.full
601
609
  @pytest.mark.cupy
602
- @pytest.mark.parametrize("min_mem_usage_filter_ifft2", [(False, False), (True, False), (True, True)])
610
+ @pytest.mark.parametrize(
611
+ "min_mem_usage_filter_ifft2", [(False, False), (True, False), (True, True)]
612
+ )
613
+ @pytest.mark.parametrize("power_of_2_cropping", [False, True])
603
614
  @pytest.mark.parametrize("padding_detx", [0, 10, 50, 100, 800])
604
615
  @pytest.mark.parametrize("projections", [1500, 1801, 2560, 3601])
605
616
  @pytest.mark.parametrize("detX_size", [2560])
@@ -614,6 +625,7 @@ def test_recon_LPRec3d_tomobar_memoryhook_full(
614
625
  projection_angle_range,
615
626
  padding_detx,
616
627
  min_mem_usage_filter_ifft2,
628
+ power_of_2_cropping,
617
629
  ensure_clean_memory,
618
630
  ):
619
631
  __test_recon_LPRec3d_tomobar_memoryhook_common(
@@ -623,6 +635,7 @@ def test_recon_LPRec3d_tomobar_memoryhook_full(
623
635
  projection_angle_range,
624
636
  padding_detx,
625
637
  min_mem_usage_filter_ifft2,
638
+ power_of_2_cropping,
626
639
  ensure_clean_memory,
627
640
  )
628
641
 
@@ -634,6 +647,7 @@ def __test_recon_LPRec3d_tomobar_memoryhook_common(
634
647
  projection_angle_range,
635
648
  padding_detx,
636
649
  min_mem_usage_filter_ifft2,
650
+ power_of_2_cropping,
637
651
  ensure_clean_memory,
638
652
  ):
639
653
  angles_number = projections
@@ -646,6 +660,7 @@ def __test_recon_LPRec3d_tomobar_memoryhook_common(
646
660
  kwargs["detector_pad"] = padding_detx
647
661
  kwargs["min_mem_usage_filter"] = min_mem_usage_filter_ifft2[0]
648
662
  kwargs["min_mem_usage_ifft2"] = min_mem_usage_filter_ifft2[1]
663
+ kwargs["power_of_2_cropping"] = power_of_2_cropping
649
664
  kwargs["recon_size"] = detX_size
650
665
  kwargs["recon_mask_radius"] = 0.8
651
666
 
@@ -731,10 +746,13 @@ def test_recon_SIRT3d_tomobar_memoryhook(slices, recon_size_it, ensure_clean_mem
731
746
  assert estimated_memory_mb >= max_mem_mb
732
747
  assert percents_relative_maxmem <= 100
733
748
 
749
+
734
750
  @pytest.mark.cupy
735
751
  @pytest.mark.parametrize("slices", [3])
736
752
  @pytest.mark.parametrize("recon_size_it", [2560])
737
- def test_recon_SIRT3d_tomobar_autopad_memoryhook(slices, recon_size_it, ensure_clean_memory):
753
+ def test_recon_SIRT3d_tomobar_autopad_memoryhook(
754
+ slices, recon_size_it, ensure_clean_memory
755
+ ):
738
756
  angles_tot = 901
739
757
  det_size = 2560
740
758
  data = cp.random.random_sample((angles_tot, slices, det_size), dtype=np.float32)
@@ -747,8 +765,8 @@ def test_recon_SIRT3d_tomobar_autopad_memoryhook(slices, recon_size_it, ensure_c
747
765
  recon_data = SIRT3d_tomobar(
748
766
  cp.copy(data),
749
767
  np.linspace(0.0 * np.pi / 180.0, 180.0 * np.pi / 180.0, data.shape[0]),
750
- center = 1200,
751
- detector_pad = True,
768
+ center=1200,
769
+ detector_pad=True,
752
770
  recon_size=recon_size_it,
753
771
  iterations=2,
754
772
  nonnegativity=True,
@@ -792,8 +810,8 @@ def test_recon_CGLS3d_tomobar_memoryhook(slices, recon_size_it, ensure_clean_mem
792
810
  recon_data = CGLS3d_tomobar(
793
811
  cp.copy(data),
794
812
  np.linspace(0.0 * np.pi / 180.0, 180.0 * np.pi / 180.0, data.shape[0]),
795
- center = 1200,
796
- detector_pad = False,
813
+ center=1200,
814
+ detector_pad=False,
797
815
  recon_size=recon_size_it,
798
816
  iterations=2,
799
817
  nonnegativity=True,
@@ -824,7 +842,9 @@ def test_recon_CGLS3d_tomobar_memoryhook(slices, recon_size_it, ensure_clean_mem
824
842
  @pytest.mark.cupy
825
843
  @pytest.mark.parametrize("slices", [3])
826
844
  @pytest.mark.parametrize("recon_size_it", [2560])
827
- def test_recon_CGLS3d_tomobar_autopad_memoryhook(slices, recon_size_it, ensure_clean_memory):
845
+ def test_recon_CGLS3d_tomobar_autopad_memoryhook(
846
+ slices, recon_size_it, ensure_clean_memory
847
+ ):
828
848
  angles_tot = 901
829
849
  det_size = 2560
830
850
  data = cp.random.random_sample((angles_tot, slices, det_size), dtype=np.float32)
@@ -837,8 +857,8 @@ def test_recon_CGLS3d_tomobar_autopad_memoryhook(slices, recon_size_it, ensure_c
837
857
  recon_data = CGLS3d_tomobar(
838
858
  cp.copy(data),
839
859
  np.linspace(0.0 * np.pi / 180.0, 180.0 * np.pi / 180.0, data.shape[0]),
840
- center = 1200,
841
- detector_pad = True,
860
+ center=1200,
861
+ detector_pad=True,
842
862
  recon_size=recon_size_it,
843
863
  iterations=2,
844
864
  nonnegativity=True,
@@ -865,6 +885,7 @@ def test_recon_CGLS3d_tomobar_autopad_memoryhook(slices, recon_size_it, ensure_c
865
885
  assert estimated_memory_mb >= max_mem_mb
866
886
  assert percents_relative_maxmem <= 85
867
887
 
888
+
868
889
  @pytest.mark.cupy
869
890
  @pytest.mark.parametrize("slices", [3, 5])
870
891
  @pytest.mark.parametrize("recon_size_it", [2560])
@@ -1,7 +0,0 @@
1
- - method: paganin_filter_tomopy
2
- module_path: httomolibgpu.prep.phase
3
- parameters:
4
- pixel_size: 0.0001
5
- dist: 50.0
6
- energy: 53.0
7
- alpha: 0.001
File without changes