httomo-backends 1.0__tar.gz → 1.1.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 (165) hide show
  1. {httomo_backends-1.0 → httomo_backends-1.1.0}/PKG-INFO +1 -1
  2. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/cufft.py +0 -1
  3. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/httomolibgpu.yaml +9 -0
  4. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/misc/corr.py +10 -0
  5. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/misc/denoise.py +0 -1
  6. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/misc/morph.py +13 -2
  7. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/misc/rescale.py +6 -0
  8. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/prep/normalize.py +0 -1
  9. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/prep/stripe.py +9 -2
  10. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/recon/algorithm.py +65 -1
  11. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/methods_database/packages/backends/tomopy/supporting_funcs/recon/algorithm.py +0 -1
  12. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/scripts/yaml_pipelines_generator.py +9 -1
  13. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/scripts/yaml_templates_generator.py +1 -0
  14. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.phase/paganin_filter.yaml +2 -0
  15. httomo_backends-1.1.0/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/ADMM3d_tomobar.yaml +17 -0
  16. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends.egg-info/PKG-INFO +1 -1
  17. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends.egg-info/SOURCES.txt +1 -0
  18. {httomo_backends-1.0 → httomo_backends-1.1.0}/pyproject.toml +1 -1
  19. {httomo_backends-1.0 → httomo_backends-1.1.0}/tests/test_httomolibgpu.py +167 -16
  20. {httomo_backends-1.0 → httomo_backends-1.1.0}/LICENSE +0 -0
  21. {httomo_backends-1.0 → httomo_backends-1.1.0}/README.rst +0 -0
  22. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/__init__.py +0 -0
  23. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/methods_database/__init__.py +0 -0
  24. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/methods_database/packages/__init__.py +0 -0
  25. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/methods_database/packages/backends/httomolib/httomolib.yaml +0 -0
  26. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/methods_database/packages/backends/httomolib/httomolib_modules.yaml +0 -0
  27. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/__init__.py +0 -0
  28. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/httomolibgpu_modules.yaml +0 -0
  29. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/__init__.py +0 -0
  30. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/misc/__init__.py +0 -0
  31. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/prep/__init__.py +0 -0
  32. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/prep/phase.py +0 -0
  33. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/recon/__init__.py +0 -0
  34. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/recon/peak_memory_line_profile_hook.py +0 -0
  35. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/methods_database/packages/backends/tomopy/__init__.py +0 -0
  36. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/methods_database/packages/backends/tomopy/supporting_funcs/__init__.py +0 -0
  37. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/methods_database/packages/backends/tomopy/supporting_funcs/misc/__init__.py +0 -0
  38. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/methods_database/packages/backends/tomopy/supporting_funcs/misc/corr.py +0 -0
  39. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/methods_database/packages/backends/tomopy/supporting_funcs/prep/__init__.py +0 -0
  40. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/methods_database/packages/backends/tomopy/supporting_funcs/prep/stripe.py +0 -0
  41. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/methods_database/packages/backends/tomopy/supporting_funcs/recon/__init__.py +0 -0
  42. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/methods_database/packages/backends/tomopy/tomopy.yaml +0 -0
  43. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/methods_database/packages/backends/tomopy/tomopy_modules.yaml +0 -0
  44. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/methods_database/packages/httomo.yaml +0 -0
  45. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/methods_database/query.py +0 -0
  46. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/pipelines_full/FBP2d_astra_directive.yaml +0 -0
  47. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/pipelines_full/FBP3d_tomobar_denoising_directive.yaml +0 -0
  48. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/pipelines_full/FBP3d_tomobar_directive.yaml +0 -0
  49. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/pipelines_full/FBP3d_tomobar_noimagesaving_directive.yaml +0 -0
  50. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/pipelines_full/FISTA3d_tomobar_directive.yaml +0 -0
  51. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/pipelines_full/LPRec3d_tomobar_directive.yaml +0 -0
  52. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/pipelines_full/__init__.py +0 -0
  53. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/pipelines_full/deg360_distortion_FBP3d_tomobar_directive.yaml +0 -0
  54. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/pipelines_full/deg360_paganin_FBP3d_tomobar_directive.yaml +0 -0
  55. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/pipelines_full/sweep_center_FBP3d_tomobar_directive.yaml +0 -0
  56. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/pipelines_full/sweep_paganin_FBP3d_tomobar_directive.yaml +0 -0
  57. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/pipelines_full/titaren_center_pc_FBP3d_resample_directive.yaml +0 -0
  58. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/pipelines_full/tomopy_gridrec_directive.yaml +0 -0
  59. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/scripts/__init__.py +0 -0
  60. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/scripts/json_pipelines_generator.py +0 -0
  61. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/scripts/yaml_unsupported_tomopy_remove.py +0 -0
  62. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/httomo/__init__.py +0 -0
  63. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/httomo/httomo.data.hdf.loaders/standard_tomo.yaml +0 -0
  64. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/httomo/httomo.methods/calculate_stats.yaml +0 -0
  65. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/httomo/httomo.methods/save_intermediate_data.yaml +0 -0
  66. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/httomolib/__init__.py +0 -0
  67. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/httomolib/httomolib.misc.images/save_to_images.yaml +0 -0
  68. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/httomolib/httomolib.misc.morph/data_reducer.yaml +0 -0
  69. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/httomolib/httomolib.misc.rescale/rescale_to_int.yaml +0 -0
  70. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/httomolib/httomolib.misc.segm/binary_thresholding.yaml +0 -0
  71. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/httomolib/httomolib.misc.utils/data_checker.yaml +0 -0
  72. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/httomolib/httomolib.prep.phase/paganin_filter.yaml +0 -0
  73. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/httomolibgpu/__init__.py +0 -0
  74. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.corr/median_filter.yaml +0 -0
  75. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.corr/remove_outlier.yaml +0 -0
  76. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.denoise/total_variation_PD.yaml +0 -0
  77. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.denoise/total_variation_ROF.yaml +0 -0
  78. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.morph/data_resampler.yaml +0 -0
  79. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.morph/sino_360_to_180.yaml +0 -0
  80. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.rescale/rescale_to_int.yaml +0 -0
  81. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.utils/data_checker.yaml +0 -0
  82. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.alignment/distortion_correction_proj_discorpy.yaml +0 -0
  83. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.normalize/dark_flat_field_correction.yaml +0 -0
  84. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.normalize/minus_log.yaml +0 -0
  85. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.phase/paganin_filter_savu_legacy.yaml +0 -0
  86. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.stripe/raven_filter.yaml +0 -0
  87. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.stripe/remove_all_stripe.yaml +0 -0
  88. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.stripe/remove_stripe_based_sorting.yaml +0 -0
  89. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.stripe/remove_stripe_fw.yaml +0 -0
  90. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.stripe/remove_stripe_ti.yaml +0 -0
  91. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/CGLS3d_tomobar.yaml +0 -0
  92. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/FBP2d_astra.yaml +0 -0
  93. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/FBP3d_tomobar.yaml +0 -0
  94. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/FISTA3d_tomobar.yaml +0 -0
  95. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/LPRec3d_tomobar.yaml +0 -0
  96. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/SIRT3d_tomobar.yaml +0 -0
  97. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.rotation/find_center_360.yaml +0 -0
  98. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.rotation/find_center_pc.yaml +0 -0
  99. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.rotation/find_center_vo.yaml +0 -0
  100. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/__init__.py +0 -0
  101. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/adjust_range.yaml +0 -0
  102. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/circ_mask.yaml +0 -0
  103. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/gaussian_filter.yaml +0 -0
  104. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/median_filter.yaml +0 -0
  105. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/median_filter3d.yaml +0 -0
  106. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/median_filter_nonfinite.yaml +0 -0
  107. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/remove_nan.yaml +0 -0
  108. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/remove_neg.yaml +0 -0
  109. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/remove_outlier.yaml +0 -0
  110. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/remove_outlier1d.yaml +0 -0
  111. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/remove_outlier3d.yaml +0 -0
  112. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/remove_ring.yaml +0 -0
  113. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/sobel_filter.yaml +0 -0
  114. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.morph/downsample.yaml +0 -0
  115. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.morph/pad.yaml +0 -0
  116. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.morph/sino_360_to_180.yaml +0 -0
  117. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.morph/trim_sinogram.yaml +0 -0
  118. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.morph/upsample.yaml +0 -0
  119. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/add_jitter.yaml +0 -0
  120. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/add_noise.yaml +0 -0
  121. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/align_joint.yaml +0 -0
  122. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/align_seq.yaml +0 -0
  123. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/blur_edges.yaml +0 -0
  124. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/distortion_correction_proj.yaml +0 -0
  125. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/distortion_correction_sino.yaml +0 -0
  126. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/scale.yaml +0 -0
  127. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/shift_images.yaml +0 -0
  128. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.normalize/minus_log.yaml +0 -0
  129. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.normalize/normalize.yaml +0 -0
  130. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.normalize/normalize_bg.yaml +0 -0
  131. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.normalize/normalize_nf.yaml +0 -0
  132. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.normalize/normalize_roi.yaml +0 -0
  133. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.phase/retrieve_phase.yaml +0 -0
  134. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_all_stripe.yaml +0 -0
  135. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_dead_stripe.yaml +0 -0
  136. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_large_stripe.yaml +0 -0
  137. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_stripe_based_filtering.yaml +0 -0
  138. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_stripe_based_fitting.yaml +0 -0
  139. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_stripe_based_interpolation.yaml +0 -0
  140. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_stripe_based_sorting.yaml +0 -0
  141. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_stripe_fw.yaml +0 -0
  142. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_stripe_sf.yaml +0 -0
  143. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_stripe_ti.yaml +0 -0
  144. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/stripes_detect3d.yaml +0 -0
  145. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/stripes_mask3d.yaml +0 -0
  146. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.recon.algorithm/recon.yaml +0 -0
  147. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.recon.rotation/find_center.yaml +0 -0
  148. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.recon.rotation/find_center_pc.yaml +0 -0
  149. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.recon.rotation/find_center_vo.yaml +0 -0
  150. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_drift.yaml +0 -0
  151. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_focal_spot_blur.yaml +0 -0
  152. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_gaussian.yaml +0 -0
  153. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_poisson.yaml +0 -0
  154. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_rings.yaml +0 -0
  155. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_salt_pepper.yaml +0 -0
  156. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_zingers.yaml +0 -0
  157. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/project.yaml +0 -0
  158. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/project2.yaml +0 -0
  159. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/project3.yaml +0 -0
  160. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends.egg-info/dependency_links.txt +0 -0
  161. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends.egg-info/requires.txt +0 -0
  162. {httomo_backends-1.0 → httomo_backends-1.1.0}/httomo_backends.egg-info/top_level.txt +0 -0
  163. {httomo_backends-1.0 → httomo_backends-1.1.0}/setup.cfg +0 -0
  164. {httomo_backends-1.0 → httomo_backends-1.1.0}/tests/test_method_query.py +0 -0
  165. {httomo_backends-1.0 → httomo_backends-1.1.0}/tests/test_tomopy.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: httomo-backends
