httomo-backends 0.8.0__tar.gz → 0.9.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 (163) hide show
  1. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/PKG-INFO +1 -1
  2. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/methods_database/packages/backends/httomolib/httomolib.yaml +8 -0
  3. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/methods_database/packages/backends/httomolib/httomolib_modules.yaml +1 -0
  4. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/httomolibgpu.yaml +29 -1
  5. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/httomolibgpu_modules.yaml +1 -0
  6. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/prep/normalize.py +2 -2
  7. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/prep/phase.py +9 -0
  8. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/pipelines_full/FBP2d_astra_directive.yaml +4 -2
  9. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/pipelines_full/FBP3d_tomobar_denoising_directive.yaml +5 -3
  10. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/pipelines_full/FBP3d_tomobar_directive.yaml +5 -3
  11. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/pipelines_full/FBP3d_tomobar_noimagesaving_directive.yaml +5 -3
  12. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/pipelines_full/FISTA3d_tomobar_directive.yaml +4 -2
  13. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/pipelines_full/LPRec3d_tomobar_directive.yaml +5 -3
  14. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/pipelines_full/deg360_distortion_FBP3d_tomobar_directive.yaml +5 -3
  15. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/pipelines_full/deg360_paganin_FBP3d_tomobar_directive.yaml +3 -3
  16. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/pipelines_full/sweep_center_FBP3d_tomobar_directive.yaml +3 -1
  17. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/pipelines_full/sweep_paganin_FBP3d_tomobar_directive.yaml +2 -2
  18. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/pipelines_full/titaren_center_pc_FBP3d_resample_directive.yaml +4 -2
  19. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/scripts/yaml_pipelines_generator.py +9 -5
  20. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/scripts/yaml_templates_generator.py +4 -0
  21. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/httomo/httomo.data.hdf.loaders/standard_tomo.yaml +1 -0
  22. httomo_backends-0.9.0/httomo_backends/yaml_templates/httomolib/httomolib.misc.utils/data_checker.yaml +7 -0
  23. httomo_backends-0.9.0/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.utils/data_checker.yaml +7 -0
  24. httomo_backends-0.8.0/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.normalize/normalize.yaml → httomo_backends-0.9.0/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.normalize/dark_flat_field_correction.yaml +1 -4
  25. httomo_backends-0.9.0/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.normalize/minus_log.yaml +3 -0
  26. httomo_backends-0.9.0/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.phase/paganin_filter_savu_legacy.yaml +7 -0
  27. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/CGLS3d_tomobar.yaml +0 -1
  28. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/FBP2d_astra.yaml +0 -1
  29. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/FBP3d_tomobar.yaml +0 -1
  30. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/FISTA3d_tomobar.yaml +0 -1
  31. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/LPRec3d_tomobar.yaml +0 -5
  32. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/SIRT3d_tomobar.yaml +0 -1
  33. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends.egg-info/PKG-INFO +1 -1
  34. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends.egg-info/SOURCES.txt +5 -1
  35. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/pyproject.toml +1 -1
  36. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/tests/test_httomolibgpu.py +42 -5
  37. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/tests/test_method_query.py +18 -6
  38. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/LICENSE +0 -0
  39. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/README.rst +0 -0
  40. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/__init__.py +0 -0
  41. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/cufft.py +0 -0
  42. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/methods_database/__init__.py +0 -0
  43. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/methods_database/packages/__init__.py +0 -0
  44. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/__init__.py +0 -0
  45. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/__init__.py +0 -0
  46. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/misc/__init__.py +0 -0
  47. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/misc/corr.py +0 -0
  48. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/misc/denoise.py +0 -0
  49. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/misc/morph.py +0 -0
  50. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/misc/rescale.py +0 -0
  51. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/prep/__init__.py +0 -0
  52. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/prep/stripe.py +0 -0
  53. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/recon/__init__.py +0 -0
  54. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/recon/algorithm.py +0 -0
  55. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/recon/peak_memory_line_profile_hook.py +0 -0
  56. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/methods_database/packages/backends/tomopy/__init__.py +0 -0
  57. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/methods_database/packages/backends/tomopy/supporting_funcs/__init__.py +0 -0
  58. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/methods_database/packages/backends/tomopy/supporting_funcs/misc/__init__.py +0 -0
  59. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/methods_database/packages/backends/tomopy/supporting_funcs/misc/corr.py +0 -0
  60. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/methods_database/packages/backends/tomopy/supporting_funcs/prep/__init__.py +0 -0
  61. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/methods_database/packages/backends/tomopy/supporting_funcs/prep/stripe.py +0 -0
  62. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/methods_database/packages/backends/tomopy/supporting_funcs/recon/__init__.py +0 -0
  63. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/methods_database/packages/backends/tomopy/supporting_funcs/recon/algorithm.py +0 -0
  64. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/methods_database/packages/backends/tomopy/tomopy.yaml +0 -0
  65. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/methods_database/packages/backends/tomopy/tomopy_modules.yaml +0 -0
  66. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/methods_database/packages/httomo.yaml +0 -0
  67. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/methods_database/query.py +0 -0
  68. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/pipelines_full/__init__.py +0 -0
  69. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/pipelines_full/tomopy_gridrec_directive.yaml +0 -0
  70. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/scripts/__init__.py +0 -0
  71. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/scripts/json_pipelines_generator.py +0 -0
  72. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/scripts/yaml_unsupported_tomopy_remove.py +0 -0
  73. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/httomo/__init__.py +0 -0
  74. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/httomo/httomo.methods/calculate_stats.yaml +0 -0
  75. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/httomo/httomo.methods/save_intermediate_data.yaml +0 -0
  76. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/httomolib/__init__.py +0 -0
  77. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/httomolib/httomolib.misc.images/save_to_images.yaml +0 -0
  78. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/httomolib/httomolib.misc.morph/data_reducer.yaml +0 -0
  79. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/httomolib/httomolib.misc.rescale/rescale_to_int.yaml +0 -0
  80. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/httomolib/httomolib.misc.segm/binary_thresholding.yaml +0 -0
  81. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/httomolib/httomolib.prep.phase/paganin_filter.yaml +0 -0
  82. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/httomolibgpu/__init__.py +0 -0
  83. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.corr/median_filter.yaml +0 -0
  84. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.corr/remove_outlier.yaml +0 -0
  85. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.denoise/total_variation_PD.yaml +0 -0
  86. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.denoise/total_variation_ROF.yaml +0 -0
  87. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.morph/data_resampler.yaml +0 -0
  88. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.morph/sino_360_to_180.yaml +0 -0
  89. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.rescale/rescale_to_int.yaml +0 -0
  90. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.alignment/distortion_correction_proj_discorpy.yaml +0 -0
  91. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.phase/paganin_filter.yaml +0 -0
  92. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.stripe/raven_filter.yaml +0 -0
  93. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.stripe/remove_all_stripe.yaml +0 -0
  94. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.stripe/remove_stripe_based_sorting.yaml +0 -0
  95. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.stripe/remove_stripe_ti.yaml +0 -0
  96. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.rotation/find_center_360.yaml +0 -0
  97. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.rotation/find_center_pc.yaml +0 -0
  98. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.rotation/find_center_vo.yaml +0 -0
  99. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/__init__.py +0 -0
  100. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/adjust_range.yaml +0 -0
  101. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/circ_mask.yaml +0 -0
  102. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/gaussian_filter.yaml +0 -0
  103. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/median_filter.yaml +0 -0
  104. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/median_filter3d.yaml +0 -0
  105. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/median_filter_nonfinite.yaml +0 -0
  106. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/remove_nan.yaml +0 -0
  107. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/remove_neg.yaml +0 -0
  108. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/remove_outlier.yaml +0 -0
  109. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/remove_outlier1d.yaml +0 -0
  110. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/remove_outlier3d.yaml +0 -0
  111. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/remove_ring.yaml +0 -0
  112. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/sobel_filter.yaml +0 -0
  113. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.morph/downsample.yaml +0 -0
  114. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.morph/pad.yaml +0 -0
  115. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.morph/sino_360_to_180.yaml +0 -0
  116. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.morph/trim_sinogram.yaml +0 -0
  117. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.morph/upsample.yaml +0 -0
  118. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/add_jitter.yaml +0 -0
  119. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/add_noise.yaml +0 -0
  120. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/align_joint.yaml +0 -0
  121. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/align_seq.yaml +0 -0
  122. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/blur_edges.yaml +0 -0
  123. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/distortion_correction_proj.yaml +0 -0
  124. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/distortion_correction_sino.yaml +0 -0
  125. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/scale.yaml +0 -0
  126. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/shift_images.yaml +0 -0
  127. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.normalize/minus_log.yaml +0 -0
  128. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.normalize/normalize.yaml +0 -0
  129. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.normalize/normalize_bg.yaml +0 -0
  130. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.normalize/normalize_nf.yaml +0 -0
  131. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.normalize/normalize_roi.yaml +0 -0
  132. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.phase/retrieve_phase.yaml +0 -0
  133. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_all_stripe.yaml +0 -0
  134. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_dead_stripe.yaml +0 -0
  135. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_large_stripe.yaml +0 -0
  136. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_stripe_based_filtering.yaml +0 -0
  137. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_stripe_based_fitting.yaml +0 -0
  138. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_stripe_based_interpolation.yaml +0 -0
  139. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_stripe_based_sorting.yaml +0 -0
  140. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_stripe_fw.yaml +0 -0
  141. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_stripe_sf.yaml +0 -0
  142. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_stripe_ti.yaml +0 -0
  143. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/stripes_detect3d.yaml +0 -0
  144. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/stripes_mask3d.yaml +0 -0
  145. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.recon.algorithm/recon.yaml +0 -0
  146. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.recon.rotation/find_center.yaml +0 -0
  147. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.recon.rotation/find_center_pc.yaml +0 -0
  148. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.recon.rotation/find_center_vo.yaml +0 -0
  149. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_drift.yaml +0 -0
  150. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_focal_spot_blur.yaml +0 -0
  151. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_gaussian.yaml +0 -0
  152. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_poisson.yaml +0 -0
  153. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_rings.yaml +0 -0
  154. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_salt_pepper.yaml +0 -0
  155. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_zingers.yaml +0 -0
  156. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/project.yaml +0 -0
  157. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/project2.yaml +0 -0
  158. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/project3.yaml +0 -0
  159. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends.egg-info/dependency_links.txt +0 -0
  160. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends.egg-info/requires.txt +0 -0
  161. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/httomo_backends.egg-info/top_level.txt +0 -0
  162. {httomo_backends-0.8.0 → httomo_backends-0.9.0}/setup.cfg +0 -0
  163. {httomo_backends-0.8.0 → httomo_backends-0.9.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.8.0
3
+ Version: 0.9.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
@@ -1,4 +1,12 @@
1
1
  misc:
2
+ utils:
3
+ data_checker:
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
  rescale:
3
11
  rescale_to_int:
4
12
  pattern: all
@@ -1,3 +1,4 @@
1
+ - httomolib.misc.utils
1
2
  - httomolib.misc.rescale
2
3
  - httomolib.misc.morph
3
4
  - httomolib.misc.images
@@ -1,4 +1,14 @@
1
1
  misc:
2
+ utils:
3
+ data_checker:
4
+ pattern: all
5
+ output_dims_change: False
6
+ implementation: gpu_cupy
7
+ save_result_default: False
8
+ padding: False
9
+ memory_gpu:
10
+ multiplier: 1.0
11
+ method: direct
2
12
  corr:
3
13
  median_filter:
4
14
  pattern: all
@@ -68,7 +78,7 @@ misc:
68
78
  method: module
69
79
  prep:
70
80
  normalize:
71
- normalize:
81
+ dark_flat_field_correction:
72
82
  pattern: projection
73
83
  output_dims_change: False
74
84
  implementation: gpu_cupy
@@ -77,6 +87,15 @@ prep:
77
87
  memory_gpu:
78
88
  multiplier: None
79
89
  method: module
90
+ minus_log:
91
+ pattern: all
92
+ output_dims_change: False
93
+ implementation: gpu_cupy
94
+ save_result_default: False
95
+ padding: False
96
+ memory_gpu:
97
+ multiplier: 3.0
98
+ method: direct
80
99
  phase:
81
100
  paganin_filter:
82
101
  pattern: projection
@@ -87,6 +106,15 @@ prep:
87
106
  memory_gpu:
88
107
  multiplier: None
89
108
  method: module
109
+ paganin_filter_savu_legacy:
110
+ pattern: projection
111
+ output_dims_change: False
112
+ implementation: gpu_cupy
113
+ save_result_default: False
114
+ padding: False
115
+ memory_gpu:
116
+ multiplier: None
117
+ method: module
90
118
  alignment:
91
119
  distortion_correction_proj_discorpy:
92
120
  pattern: projection
@@ -1,3 +1,4 @@
1
+ - httomolibgpu.misc.utils
1
2
  - httomolibgpu.misc.corr
2
3
  - httomolibgpu.misc.denoise
3
4
  - httomolibgpu.misc.morph
@@ -3,11 +3,11 @@ import numpy as np
3
3
 
4
4
 
5
5
  __all__ = [
6
- "_calc_memory_bytes_normalize",
6
+ "_calc_memory_bytes_dark_flat_field_correction",
7
7
  ]
8
8
 
9
9
 
10
- def _calc_memory_bytes_normalize(
10
+ def _calc_memory_bytes_dark_flat_field_correction(
11
11
  non_slice_dims_shape: Tuple[int, int],
12
12
  dtype: np.dtype,
13
13
  **kwargs,
@@ -27,9 +27,18 @@ from httomo_backends.cufft import CufftType, cufft_estimate_2d
27
27
 
28
28
  __all__ = [
29
29
  "_calc_memory_bytes_paganin_filter",
30
+ "_calc_memory_bytes_paganin_filter_savu_legacy",
30
31
  ]
31
32
 
32
33
 
34
+ def _calc_memory_bytes_paganin_filter_savu_legacy(
35
+ non_slice_dims_shape: Tuple[int, int],
36
+ dtype: np.dtype,
37
+ **kwargs,
38
+ ) -> Tuple[int, int]:
39
+ return _calc_memory_bytes_paganin_filter(non_slice_dims_shape, dtype, **kwargs)
40
+
41
+
33
42
  def _calc_memory_bytes_paganin_filter(
34
43
  non_slice_dims_shape: Tuple[int, int],
35
44
  dtype: np.dtype,
@@ -1,9 +1,11 @@
1
1
  - method: standard_tomo
2
2
  module_path: httomo.data.hdf.loaders
3
+ - method: dark_flat_field_correction
4
+ module_path: httomolibgpu.prep.normalize
3
5
  - method: find_center_vo
4
6
  module_path: httomolibgpu.recon.rotation
5
- - method: normalize
6
- module_path: httomolibgpu.prep.normalize
7
+ - method: minus_log
8
+ module_path: httomolibgpu.prep.normalize
7
9
  - method: FBP2d_astra
8
10
  module_path: httomolibgpu.recon.algorithm
9
11
 
@@ -1,13 +1,15 @@
1
1
  - method: standard_tomo
2
2
  module_path: httomo.data.hdf.loaders
3
- - method: find_center_vo
4
- module_path: httomolibgpu.recon.rotation
5
3
  - method: remove_outlier
6
4
  module_path: httomolibgpu.misc.corr
7
- - method: normalize
5
+ - method: dark_flat_field_correction
8
6
  module_path: httomolibgpu.prep.normalize
7
+ - method: find_center_vo
8
+ module_path: httomolibgpu.recon.rotation
9
9
  - method: remove_all_stripe
10
10
  module_path: httomolibgpu.prep.stripe
11
+ - method: minus_log
12
+ module_path: httomolibgpu.prep.normalize
11
13
  - method: FBP3d_tomobar
12
14
  module_path: httomolibgpu.recon.algorithm
13
15
  - method: total_variation_PD
@@ -1,13 +1,15 @@
1
1
  - method: standard_tomo
2
2
  module_path: httomo.data.hdf.loaders
3
- - method: find_center_vo
4
- module_path: httomolibgpu.recon.rotation
5
3
  - method: remove_outlier
6
4
  module_path: httomolibgpu.misc.corr
7
- - method: normalize
5
+ - method: dark_flat_field_correction
8
6
  module_path: httomolibgpu.prep.normalize
7
+ - method: find_center_vo
8
+ module_path: httomolibgpu.recon.rotation
9
9
  - method: remove_all_stripe
10
10
  module_path: httomolibgpu.prep.stripe
11
+ - method: minus_log
12
+ module_path: httomolibgpu.prep.normalize
11
13
  - method: FBP3d_tomobar
12
14
  module_path: httomolibgpu.recon.algorithm
13
15
  - method: calculate_stats
@@ -1,12 +1,14 @@
1
1
  - method: standard_tomo
2
2
  module_path: httomo.data.hdf.loaders
3
- - method: find_center_vo
4
- module_path: httomolibgpu.recon.rotation
5
3
  - method: remove_outlier
6
4
  module_path: httomolibgpu.misc.corr
7
- - method: normalize
5
+ - method: dark_flat_field_correction
8
6
  module_path: httomolibgpu.prep.normalize
7
+ - method: find_center_vo
8
+ module_path: httomolibgpu.recon.rotation
9
9
  - method: remove_stripe_based_sorting
10
10
  module_path: httomolibgpu.prep.stripe
11
+ - method: minus_log
12
+ module_path: httomolibgpu.prep.normalize
11
13
  - method: FBP3d_tomobar
12
14
  module_path: httomolibgpu.recon.algorithm
@@ -1,9 +1,11 @@
1
1
  - method: standard_tomo
2
2
  module_path: httomo.data.hdf.loaders
3
+ - method: dark_flat_field_correction
4
+ module_path: httomolibgpu.prep.normalize
3
5
  - method: find_center_vo
4
6
  module_path: httomolibgpu.recon.rotation
5
- - method: normalize
6
- module_path: httomolibgpu.prep.normalize
7
+ - method: minus_log
8
+ module_path: httomolibgpu.prep.normalize
7
9
  - method: FISTA3d_tomobar
8
10
  module_path: httomolibgpu.recon.algorithm
9
11
  - method: calculate_stats
@@ -1,13 +1,15 @@
1
1
  - method: standard_tomo
2
2
  module_path: httomo.data.hdf.loaders
3
- - method: find_center_vo
4
- module_path: httomolibgpu.recon.rotation
5
3
  - method: remove_outlier
6
4
  module_path: httomolibgpu.misc.corr
7
- - method: normalize
5
+ - method: dark_flat_field_correction
8
6
  module_path: httomolibgpu.prep.normalize
7
+ - method: find_center_vo
8
+ module_path: httomolibgpu.recon.rotation
9
9
  - method: remove_all_stripe
10
10
  module_path: httomolibgpu.prep.stripe
11
+ - method: minus_log
12
+ module_path: httomolibgpu.prep.normalize
11
13
  - method: LPRec3d_tomobar
12
14
  module_path: httomolibgpu.recon.algorithm
13
15
  - method: calculate_stats
@@ -1,15 +1,17 @@
1
1
  - method: standard_tomo
2
2
  module_path: httomo.data.hdf.loaders
3
- - method: find_center_360
4
- module_path: httomolibgpu.recon.rotation
5
- - method: normalize
3
+ - method: dark_flat_field_correction
6
4
  module_path: httomolibgpu.prep.normalize
7
5
  - method: distortion_correction_proj_discorpy
8
6
  module_path: httomolibgpu.prep.alignment
7
+ - method: find_center_360
8
+ module_path: httomolibgpu.recon.rotation
9
9
  - method: sino_360_to_180
10
10
  module_path: httomolibgpu.misc.morph
11
11
  - method: remove_stripe_based_sorting
12
12
  module_path: httomolibgpu.prep.stripe
13
+ - method: minus_log
14
+ module_path: httomolibgpu.prep.normalize
13
15
  - method: FBP3d_tomobar
14
16
  module_path: httomolibgpu.recon.algorithm
15
17
  - method: calculate_stats
@@ -1,9 +1,9 @@
1
1
  - method: standard_tomo
2
2
  module_path: httomo.data.hdf.loaders
3
+ - method: dark_flat_field_correction
4
+ module_path: httomolibgpu.prep.normalize
3
5
  - method: find_center_360
4
- module_path: httomolibgpu.recon.rotation
5
- - method: normalize
6
- module_path: httomolibgpu.prep.normalize
6
+ module_path: httomolibgpu.recon.rotation
7
7
  - method: sino_360_to_180
8
8
  module_path: httomolibgpu.misc.morph
9
9
  - method: remove_stripe_based_sorting
@@ -1,7 +1,9 @@
1
1
  - method: standard_tomo
2
2
  module_path: httomo.data.hdf.loaders
3
- - method: normalize
3
+ - method: dark_flat_field_correction
4
4
  module_path: httomolibgpu.prep.normalize
5
+ - method: minus_log
6
+ module_path: httomolibgpu.prep.normalize
5
7
  - method: FBP3d_tomobar
6
8
  module_path: httomolibgpu.recon.algorithm
7
9
  sweep_parameter: center
@@ -1,9 +1,9 @@
1
1
  - method: standard_tomo
2
2
  module_path: httomo.data.hdf.loaders
3
+ - method: dark_flat_field_correction
4
+ module_path: httomolibgpu.prep.normalize
3
5
  - method: find_center_vo
4
6
  module_path: httomolibgpu.recon.rotation
5
- - method: normalize
6
- module_path: httomolibgpu.prep.normalize
7
7
  - method: paganin_filter
8
8
  module_path: httomolibgpu.prep.phase
9
9
  sweep_parameter: ratio_delta_beta
@@ -1,11 +1,13 @@
1
1
  - method: standard_tomo
2
2
  module_path: httomo.data.hdf.loaders
3
+ - method: dark_flat_field_correction
4
+ module_path: httomolibgpu.prep.normalize
3
5
  - method: find_center_pc
4
6
  module_path: httomolibgpu.recon.rotation
5
- - method: normalize
6
- module_path: httomolibgpu.prep.normalize
7
7
  - method: remove_stripe_ti
8
8
  module_path: httomolibgpu.prep.stripe
9
+ - method: minus_log
10
+ module_path: httomolibgpu.prep.normalize
9
11
  - method: FBP3d_tomobar
10
12
  module_path: httomolibgpu.recon.algorithm
11
13
  - method: data_resampler
@@ -94,6 +94,7 @@ def yaml_pipelines_generator(
94
94
  with open(path_to_pipelines, "r") as file:
95
95
  try:
96
96
  pipeline_file_content = yaml.load(file)
97
+ # print(f"Loading pipeline: {file.name}") # useful for debugging
97
98
  except OSError as e:
98
99
  print("loading yaml file with methods failed", e)
99
100
 
@@ -227,17 +228,20 @@ def yaml_pipelines_generator(
227
228
  indent=0,
228
229
  )
229
230
  pipeline_full += yaml_template_method
230
- elif "normalize" in module_name:
231
+ elif "dark_flat_field_correction" in method_name:
231
232
  pipeline_full.yaml_set_comment_before_after_key(
232
233
  i,
233
- "--- Normalisation of projection data using collected flats/darks images. --- ",
234
+ "--- Flat-field and dark-field projection correction. --- ",
234
235
  indent=0,
235
236
  )
236
237
  pipeline_full += yaml_template_method
237
- pipeline_full[i]["parameters"].yaml_add_eol_comment(
238
- key="minus_log",
239
- comment="If Paganin method is used bellow, set it to 'false'.",
238
+ elif "minus_log" in method_name:
239
+ pipeline_full.yaml_set_comment_before_after_key(
240
+ i,
241
+ "--- Negative log is required for reconstruction to convert raw intensity measurements into the line integrals of attenuation. --- ",
242
+ indent=0,
240
243
  )
244
+ pipeline_full += yaml_template_method
241
245
  elif "phase" in module_name:
242
246
  pipeline_full.yaml_set_comment_before_after_key(
243
247
  i,
@@ -221,6 +221,10 @@ def _get_discard_keys() -> List[str]:
221
221
  "step_xy",
222
222
  "jpeg_quality",
223
223
  "watermark_vals",
224
+ "power_of_2_oversampling",
225
+ "power_of_2_cropping",
226
+ "min_mem_usage_filter",
227
+ "min_mem_usage_ifft2",
224
228
  ]
225
229
  return discard_keys
226
230
 
@@ -15,3 +15,4 @@
15
15
  stop: null
16
16
  darks: null
17
17
  flats: null
18
+ continuous_scan_subset: null
@@ -0,0 +1,7 @@
1
+ - method: data_checker
2
+ module_path: httomolib.misc.utils
3
+ parameters:
4
+ infsnans_correct: true
5
+ zeros_warning: false
6
+ data_to_method_name: null
7
+ verbosity: true
@@ -0,0 +1,7 @@
1
+ - method: data_checker
2
+ module_path: httomolibgpu.misc.utils
3
+ parameters:
4
+ infsnans_correct: true
5
+ zeros_warning: false
6
+ data_to_method_name: null
7
+ verbosity: true
@@ -1,9 +1,6 @@
1
- - method: normalize
1
+ - method: dark_flat_field_correction
2
2
  module_path: httomolibgpu.prep.normalize
3
3
  parameters:
4
4
  flats_multiplier: 1.0
5
5
  darks_multiplier: 1.0
6
6
  cutoff: 10.0
7
- minus_log: true
8
- nonnegativity: false
9
- remove_nans: false
@@ -0,0 +1,3 @@
1
+ - method: minus_log
2
+ module_path: httomolibgpu.prep.normalize
3
+ parameters: {}
@@ -0,0 +1,7 @@
1
+ - method: paganin_filter_savu_legacy
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
@@ -7,4 +7,3 @@
7
7
  recon_mask_radius: 0.95
8
8
  iterations: 20
9
9
  nonnegativity: true
10
- neglog: false
@@ -8,4 +8,3 @@
8
8
  filter_d: null
9
9
  recon_size: null
10
10
  recon_mask_radius: 0.95
11
- neglog: false
@@ -6,4 +6,3 @@
6
6
  filter_freq_cutoff: 0.35
7
7
  recon_size: null
8
8
  recon_mask_radius: 0.95
9
- neglog: false
@@ -12,4 +12,3 @@
12
12
  regularisation_iterations: 50
13
13
  regularisation_half_precision: true
14
14
  nonnegativity: true
15
- neglog: false
@@ -7,8 +7,3 @@
7
7
  filter_freq_cutoff: 1.0
8
8
  recon_size: null
9
9
  recon_mask_radius: 0.95
10
- power_of_2_oversampling: true
11
- power_of_2_cropping: false
12
- min_mem_usage_filter: true
13
- min_mem_usage_ifft2: true
14
- neglog: false
@@ -7,4 +7,3 @@
7
7
  recon_mask_radius: 0.95
8
8
  iterations: 300
9
9
  nonnegativity: true
10
- neglog: false
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: httomo-backends
3
- Version: 0.8.0
3
+ Version: 0.9.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
@@ -67,6 +67,7 @@ httomo_backends/yaml_templates/httomolib/httomolib.misc.images/save_to_images.ya
67
67
  httomo_backends/yaml_templates/httomolib/httomolib.misc.morph/data_reducer.yaml
68
68
  httomo_backends/yaml_templates/httomolib/httomolib.misc.rescale/rescale_to_int.yaml
69
69
  httomo_backends/yaml_templates/httomolib/httomolib.misc.segm/binary_thresholding.yaml
70
+ httomo_backends/yaml_templates/httomolib/httomolib.misc.utils/data_checker.yaml
70
71
  httomo_backends/yaml_templates/httomolib/httomolib.prep.phase/paganin_filter.yaml
71
72
  httomo_backends/yaml_templates/httomolibgpu/__init__.py
72
73
  httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.corr/median_filter.yaml
@@ -76,9 +77,12 @@ httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.denoise/total_vari
76
77
  httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.morph/data_resampler.yaml
77
78
  httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.morph/sino_360_to_180.yaml
78
79
  httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.rescale/rescale_to_int.yaml
80
+ httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.utils/data_checker.yaml
79
81
  httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.alignment/distortion_correction_proj_discorpy.yaml
80
- httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.normalize/normalize.yaml
82
+ httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.normalize/dark_flat_field_correction.yaml
83
+ httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.normalize/minus_log.yaml
81
84
  httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.phase/paganin_filter.yaml
85
+ httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.phase/paganin_filter_savu_legacy.yaml
82
86
  httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.stripe/raven_filter.yaml
83
87
  httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.stripe/remove_all_stripe.yaml
84
88
  httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.stripe/remove_stripe_based_sorting.yaml
@@ -24,7 +24,7 @@ dev_template = "{tag}"
24
24
 
25
25
  [project]
26
26
  name = "httomo-backends"
27
- version = "0.8.0"
27
+ version = "0.9.0"
28
28
  description = "Supplementary files for HTTomo backends."
29
29
  readme = "README.rst"
30
30
  license = {text = "BSD-3-Clause"}
@@ -14,7 +14,7 @@ from httomo_backends.methods_database.query import MethodsDatabaseQuery
14
14
 
15
15
 
16
16
  from httomolibgpu.misc.morph import data_resampler, sino_360_to_180
17
- from httomolibgpu.prep.normalize import normalize
17
+ from httomolibgpu.prep.normalize import dark_flat_field_correction, minus_log
18
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 (
@@ -78,7 +78,9 @@ class MaxMemoryHook(cp.cuda.MemoryHook):
78
78
  @pytest.mark.parametrize("dtype", ["uint16", "float32"])
79
79
  @pytest.mark.parametrize("slices", [50, 121])
80
80
  @pytest.mark.cupy
81
- def test_normalize_memoryhook(flats, darks, ensure_clean_memory, dtype, slices):
81
+ def test_dark_flat_field_correction_memoryhook(
82
+ flats, darks, ensure_clean_memory, dtype, slices
83
+ ):
82
84
  hook = MaxMemoryHook()
83
85
  data = cp.random.random_sample(
84
86
  (slices, flats.shape[1], flats.shape[2]), dtype=np.float32
@@ -88,7 +90,7 @@ def test_normalize_memoryhook(flats, darks, ensure_clean_memory, dtype, slices):
88
90
  flats = flats.astype(np.uint16)
89
91
  data = data.astype(np.uint16)
90
92
  with hook:
91
- normalize(cp.copy(data), flats, darks, minus_log=True).get()
93
+ dark_flat_field_correction(cp.copy(data), flats, darks).get()
92
94
 
93
95
  # make sure estimator function is within range (80% min, 100% max)
94
96
  max_mem = (
@@ -96,8 +98,8 @@ def test_normalize_memoryhook(flats, darks, ensure_clean_memory, dtype, slices):
96
98
  ) # the amount of memory in bytes needed for the method according to memoryhook
97
99
 
98
100
  # now we estimate how much of the total memory required for this data
99
- (estimated_memory_bytes, subtract_bytes) = _calc_memory_bytes_normalize(
100
- data.shape[1:], dtype=data.dtype
101
+ (estimated_memory_bytes, subtract_bytes) = (
102
+ _calc_memory_bytes_dark_flat_field_correction(data.shape[1:], dtype=data.dtype)
101
103
  )
102
104
 
103
105
  estimated_memory_mb = round(slices * estimated_memory_bytes / (1024**2), 2)
@@ -113,6 +115,41 @@ def test_normalize_memoryhook(flats, darks, ensure_clean_memory, dtype, slices):
113
115
  assert percents_relative_maxmem <= 20
114
116
 
115
117
 
118
+ @pytest.mark.parametrize("slices", [3, 10, 20])
119
+ @pytest.mark.cupy
120
+ def test_minus_log_memoryhook(ensure_clean_memory, slices):
121
+ hook = MaxMemoryHook()
122
+ data = cp.random.random_sample((slices, 2560, 2560), dtype=np.float32)
123
+
124
+ with hook:
125
+ minus_log(cp.copy(data))
126
+
127
+ # make sure estimator function is within range (80% min, 100% max)
128
+ max_mem = (
129
+ hook.max_mem
130
+ ) # the amount of memory in bytes needed for the method according to memoryhook
131
+
132
+ # now we estimate how much of the total memory required for this data
133
+ method_query = MethodsDatabaseQuery("httomolibgpu.prep.normalize", "minus_log")
134
+ memory_requirements = method_query.get_memory_gpu_params()
135
+ assert memory_requirements is not None
136
+ assert memory_requirements.multiplier is not None
137
+ estimated_memory_bytes = (
138
+ memory_requirements.multiplier * np.prod(cp.shape(data)) * float32().nbytes
139
+ )
140
+
141
+ estimated_memory_mb = round(estimated_memory_bytes / (1024**2), 2)
142
+
143
+ max_mem_mb = round(max_mem / (1024**2), 2)
144
+ # now compare both memory estimations
145
+ difference_mb = abs(estimated_memory_mb - max_mem_mb)
146
+ percents_relative_maxmem = round((difference_mb / max_mem_mb) * 100)
147
+ # the estimated_memory_mb should be LARGER or EQUAL to max_mem_mb
148
+ # the resulting percent value should not deviate from max_mem on more than 20%
149
+ assert estimated_memory_mb >= max_mem_mb
150
+ assert percents_relative_maxmem <= 20
151
+
152
+
116
153
  @pytest.mark.parametrize("dtype", ["uint16"])
117
154
  @pytest.mark.parametrize("slices", [10, 20])
118
155
  @pytest.mark.cupy
@@ -32,12 +32,16 @@ def test_get_invalid_method():
32
32
 
33
33
 
34
34
  def test_httomolibgpu_pattern():
35
- query = MethodsDatabaseQuery("httomolibgpu.prep.normalize", "normalize")
35
+ query = MethodsDatabaseQuery(
36
+ "httomolibgpu.prep.normalize", "dark_flat_field_correction"
37
+ )
36
38
  assert query.get_pattern() == Pattern.projection
37
39
 
38
40
 
39
41
  def test_httomolibgpu_implementation():
40
- query = MethodsDatabaseQuery("httomolibgpu.prep.normalize", "normalize")
42
+ query = MethodsDatabaseQuery(
43
+ "httomolibgpu.prep.normalize", "dark_flat_field_correction"
44
+ )
41
45
  assert query.get_implementation() == "gpu_cupy"
42
46
 
43
47
 
@@ -47,12 +51,16 @@ def test_httomolibgpu_implementation2():
47
51
 
48
52
 
49
53
  def test_httomolibgpu_output_dims_change():
50
- query = MethodsDatabaseQuery("httomolibgpu.prep.normalize", "normalize")
54
+ query = MethodsDatabaseQuery(
55
+ "httomolibgpu.prep.normalize", "dark_flat_field_correction"
56
+ )
51
57
  assert query.get_output_dims_change() is False
52
58
 
53
59
 
54
60
  def test_httomolibgpu_default_save_result():
55
- query = MethodsDatabaseQuery("httomolibgpu.prep.normalize", "normalize")
61
+ query = MethodsDatabaseQuery(
62
+ "httomolibgpu.prep.normalize", "dark_flat_field_correction"
63
+ )
56
64
 
57
65
  assert query.save_result_default() is False
58
66
 
@@ -64,7 +72,9 @@ def test_httomolibgpu_default_save_result_recon():
64
72
 
65
73
 
66
74
  def test_httomolibgpu_padding_false():
67
- query = MethodsDatabaseQuery("httomolibgpu.prep.normalize", "normalize")
75
+ query = MethodsDatabaseQuery(
76
+ "httomolibgpu.prep.normalize", "dark_flat_field_correction"
77
+ )
68
78
  assert query.padding() is False
69
79
 
70
80
 
@@ -90,7 +100,9 @@ def test_all_methods_have_padding_parameter():
90
100
 
91
101
 
92
102
  def test_get_gpu_memory_params():
93
- query = MethodsDatabaseQuery("httomolibgpu.prep.normalize", "normalize")
103
+ query = MethodsDatabaseQuery(
104
+ "httomolibgpu.prep.normalize", "dark_flat_field_correction"
105
+ )
94
106
  mempars = query.get_memory_gpu_params()
95
107
  assert mempars is not None
96
108
  assert mempars.method == "module"
File without changes