httomo-backends 0.6__tar.gz → 0.6.2__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 (157) hide show
  1. {httomo_backends-0.6 → httomo_backends-0.6.2}/PKG-INFO +1 -1
  2. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/methods_database/packages/backends/httomolibgpu/httomolibgpu.yaml +3 -12
  3. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/prep/phase.py +0 -60
  4. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/recon/algorithm.py +1 -0
  5. httomo_backends-0.6.2/httomo_backends/pipelines_full/sweep_paganin_FBP3d_tomobar_directive.yaml +12 -0
  6. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/scripts/yaml_pipelines_generator.py +59 -12
  7. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends.egg-info/PKG-INFO +1 -1
  8. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends.egg-info/SOURCES.txt +1 -0
  9. {httomo_backends-0.6 → httomo_backends-0.6.2}/pyproject.toml +1 -1
  10. {httomo_backends-0.6 → httomo_backends-0.6.2}/tests/test_httomolibgpu.py +5 -54
  11. {httomo_backends-0.6 → httomo_backends-0.6.2}/LICENSE +0 -0
  12. {httomo_backends-0.6 → httomo_backends-0.6.2}/README.rst +0 -0
  13. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/__init__.py +0 -0
  14. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/cufft.py +0 -0
  15. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/methods_database/__init__.py +0 -0
  16. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/methods_database/packages/__init__.py +0 -0
  17. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/methods_database/packages/backends/httomolib/httomolib.yaml +0 -0
  18. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/methods_database/packages/backends/httomolib/httomolib_modules.yaml +0 -0
  19. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/methods_database/packages/backends/httomolibgpu/__init__.py +0 -0
  20. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/methods_database/packages/backends/httomolibgpu/httomolibgpu_modules.yaml +0 -0
  21. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/__init__.py +0 -0
  22. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/misc/__init__.py +0 -0
  23. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/misc/corr.py +0 -0
  24. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/misc/denoise.py +0 -0
  25. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/misc/morph.py +0 -0
  26. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/misc/rescale.py +0 -0
  27. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/prep/__init__.py +0 -0
  28. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/prep/normalize.py +0 -0
  29. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/prep/stripe.py +0 -0
  30. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/recon/__init__.py +0 -0
  31. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/recon/peak_memory_line_profile_hook.py +0 -0
  32. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/methods_database/packages/backends/tomopy/__init__.py +0 -0
  33. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/methods_database/packages/backends/tomopy/supporting_funcs/__init__.py +0 -0
  34. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/methods_database/packages/backends/tomopy/supporting_funcs/misc/__init__.py +0 -0
  35. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/methods_database/packages/backends/tomopy/supporting_funcs/misc/corr.py +0 -0
  36. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/methods_database/packages/backends/tomopy/supporting_funcs/prep/__init__.py +0 -0
  37. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/methods_database/packages/backends/tomopy/supporting_funcs/prep/stripe.py +0 -0
  38. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/methods_database/packages/backends/tomopy/supporting_funcs/recon/__init__.py +0 -0
  39. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/methods_database/packages/backends/tomopy/supporting_funcs/recon/algorithm.py +0 -0
  40. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/methods_database/packages/backends/tomopy/tomopy.yaml +0 -0
  41. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/methods_database/packages/backends/tomopy/tomopy_modules.yaml +0 -0
  42. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/methods_database/packages/httomo.yaml +0 -0
  43. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/methods_database/query.py +0 -0
  44. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/pipelines_full/FBP2d_astra_directive.yaml +0 -0
  45. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/pipelines_full/FBP3d_tomobar_denoising_directive.yaml +0 -0
  46. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/pipelines_full/FBP3d_tomobar_directive.yaml +0 -0
  47. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/pipelines_full/FBP3d_tomobar_noimagesaving_directive.yaml +0 -0
  48. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/pipelines_full/LPRec3d_tomobar_directive.yaml +0 -0
  49. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/pipelines_full/__init__.py +0 -0
  50. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/pipelines_full/deg360_distortion_FBP3d_tomobar_directive.yaml +2 -2
  51. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/pipelines_full/deg360_paganin_FBP3d_tomobar_directive.yaml +2 -2
  52. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/pipelines_full/sweep_center_FBP3d_tomobar_directive.yaml +0 -0
  53. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/pipelines_full/tomopy_gridrec_directive.yaml +0 -0
  54. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/scripts/__init__.py +0 -0
  55. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/scripts/json_pipelines_generator.py +0 -0
  56. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/scripts/yaml_templates_generator.py +0 -0
  57. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/scripts/yaml_unsupported_tomopy_remove.py +0 -0
  58. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/httomo/__init__.py +0 -0
  59. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/httomo/httomo.data.hdf.loaders/standard_tomo.yaml +0 -0
  60. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/httomo/httomo.methods/calculate_stats.yaml +0 -0
  61. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/httomo/httomo.methods/save_intermediate_data.yaml +0 -0
  62. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/httomolib/__init__.py +0 -0
  63. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/httomolib/httomolib.misc.images/save_to_images.yaml +0 -0
  64. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/httomolib/httomolib.misc.morph/data_reducer.yaml +0 -0
  65. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/httomolib/httomolib.misc.rescale/rescale_to_int.yaml +0 -0
  66. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/httomolib/httomolib.misc.segm/binary_thresholding.yaml +0 -0
  67. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/httomolib/httomolib.prep.phase/paganin_filter.yaml +0 -0
  68. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/httomolibgpu/__init__.py +0 -0
  69. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.corr/median_filter.yaml +0 -0
  70. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.corr/remove_outlier.yaml +0 -0
  71. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.denoise/total_variation_PD.yaml +0 -0
  72. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.denoise/total_variation_ROF.yaml +0 -0
  73. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.morph/data_resampler.yaml +0 -0
  74. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.morph/sino_360_to_180.yaml +0 -0
  75. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.rescale/rescale_to_int.yaml +0 -0
  76. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.alignment/distortion_correction_proj_discorpy.yaml +0 -0
  77. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.normalize/normalize.yaml +0 -0
  78. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.phase/paganin_filter_savu.yaml +0 -0
  79. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.phase/paganin_filter_tomopy.yaml +0 -0
  80. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.stripe/raven_filter.yaml +0 -0
  81. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.stripe/remove_all_stripe.yaml +0 -0
  82. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.stripe/remove_stripe_based_sorting.yaml +0 -0
  83. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.stripe/remove_stripe_ti.yaml +0 -0
  84. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/CGLS3d_tomobar.yaml +0 -0
  85. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/FBP2d_astra.yaml +0 -0
  86. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/FBP3d_tomobar.yaml +0 -0
  87. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/LPRec3d_tomobar.yaml +0 -0
  88. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/SIRT3d_tomobar.yaml +0 -0
  89. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.rotation/find_center_360.yaml +0 -0
  90. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.rotation/find_center_pc.yaml +0 -0
  91. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.rotation/find_center_vo.yaml +0 -0
  92. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/__init__.py +0 -0
  93. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/adjust_range.yaml +0 -0
  94. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/circ_mask.yaml +0 -0
  95. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/gaussian_filter.yaml +0 -0
  96. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/median_filter.yaml +0 -0
  97. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/median_filter3d.yaml +0 -0
  98. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/median_filter_nonfinite.yaml +0 -0
  99. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/remove_nan.yaml +0 -0
  100. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/remove_neg.yaml +0 -0
  101. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/remove_outlier.yaml +0 -0
  102. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/remove_outlier1d.yaml +0 -0
  103. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/remove_outlier3d.yaml +0 -0
  104. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/remove_ring.yaml +0 -0
  105. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/sobel_filter.yaml +0 -0
  106. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.misc.morph/downsample.yaml +0 -0
  107. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.misc.morph/pad.yaml +0 -0
  108. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.misc.morph/sino_360_to_180.yaml +0 -0
  109. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.misc.morph/trim_sinogram.yaml +0 -0
  110. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.misc.morph/upsample.yaml +0 -0
  111. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/add_jitter.yaml +0 -0
  112. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/add_noise.yaml +0 -0
  113. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/align_joint.yaml +0 -0
  114. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/align_seq.yaml +0 -0
  115. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/blur_edges.yaml +0 -0
  116. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/distortion_correction_proj.yaml +0 -0
  117. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/distortion_correction_sino.yaml +0 -0
  118. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/scale.yaml +0 -0
  119. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/shift_images.yaml +0 -0
  120. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.prep.normalize/minus_log.yaml +0 -0
  121. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.prep.normalize/normalize.yaml +0 -0
  122. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.prep.normalize/normalize_bg.yaml +0 -0
  123. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.prep.normalize/normalize_nf.yaml +0 -0
  124. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.prep.normalize/normalize_roi.yaml +0 -0
  125. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.prep.phase/retrieve_phase.yaml +0 -0
  126. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_all_stripe.yaml +0 -0
  127. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_dead_stripe.yaml +0 -0
  128. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_large_stripe.yaml +0 -0
  129. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_stripe_based_filtering.yaml +0 -0
  130. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_stripe_based_fitting.yaml +0 -0
  131. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_stripe_based_interpolation.yaml +0 -0
  132. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_stripe_based_sorting.yaml +0 -0
  133. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_stripe_fw.yaml +0 -0
  134. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_stripe_sf.yaml +0 -0
  135. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_stripe_ti.yaml +0 -0
  136. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/stripes_detect3d.yaml +0 -0
  137. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/stripes_mask3d.yaml +0 -0
  138. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.recon.algorithm/recon.yaml +0 -0
  139. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.recon.rotation/find_center.yaml +0 -0
  140. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.recon.rotation/find_center_pc.yaml +0 -0
  141. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.recon.rotation/find_center_vo.yaml +0 -0
  142. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_drift.yaml +0 -0
  143. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_focal_spot_blur.yaml +0 -0
  144. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_gaussian.yaml +0 -0
  145. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_poisson.yaml +0 -0
  146. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_rings.yaml +0 -0
  147. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_salt_pepper.yaml +0 -0
  148. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_zingers.yaml +0 -0
  149. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/project.yaml +0 -0
  150. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/project2.yaml +0 -0
  151. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/project3.yaml +0 -0
  152. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends.egg-info/dependency_links.txt +0 -0
  153. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends.egg-info/requires.txt +0 -0
  154. {httomo_backends-0.6 → httomo_backends-0.6.2}/httomo_backends.egg-info/top_level.txt +0 -0
  155. {httomo_backends-0.6 → httomo_backends-0.6.2}/setup.cfg +0 -0
  156. {httomo_backends-0.6 → httomo_backends-0.6.2}/tests/test_method_query.py +0 -0
  157. {httomo_backends-0.6 → httomo_backends-0.6.2}/tests/test_tomopy.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: httomo-backends