3
- Version: 1.0
3
+ Version: 1.1.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
@@ -2,7 +2,6 @@ import ctypes
2
2
  import sys
3
3
  from enum import Enum
4
4
 
5
-
6
5
  if "linux" not in sys.platform:
7
6
  raise RuntimeError("Linux is currently the only supported platform")
8
7
 
@@ -227,6 +227,15 @@ recon:
227
227
  memory_gpu:
228
228
  multiplier: None
229
229
  method: module
230
+ ADMM3d_tomobar:
231
+ pattern: sinogram
232
+ output_dims_change: True
233
+ implementation: gpu_cupy
234
+ save_result_default: True
235
+ padding: True
236
+ memory_gpu:
237
+ multiplier: None
238
+ method: module
230
239
  rotation:
231
240
  find_center_vo:
232
241
  pattern: projection
@@ -1,5 +1,7 @@
1
+ import inspect
1
2
  from typing import Tuple
2
3
 
4
+ from httomolibgpu.misc.corr import median_filter, remove_outlier
3
5
 
4
6
  __all__ = [
5
7
  "_calc_padding_remove_outlier",
@@ -8,10 +10,18 @@ __all__ = [
8
10
 
9
11
 
10
12
  def _calc_padding_remove_outlier(**kwargs) -> Tuple[int, int]:
13
+ if "kernel_size" not in kwargs:
14
+ params = inspect.signature(remove_outlier).parameters
15
+ kwargs["kernel_size"] = params["kernel_size"].default
16
+
11
17
  kernel_size = kwargs["kernel_size"]
12
18
  return (kernel_size // 2, kernel_size // 2)
13
19
 
14
20
 
15
21
  def _calc_padding_median_filter(**kwargs) -> Tuple[int, int]:
22
+ if "kernel_size" not in kwargs:
23
+ params = inspect.signature(median_filter).parameters
24
+ kwargs["kernel_size"] = params["kernel_size"].default
25
+
16
26
  kernel_size = kwargs["kernel_size"]
17
27
  return (kernel_size // 2, kernel_size // 2)
@@ -1,6 +1,5 @@
1
1
  from typing import Tuple
2
2
 
3
-
4
3
  __all__ = [
5
4
  "_calc_padding_total_variation_ROF",
6
5
  "_calc_padding_total_variation_PD",
@@ -20,10 +20,13 @@
20
20
  # ---------------------------------------------------------------------------
21
21
  """Modules for memory estimation for morph functions"""
22
22
 
23
+ import inspect
23
24
  import math
24
25
  from typing import Tuple
25
26
  import numpy as np
26
27
 
28
+ from httomolibgpu.misc.morph import data_resampler, sino_360_to_180
29
+
27
30
  __all__ = [
28
31
  "_calc_memory_bytes_data_resampler",
29
32
  "_calc_output_dim_data_resampler",
@@ -42,6 +45,10 @@ def _calc_memory_bytes_data_resampler(
42
45
  **kwargs,
43
46
  ) -> Tuple[int, int]:
44
47
  newshape = kwargs["newshape"]
48
+
49
+ if "interpolation" not in kwargs:
50
+ params = inspect.signature(data_resampler).parameters
51
+ kwargs["interpolation"] = params["interpolation"].default
45
52
  interpolation = kwargs["interpolation"]
46
53
 
47
54
  input_size = np.prod(non_slice_dims_shape) * dtype.itemsize
@@ -62,7 +69,9 @@ def _calc_output_dim_sino_360_to_180(
62
69
  non_slice_dims_shape: Tuple[int, int],
63
70
  **kwargs,
64
71
  ) -> Tuple[int, int]:
65
- assert "overlap" in kwargs, "Expected overlap in method parameters"
72
+ if "overlap" not in kwargs:
73
+ params = inspect.signature(sino_360_to_180).parameters
74
+ kwargs["overlap"] = params["overlap"].default
66
75
  overlap: float = kwargs["overlap"]
67
76
 
68
77
  original_sino_width = non_slice_dims_shape[1]
@@ -75,7 +84,9 @@ def _calc_memory_bytes_sino_360_to_180(
75
84
  dtype: np.dtype,
76
85
  **kwargs,
77
86
  ) -> Tuple[int, int]:
78
- assert "overlap" in kwargs, "Expected overlap in method parameters"
87
+ if "overlap" not in kwargs:
88
+ params = inspect.signature(sino_360_to_180).parameters
89
+ kwargs["overlap"] = params["overlap"].default
79
90
  overlap: float = kwargs["overlap"]
80
91
 
81
92
  original_sino_width = non_slice_dims_shape[1]
@@ -1,6 +1,9 @@
1
+ import inspect
1
2
  from typing import Tuple
2
3
  import numpy as np
3
4
 
5
+ from httomolibgpu.misc.rescale import rescale_to_int
6
+
4
7
  __all__ = [
5
8
  "_calc_memory_bytes_rescale_to_int",
6
9
  ]
@@ -11,6 +14,9 @@ def _calc_memory_bytes_rescale_to_int(
11
14
  dtype: np.dtype,
12
15
  **kwargs,
13
16
  ) -> Tuple[int, int]:
17
+ if "bits" not in kwargs:
18
+ params = inspect.signature(rescale_to_int).parameters
19
+ kwargs["bits"] = params["bits"].default
14
20
  bits: int = kwargs["bits"]
15
21
  if bits == 8:
16
22
  itemsize = 1
@@ -1,7 +1,6 @@
1
1
  from typing import Tuple
2
2
  import numpy as np
3
3
 
4
-
5
4
  __all__ = [
6
5
  "_calc_memory_bytes_dark_flat_field_correction",
7
6
  ]
@@ -20,13 +20,13 @@
20
20
  # ---------------------------------------------------------------------------
21
21
  """Modules for memory estimation for stripe removal methods"""
22
22
 
23
+ import inspect
23
24
  import math
24
25
  from typing import Tuple
25
26
  import numpy as np
26
27
 
27
28
  from httomo_backends.cufft import CufftType, cufft_estimate_1d
28
- from httomolibgpu.prep.stripe import remove_stripe_fw
29
-
29
+ from httomolibgpu.prep.stripe import raven_filter, remove_stripe_fw
30
30
 
31
31
  __all__ = [
32
32
  "_calc_memory_bytes_for_slices_remove_stripe_fw",
@@ -87,7 +87,14 @@ def _calc_memory_bytes_raven_filter(
87
87
  **kwargs,
88
88
  ) -> Tuple[int, int]:
89
89
 
90
+ if "pad_x" not in kwargs:
91
+ params = inspect.signature(raven_filter).parameters
92
+ kwargs["pad_x"] = params["pad_x"].default
90
93
  pad_x = kwargs["pad_x"]
94
+
95
+ if "pad_y" not in kwargs:
96
+ params = inspect.signature(raven_filter).parameters
97
+ kwargs["pad_y"] = params["pad_y"].default
91
98
  pad_y = kwargs["pad_y"]
92
99
 
93
100
  # Unpadded input
@@ -24,6 +24,7 @@ import math
24
24
  from typing import Tuple
25
25
  import numpy as np
26
26
  from httomo_backends.cufft import CufftType, cufft_estimate_1d, cufft_estimate_2d
27
+ from httomolibgpu.recon.algorithm import ADMM3d_tomobar
27
28
 
28
29
  __all__ = [
29
30
  "_calc_memory_bytes_FBP3d_tomobar",
@@ -31,13 +32,16 @@ __all__ = [
31
32
  "_calc_memory_bytes_SIRT3d_tomobar",
32
33
  "_calc_memory_bytes_CGLS3d_tomobar",
33
34
  "_calc_memory_bytes_FISTA3d_tomobar",
35
+ "_calc_memory_bytes_ADMM3d_tomobar",
34
36
  "_calc_output_dim_FBP2d_astra",
35
37
  "_calc_output_dim_FBP3d_tomobar",
36
38
  "_calc_output_dim_LPRec3d_tomobar",
37
39
  "_calc_output_dim_SIRT3d_tomobar",
38
40
  "_calc_output_dim_CGLS3d_tomobar",
39
41
  "_calc_output_dim_FISTA3d_tomobar",
42
+ "_calc_output_dim_ADMM3d_tomobar",
40
43
  "_calc_padding_FISTA3d_tomobar",
44
+ "_calc_padding_ADMM3d_tomobar",
41
45
  ]
42
46
 
43
47
 
@@ -45,6 +49,10 @@ def _calc_padding_FISTA3d_tomobar(**kwargs) -> Tuple[int, int]:
45
49
  return (5, 5)
46
50
 
47
51
 
52
+ def _calc_padding_ADMM3d_tomobar(**kwargs) -> Tuple[int, int]:
53
+ return (5, 5)
54
+
55
+
48
56
  def __calc_output_dim_recon(non_slice_dims_shape, **kwargs):
49
57
  """Function to calculate output dimensions for all reconstructors.
50
58
  The change of the dimension depends either on the user-provided "recon_size"
@@ -52,7 +60,7 @@ def __calc_output_dim_recon(non_slice_dims_shape, **kwargs):
52
60
 
53
61
  """
54
62
  DetectorsLengthH = non_slice_dims_shape[1]
55
- recon_size = kwargs["recon_size"]
63
+ recon_size = kwargs.get("recon_size", None)
56
64
  if recon_size is None:
57
65
  recon_size = DetectorsLengthH
58
66
  output_dims = (recon_size, recon_size)
@@ -83,6 +91,10 @@ def _calc_output_dim_FISTA3d_tomobar(non_slice_dims_shape, **kwargs):
83
91
  return __calc_output_dim_recon(non_slice_dims_shape, **kwargs)
84
92
 
85
93
 
94
+ def _calc_output_dim_ADMM3d_tomobar(non_slice_dims_shape, **kwargs):
95
+ return __calc_output_dim_recon(non_slice_dims_shape, **kwargs)
96
+
97
+
86
98
  def _calc_memory_bytes_FBP3d_tomobar(
87
99
  non_slice_dims_shape: Tuple[int, int],
88
100
  dtype: np.dtype,
@@ -604,6 +616,58 @@ def _calc_memory_bytes_FISTA3d_tomobar(
604
616
  return (tot_memory_bytes, 0)
605
617
 
606
618
 
619
+ def _calc_memory_bytes_ADMM3d_tomobar(
620
+ non_slice_dims_shape: Tuple[int, int],
621
+ dtype: np.dtype,
622
+ **kwargs,
623
+ ) -> Tuple[int, int]:
624
+ detector_pad = 0
625
+ if "detector_pad" in kwargs:
626
+ detector_pad = kwargs["detector_pad"]
627
+ if detector_pad is True:
628
+ detector_pad = __estimate_detectorHoriz_padding(non_slice_dims_shape[1])
629
+ elif detector_pad is False:
630
+ detector_pad = 0
631
+
632
+ anglesnum = non_slice_dims_shape[0]
633
+ DetectorsLengthH_padded = non_slice_dims_shape[1] + 2 * detector_pad
634
+
635
+ # calculate the output shape
636
+ output_dims = _calc_output_dim_FISTA3d_tomobar(non_slice_dims_shape, **kwargs)
637
+ recon_data_size_original = (
638
+ np.prod(output_dims) * dtype.itemsize
639
+ ) # recon user-defined size
640
+
641
+ in_data_siz_pad = (anglesnum * DetectorsLengthH_padded) * dtype.itemsize
642
+ output_dims_larger_grid = (DetectorsLengthH_padded, DetectorsLengthH_padded)
643
+
644
+ out_data_size = np.prod(output_dims_larger_grid) * dtype.itemsize
645
+ x0 = out_data_size
646
+ x = out_data_size
647
+ z = out_data_size
648
+ u = out_data_size
649
+ grad_data = out_data_size
650
+ grad_admm = out_data_size
651
+ arithmetic = 3 * out_data_size
652
+
653
+ admm_part = (
654
+ recon_data_size_original
655
+ + in_data_siz_pad
656
+ + x0
657
+ + x
658
+ + z
659
+ + u
660
+ + grad_data
661
+ + grad_admm
662
+ + out_data_size
663
+ + arithmetic
664
+ )
665
+ regul_part = 8 * np.prod(output_dims_larger_grid) * dtype.itemsize
666
+
667
+ tot_memory_bytes = int(admm_part + regul_part)
668
+ return (tot_memory_bytes, 0)
669
+
670
+
607
671
  def __estimate_detectorHoriz_padding(detX_size) -> int:
608
672
  det_half = detX_size // 2
609
673
  padded_value_exact = int(np.sqrt(2 * (det_half**2))) - det_half
@@ -23,7 +23,6 @@
23
23
  from typing import Tuple
24
24
  import numpy as np
25
25
 
26
-
27
26
  __all__ = [
28
27
  "_calc_output_dim_recon",
29
28
  ]
@@ -25,13 +25,13 @@
25
25
  Please run the generator as:
26
26
  python -m yaml_pipelines_generator -i /path/to/pipelines.yml -o /path/to/output/
27
27
  """
28
+
28
29
  import argparse
29
30
  import os
30
31
  import ruamel.yaml
31
32
  import httomo_backends
32
33
  import yaml
33
34
 
34
-
35
35
  CS = ruamel.yaml.comments.CommentedSeq # defaults to block style
36
36
 
37
37
 
@@ -265,6 +265,14 @@ def yaml_pipelines_generator(
265
265
  key="energy",
266
266
  comment="Beam energy in keV.",
267
267
  )
268
+ pipeline_full[i]["parameters"].yaml_add_eol_comment(
269
+ key="calculate_padding_value_method",
270
+ comment="Select type of padding from 'next_power_of_2', 'next_fast_length' and 'use_pad_x_y'.",
271
+ )
272
+ pipeline_full[i]["parameters"].yaml_add_eol_comment(
273
+ key="pad_x_y",
274
+ comment="Manual padding is enabled when 'calculate_padding_value_method' is set to 'use_pad_x_y'.",
275
+ )
268
276
  elif "stripe" in module_name:
269
277
  pipeline_full.yaml_set_comment_before_after_key(
270
278
  i,
@@ -24,6 +24,7 @@
24
24
  Please run the generator as:
25
25
  python -m yaml_templates_generator -i /path/to/modules.yml -o /path/to/output/
26
26
  """
27
+
27
28
  import argparse
28
29
  import importlib
29
30
  import inspect
@@ -5,3 +5,5 @@
5
5
  distance: 1.0
6
6
  energy: 53.0
7
7
  ratio_delta_beta: 250
8
+ calculate_padding_value_method: next_power_of_2
9
+ pad_x_y: null
@@ -0,0 +1,17 @@
1
+ - method: ADMM3d_tomobar
2
+ module_path: httomolibgpu.recon.algorithm
3
+ parameters:
4
+ center: ${{centering.side_outputs.centre_of_rotation}}
5
+ detector_pad: false
6
+ recon_size: null
7
+ recon_mask_radius: 0.95
8
+ iterations: 3
9
+ subsets_number: 24
10
+ initialisation: FBP
11
+ ADMM_rho_const: 1.0
12
+ ADMM_relax_par: 1.7
13
+ regularisation_type: PD_TV
14
+ regularisation_parameter: 0.0025
15
+ regularisation_iterations: 40
16
+ regularisation_half_precision: true
17
+ nonnegativity: false
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: httomo-backends
3
- Version: 1.0
3
+ Version: 1.1.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
@@ -88,6 +88,7 @@ httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.stripe/remove_all_
88
88
  httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.stripe/remove_stripe_based_sorting.yaml
89
89
  httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.stripe/remove_stripe_fw.yaml
90
90
  httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.stripe/remove_stripe_ti.yaml
91
+ httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/ADMM3d_tomobar.yaml
91
92
  httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/CGLS3d_tomobar.yaml
92
93
  httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/FBP2d_astra.yaml
93
94
  httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/FBP3d_tomobar.yaml
@@ -24,7 +24,7 @@ dev_template = "{tag}"
24
24
 
25
25
  [project]
26
26
  name = "httomo-backends"
27
- version = "1.0"
27
+ version = "1.1.0"
28
28
  description = "Supplementary files for HTTomo backends."
29
29
  readme = "README.rst"
30
30
  license = {text = "BSD-3-Clause"}