3
- Version: 0.6
3
+ Version: 0.6.2
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
@@ -7,7 +7,7 @@ misc:
7
7
  save_result_default: False
8
8
  padding: True
9
9
  memory_gpu:
10
- multiplier: 2.1
10
+ multiplier: 2.5
11
11
  method: direct
12
12
  remove_outlier:
13
13
  pattern: all
@@ -16,7 +16,7 @@ misc:
16
16
  save_result_default: False
17
17
  padding: True
18
18
  memory_gpu:
19
- multiplier: 2.1
19
+ multiplier: 2.5
20
20
  method: direct
21
21
  denoise:
22
22
  total_variation_ROF:
@@ -87,15 +87,6 @@ prep:
87
87
  memory_gpu:
88
88
  multiplier: None
89
89
  method: module
90
- paganin_filter_savu:
91
- pattern: projection
92
- output_dims_change: False
93
- implementation: gpu_cupy
94
- save_result_default: False
95
- padding: False
96
- memory_gpu:
97
- multiplier: None
98
- method: module
99
90
  alignment:
100
91
  distortion_correction_proj_discorpy:
101
92
  pattern: projection
@@ -207,7 +198,7 @@ recon:
207
198
  save_result_default: False
208
199
  padding: False
209
200
  memory_gpu:
210
- multiplier: 0
201
+ multiplier: 2
211
202
  method: direct
212
203
  find_center_pc:
213
204
  pattern: projection
@@ -27,70 +27,10 @@ import numpy as np
27
27
  from httomo_backends.cufft import CufftType, cufft_estimate_2d
28
28
 
29
29
  __all__ = [
30
- "_calc_memory_bytes_paganin_filter_savu",
31
30
  "_calc_memory_bytes_paganin_filter_tomopy",
32
31
  ]
33
32
 
34
33
 
35
- def _calc_memory_bytes_paganin_filter_savu(
36
- non_slice_dims_shape: Tuple[int, int],
37
- dtype: np.dtype,
38
- **kwargs,
39
- ) -> Tuple[int, int]:
40
- pad_x = kwargs["pad_x"]
41
- pad_y = kwargs["pad_y"]
42
-
43
- # Input (unpadded)
44
- unpadded_in_slice_size = np.prod(non_slice_dims_shape) * dtype.itemsize
45
-
46
- # Padded input
47
- padded_non_slice_dims_shape = (
48
- non_slice_dims_shape[0] + 2 * pad_y,
49
- non_slice_dims_shape[1] + 2 * pad_x,
50
- )
51
- padded_in_slice_size = (
52
- padded_non_slice_dims_shape[0] * padded_non_slice_dims_shape[1] * dtype.itemsize
53
- )
54
-
55
- # Padded input cast to `complex64`
56
- complex_slice = padded_in_slice_size / dtype.itemsize * np.complex64().nbytes
57
-
58
- # Plan size for 2D FFT
59
- fftplan_slice_size = cufft_estimate_2d(
60
- nx=padded_non_slice_dims_shape[1],
61
- ny=padded_non_slice_dims_shape[0],
62
- fft_type=CufftType.CUFFT_C2C,
63
- )
64
-
65
- # Shape of 2D filter is the same as the padded `complex64` slice shape, so the size will be
66
- # the same
67
- filter_size = complex_slice
68
-
69
- # Size of cropped/unpadded + cast to float32 result of 2D IFFT
70
- cropped_float32_res_slice = np.prod(non_slice_dims_shape) * np.float32().nbytes
71
-
72
- # If the FFT plan size is negligible for some reason, this changes where the peak GPU
73
- # memory usage occurs. Hence, the if/else branching below for calculating the total bytes.
74
- NEGLIGIBLE_FFT_PLAN_SIZE = 16
75
- if fftplan_slice_size < NEGLIGIBLE_FFT_PLAN_SIZE:
76
- tot_memory_bytes = int(
77
- unpadded_in_slice_size + padded_in_slice_size + complex_slice
78
- )
79
- else:
80
- tot_memory_bytes = int(
81
- unpadded_in_slice_size
82
- + padded_in_slice_size
83
- + complex_slice
84
- # The padded float32 array is deallocated when a copy is made when casting to complex64
85
- # and the variable `padded_tomo` is reassigned to the complex64 version
86
- - padded_in_slice_size
87
- + fftplan_slice_size
88
- + cropped_float32_res_slice
89
- )
90
-
91
- return (tot_memory_bytes, filter_size)
92
-
93
-
94
34
  def _calc_memory_bytes_paganin_filter_tomopy(
95
35
  non_slice_dims_shape: Tuple[int, int],
96
36
  dtype: np.dtype,
@@ -354,6 +354,7 @@ def _calc_memory_bytes_LPRec3d_tomobar(
354
354
 
355
355
  return (tot_memory_bytes * 1.05, fixed_amount + 250 * 1024 * 1024)
356
356
 
357
+
357
358
  def _calc_memory_bytes_SIRT3d_tomobar(
358
359
  non_slice_dims_shape: Tuple[int, int],
359
360
  dtype: np.dtype,
@@ -0,0 +1,12 @@
1
+ - method: standard_tomo
2
+ module_path: httomo.data.hdf.loaders
3
+ - method: find_center_vo
4
+ module_path: httomolibgpu.recon.rotation
5
+ - method: normalize
6
+ module_path: httomolibgpu.prep.normalize
7
+ - method: paganin_filter_tomopy
8
+ module_path: httomolibgpu.prep.phase
9
+ sweep_parameter: alpha
10
+ sweep_values: [0.01, 0.001, 0.0001]
11
+ - method: FBP3d_tomobar
12
+ module_path: httomolibgpu.recon.algorithm
@@ -31,8 +31,13 @@ import ruamel.yaml
31
31
  import httomo_backends
32
32
  import yaml
33
33
 
34
- CS = ruamel.yaml.comments.CommentedSeq # defaults to block style
34
+ try:
35
+ from httomo import __version__ as httomo_version
36
+ except:
37
+ httomo_version = "2.5" # temporary version fix for sphinx build
38
+ pass
35
39
 
40
+ CS = ruamel.yaml.comments.CommentedSeq # defaults to block style
36
41
 
37
42
  class SweepRange:
38
43
  """SweepRange class."""
@@ -55,6 +60,20 @@ def __sweeprange_representer(
55
60
  )
56
61
 
57
62
 
63
+ class SweepManual:
64
+ """SweepManual class."""
65
+
66
+ def __init__(self, lst):
67
+ self._lst = lst
68
+
69
+
70
+ def __sweepmanual_representer(
71
+ dumper: yaml.SafeDumper, swp: SweepManual
72
+ ) -> yaml.nodes.SequenceNode:
73
+ """Represent a sweepmanual as a YAML sequence node."""
74
+ return dumper.represent_sequence("!Sweep", swp._lst)
75
+
76
+
58
77
  def __represent_none(self, data):
59
78
  return self.represent_scalar("tag:yaml.org,2002:null", "null")
60
79
 
@@ -86,17 +105,22 @@ def yaml_pipelines_generator(
86
105
  # a loop over methods in the high-level pipeline file (directive)
87
106
  methods_no = len(pipeline_file_content)
88
107
  pipeline_full = CS()
89
- sweep_enabled = False
108
+ sweep_enabled_range = False
109
+ sweep_enabled_value = False
90
110
  for i in range(methods_no):
91
111
  method_content = pipeline_file_content[i]
92
112
  method_name = method_content["method"]
93
113
  module_name = method_content["module_path"]
94
114
  if "sweep_parameter" in method_content:
95
115
  sweep_parameter = method_content["sweep_parameter"]
96
- sweep_start = method_content["sweep_start"]
97
- sweep_stop = method_content["sweep_stop"]
98
- sweep_step = method_content["sweep_step"]
99
- sweep_enabled = True
116
+ if "sweep_start" in method_content:
117
+ sweep_start = method_content["sweep_start"]
118
+ sweep_stop = method_content["sweep_stop"]
119
+ sweep_step = method_content["sweep_step"]
120
+ sweep_enabled_range = True
121
+ else:
122
+ sweep_values = method_content["sweep_values"]
123
+ sweep_enabled_value = True
100
124
 
101
125
  # get the corresponding yaml template from httomo-backends
102
126
  backend_name = module_name[0 : module_name.find(".")]
@@ -116,6 +140,13 @@ def yaml_pipelines_generator(
116
140
  except OSError as e:
117
141
  print("loading yaml template failed", e)
118
142
 
143
+ version_split = httomo_version.split(".")
144
+ major = version_split[0]
145
+ minor = version_split[1]
146
+ pipeline_full.yaml_set_start_comment(
147
+ f"This pipeline is supported by HTTomo ver. {major}.{minor}"
148
+ )
149
+
119
150
  if "loaders" in module_name:
120
151
  # should be the first method in the list
121
152
  pipeline_full.yaml_set_comment_before_after_key(
@@ -149,7 +180,7 @@ def yaml_pipelines_generator(
149
180
  )
150
181
  pipeline_full[i]["side_outputs"].yaml_add_eol_comment(
151
182
  key="cor",
152
- comment="A side output of the method, here a CoR scalar value",
183
+ comment="An estimated CoR value provided as a side output",
153
184
  )
154
185
  pipeline_full[i]["side_outputs"].yaml_add_eol_comment(
155
186
  key="overlap",
@@ -158,17 +189,22 @@ def yaml_pipelines_generator(
158
189
  elif "corr" in module_name and "remove_outlier" in method_name:
159
190
  pipeline_full.yaml_set_comment_before_after_key(
160
191
  i,
161
- "--- Removing dead pixels in the data, aka zingers. Use if sharp streaks are present in reconstruction. Please use before normalisation. ---",
192
+ "--- Removing unresponsive pixels in the data, aka zingers. Use if sharp streaks are present in the reconstruction. To be applied before normalisation. ---",
162
193
  indent=0,
163
194
  )
164
195
  pipeline_full += yaml_template_method
165
196
  if pipeline_full[i]["parameters"]["dif"] == "REQUIRED":
166
197
  # fix for the absent parameter in TomoPy's algorithm
167
198
  pipeline_full[i]["parameters"]["dif"] = 0.1
199
+ pipeline_full[i]["parameters"].yaml_add_eol_comment(
200
+ key="kernel_size",
201
+ comment="The size of the 3D neighbourhood surrounding the voxel. Odd integer.",
202
+ )
168
203
  pipeline_full[i]["parameters"].yaml_add_eol_comment(
169
204
  key="dif",
170
- comment="A difference between the outlier value and the median value of neighboring pixels.",
205
+ comment="A difference between the outlier value and the median value of neighbouring pixels.",
171
206
  )
207
+
172
208
  elif "distortion" in method_name:
173
209
  pipeline_full.yaml_set_comment_before_after_key(
174
210
  i,
@@ -225,7 +261,11 @@ def yaml_pipelines_generator(
225
261
  pipeline_full += yaml_template_method
226
262
  pipeline_full[i]["parameters"].yaml_add_eol_comment(
227
263
  key="center",
228
- comment="Reference to center of rotation side output OR an integer.",
264
+ comment="Reference to center of rotation side output above OR a float number.",
265
+ )
266
+ pipeline_full[i]["parameters"].yaml_add_eol_comment(
267
+ key="detector_pad",
268
+ comment="Horizontal detector padding to minimise circle/arc-type artifacts in the reconstruction",
229
269
  )
230
270
  pipeline_full[i]["parameters"].yaml_add_eol_comment(
231
271
  key="recon_mask_radius",
@@ -282,13 +322,20 @@ def yaml_pipelines_generator(
282
322
  )
283
323
  pipeline_full += yaml_template_method
284
324
 
285
- if sweep_enabled:
325
+ if sweep_enabled_range:
286
326
  pipeline_full[i]["parameters"][sweep_parameter] = SweepRange(
287
327
  start=sweep_start, stop=sweep_stop, step=sweep_step
288
328
  )
329
+ yaml.representer.add_representer(SweepRange, __sweeprange_representer)
330
+ sweep_enabled_range = False
331
+ if sweep_enabled_value:
332
+ pipeline_full[i]["parameters"][sweep_parameter] = SweepManual(
333
+ list(sweep_values)
334
+ )
335
+ yaml.representer.add_representer(SweepManual, __sweepmanual_representer)
336
+ sweep_enabled_value = False
289
337
 
290
338
  yaml.representer.add_representer(type(None), __represent_none)
291
- yaml.representer.add_representer(SweepRange, __sweeprange_representer)
292
339
  yaml.dump(pipeline_full, f)
293
340
 
294
341
  return 0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: httomo-backends
3
- Version: 0.6
3
+ Version: 0.6.2
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
@@ -49,6 +49,7 @@ httomo_backends/pipelines_full/__init__.py
49
49
  httomo_backends/pipelines_full/deg360_distortion_FBP3d_tomobar_directive.yaml
50
50
  httomo_backends/pipelines_full/deg360_paganin_FBP3d_tomobar_directive.yaml
51
51
  httomo_backends/pipelines_full/sweep_center_FBP3d_tomobar_directive.yaml
52
+ httomo_backends/pipelines_full/sweep_paganin_FBP3d_tomobar_directive.yaml
52
53
  httomo_backends/pipelines_full/tomopy_gridrec_directive.yaml
53
54
  httomo_backends/scripts/__init__.py
54
55
  httomo_backends/scripts/json_pipelines_generator.py
@@ -24,7 +24,7 @@ dev_template = "{tag}"
24
24
 
25
25
  [project]
26
26
  name = "httomo-backends"
27
- version = "0.6"
27
+ version = "0.6.2"
28
28
  description = "Supplementary files for HTTomo backends."
29
29
  readme = "README.rst"
30
30
  license = {text = "BSD-3-Clause"}
@@ -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, paganin_filter_savu
18
+ from httomolibgpu.prep.phase import paganin_filter_tomopy
19
19
  from httomolibgpu.prep.alignment import distortion_correction_proj_discorpy
20
20
  from httomolibgpu.prep.stripe import (
21
21
  remove_stripe_based_sorting,
@@ -113,13 +113,11 @@ def test_normalize_memoryhook(flats, darks, ensure_clean_memory, dtype, slices):
113
113
 
114
114
 
115
115
  @pytest.mark.parametrize("dtype", ["uint16"])
116
- @pytest.mark.parametrize("slices", [151, 321])
116
+ @pytest.mark.parametrize("slices", [10, 20])
117
117
  @pytest.mark.cupy
118
118
  def test_remove_outlier_memoryhook(flats, ensure_clean_memory, dtype, slices):
119
119
  hook = MaxMemoryHook()
120
- data = cp.random.random_sample(
121
- (slices, flats.shape[1], flats.shape[2]), dtype=np.float32
122
- )
120
+ data = cp.random.random_sample((slices, 2560, 2560), dtype=np.float32)
123
121
  if dtype == "uint16":
124
122
  data = data.astype(np.uint16)
125
123
  with hook:
@@ -148,7 +146,7 @@ def test_remove_outlier_memoryhook(flats, ensure_clean_memory, dtype, slices):
148
146
  # the estimated_memory_mb should be LARGER or EQUAL to max_mem_mb
149
147
  # the resulting percent value should not deviate from max_mem on more than 20%
150
148
  assert estimated_memory_mb >= max_mem_mb
151
- assert percents_relative_maxmem <= 20
149
+ assert percents_relative_maxmem <= 25
152
150
 
153
151
 
154
152
  @pytest.mark.parametrize("slices", [3, 10, 20])
@@ -257,48 +255,6 @@ def test_paganin_filter_tomopy_memoryhook(slices, dim_x, dim_y, ensure_clean_mem
257
255
  assert percents_relative_maxmem <= 20
258
256
 
259
257
 
260
- @pytest.mark.cupy
261
- @pytest.mark.parametrize("slices", [64, 128])
262
- @pytest.mark.parametrize("dim_x", [81, 260, 320])
263
- @pytest.mark.parametrize("dim_y", [340, 135, 96])
264
- def test_paganin_filter_savu_memoryhook(slices, dim_x, dim_y, ensure_clean_memory):
265
- data = cp.random.random_sample((slices, dim_x, dim_y), dtype=np.float32)
266
- kwargs = {}
267
- kwargs["ratio"] = 250.0
268
- kwargs["energy"] = 53.0
269
- kwargs["distance"] = 1.0
270
- kwargs["resolution"] = 1.28
271
- kwargs["pad_x"] = 20
272
- kwargs["pad_y"] = 20
273
- kwargs["pad_method"] = "edge"
274
- kwargs["increment"] = 0.0
275
- hook = MaxMemoryHook()
276
- with hook:
277
- data_filtered = paganin_filter_savu(data, **kwargs).get()
278
-
279
- # The amount of bytes used by the method's processing according to the memory hook, plus
280
- # the amount of bytes needed to hold the method's input in GPU memory
281
- max_mem = hook.max_mem + data.nbytes
282
-
283
- # now we estimate how much of the total memory required for this data
284
- (estimated_memory_bytes, subtract_bytes) = _calc_memory_bytes_paganin_filter_savu(
285
- (dim_x, dim_y), np.float32(), **kwargs
286
- )
287
- estimated_memory_mb = round(slices * estimated_memory_bytes / (1024**2), 2)
288
- max_mem -= subtract_bytes
289
- max_mem_mb = round(max_mem / (1024**2), 2)
290
-
291
- # now we compare both memory estimations
292
- #
293
- # make sure estimator function is within range (80% min, 100% max)
294
- difference_mb = abs(estimated_memory_mb - max_mem_mb)
295
- percents_relative_maxmem = round((difference_mb / max_mem_mb) * 100)
296
- # the estimated_memory_mb should be LARGER or EQUAL to max_mem_mb
297
- # the resulting percent value should not deviate from max_mem on more than 20%
298
- assert estimated_memory_mb >= max_mem_mb
299
- assert percents_relative_maxmem <= 20
300
-
301
-
302
258
  @pytest.mark.cupy
303
259
  @pytest.mark.parametrize("slices", [128, 190, 256])
304
260
  def test_distortion_correction_memoryhook(
@@ -719,12 +675,7 @@ def __test_recon_LPRec3d_tomobar_memoryhook_common(
719
675
  # the estimated_memory_mb should be LARGER or EQUAL to max_mem_mb
720
676
  # the resulting percent value should not deviate from max_mem on more than 20%
721
677
  assert estimated_memory_mb >= max_mem_mb
722
- if slices <= 3:
723
- assert percents_relative_maxmem <= 75
724
- elif slices <= 5:
725
- assert percents_relative_maxmem <= 63
726
- else:
727
- assert percents_relative_maxmem <= 50
678
+ assert percents_relative_maxmem <= 80
728
679
 
729
680
 
730
681
  @pytest.mark.cupy
File without changes
@@ -1,11 +1,11 @@
1
1
  - method: standard_tomo
2
2
  module_path: httomo.data.hdf.loaders
3
+ - method: find_center_360
4
+ module_path: httomolibgpu.recon.rotation
3
5
  - method: normalize
4
6
  module_path: httomolibgpu.prep.normalize
5
7
  - method: distortion_correction_proj_discorpy
6
8
  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
@@ -1,9 +1,9 @@
1
1
  - method: standard_tomo
2
2
  module_path: httomo.data.hdf.loaders
3
- - method: normalize
4
- module_path: httomolibgpu.prep.normalize
5
3
  - method: find_center_360
6
4
  module_path: httomolibgpu.recon.rotation
5
+ - method: normalize
6
+ module_path: httomolibgpu.prep.normalize
7
7
  - method: sino_360_to_180
8
8
  module_path: httomolibgpu.misc.morph
9
9
  - method: remove_stripe_based_sorting
File without changes