httomo-backends 0.5.3__tar.gz → 0.6.1__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.5.3 → httomo_backends-0.6.1}/PKG-INFO +1 -1
  2. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/methods_database/packages/backends/httomolib/httomolib.yaml +8 -0
  3. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/methods_database/packages/backends/httomolib/httomolib_modules.yaml +1 -0
  4. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/methods_database/packages/backends/httomolibgpu/httomolibgpu.yaml +3 -12
  5. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/prep/phase.py +0 -60
  6. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/recon/algorithm.py +42 -20
  7. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/methods_database/packages/backends/tomopy/supporting_funcs/misc/corr.py +1 -1
  8. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/methods_database/packages/backends/tomopy/supporting_funcs/prep/stripe.py +1 -1
  9. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/pipelines_full/FBP3d_tomobar_denoising_directive.yaml +1 -1
  10. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/pipelines_full/FBP3d_tomobar_directive.yaml +1 -1
  11. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/pipelines_full/LPRec3d_tomobar_directive.yaml +1 -1
  12. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/pipelines_full/deg360_distortion_FBP3d_tomobar_directive.yaml +3 -3
  13. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/pipelines_full/deg360_paganin_FBP3d_tomobar_directive.yaml +3 -3
  14. httomo_backends-0.6.1/httomo_backends/pipelines_full/sweep_paganin_FBP3d_tomobar_directive.yaml +12 -0
  15. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/pipelines_full/tomopy_gridrec_directive.yaml +1 -1
  16. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/scripts/yaml_pipelines_generator.py +55 -11
  17. httomo_backends-0.6.1/httomo_backends/yaml_templates/httomolib/httomolib.misc.rescale/rescale_to_int.yaml +7 -0
  18. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.corr/remove_outlier.yaml +1 -1
  19. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/CGLS3d_tomobar.yaml +1 -0
  20. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/FBP2d_astra.yaml +1 -0
  21. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/FBP3d_tomobar.yaml +1 -0
  22. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/LPRec3d_tomobar.yaml +1 -0
  23. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/SIRT3d_tomobar.yaml +1 -0
  24. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends.egg-info/PKG-INFO +1 -1
  25. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends.egg-info/SOURCES.txt +2 -0
  26. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/pyproject.toml +1 -1
  27. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/tests/test_httomolibgpu.py +59 -73
  28. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/LICENSE +0 -0
  29. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/README.rst +0 -0
  30. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/__init__.py +0 -0
  31. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/cufft.py +0 -0
  32. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/methods_database/__init__.py +0 -0
  33. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/methods_database/packages/__init__.py +0 -0
  34. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/methods_database/packages/backends/httomolibgpu/__init__.py +0 -0
  35. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/methods_database/packages/backends/httomolibgpu/httomolibgpu_modules.yaml +0 -0
  36. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/__init__.py +0 -0
  37. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/misc/__init__.py +0 -0
  38. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/misc/corr.py +0 -0
  39. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/misc/denoise.py +0 -0
  40. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/misc/morph.py +0 -0
  41. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/misc/rescale.py +0 -0
  42. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/prep/__init__.py +0 -0
  43. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/prep/normalize.py +0 -0
  44. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/prep/stripe.py +0 -0
  45. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/recon/__init__.py +0 -0
  46. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/recon/peak_memory_line_profile_hook.py +0 -0
  47. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/methods_database/packages/backends/tomopy/__init__.py +0 -0
  48. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/methods_database/packages/backends/tomopy/supporting_funcs/__init__.py +0 -0
  49. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/methods_database/packages/backends/tomopy/supporting_funcs/misc/__init__.py +0 -0
  50. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/methods_database/packages/backends/tomopy/supporting_funcs/prep/__init__.py +0 -0
  51. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/methods_database/packages/backends/tomopy/supporting_funcs/recon/__init__.py +0 -0
  52. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/methods_database/packages/backends/tomopy/supporting_funcs/recon/algorithm.py +0 -0
  53. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/methods_database/packages/backends/tomopy/tomopy.yaml +0 -0
  54. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/methods_database/packages/backends/tomopy/tomopy_modules.yaml +0 -0
  55. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/methods_database/packages/httomo.yaml +0 -0
  56. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/methods_database/query.py +0 -0
  57. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/pipelines_full/FBP2d_astra_directive.yaml +0 -0
  58. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/pipelines_full/FBP3d_tomobar_noimagesaving_directive.yaml +0 -0
  59. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/pipelines_full/__init__.py +0 -0
  60. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/pipelines_full/sweep_center_FBP3d_tomobar_directive.yaml +0 -0
  61. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/scripts/__init__.py +0 -0
  62. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/scripts/json_pipelines_generator.py +0 -0
  63. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/scripts/yaml_templates_generator.py +0 -0
  64. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/scripts/yaml_unsupported_tomopy_remove.py +0 -0
  65. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/httomo/__init__.py +0 -0
  66. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/httomo/httomo.data.hdf.loaders/standard_tomo.yaml +0 -0
  67. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/httomo/httomo.methods/calculate_stats.yaml +0 -0
  68. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/httomo/httomo.methods/save_intermediate_data.yaml +0 -0
  69. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/httomolib/__init__.py +0 -0
  70. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/httomolib/httomolib.misc.images/save_to_images.yaml +0 -0
  71. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/httomolib/httomolib.misc.morph/data_reducer.yaml +0 -0
  72. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/httomolib/httomolib.misc.segm/binary_thresholding.yaml +0 -0
  73. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/httomolib/httomolib.prep.phase/paganin_filter.yaml +0 -0
  74. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/httomolibgpu/__init__.py +0 -0
  75. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.corr/median_filter.yaml +0 -0
  76. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.denoise/total_variation_PD.yaml +0 -0
  77. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.denoise/total_variation_ROF.yaml +0 -0
  78. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.morph/data_resampler.yaml +0 -0
  79. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.morph/sino_360_to_180.yaml +0 -0
  80. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.rescale/rescale_to_int.yaml +0 -0
  81. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.alignment/distortion_correction_proj_discorpy.yaml +0 -0
  82. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.normalize/normalize.yaml +0 -0
  83. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.phase/paganin_filter_savu.yaml +0 -0
  84. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.phase/paganin_filter_tomopy.yaml +0 -0
  85. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.stripe/raven_filter.yaml +0 -0
  86. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.stripe/remove_all_stripe.yaml +0 -0
  87. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.stripe/remove_stripe_based_sorting.yaml +0 -0
  88. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.stripe/remove_stripe_ti.yaml +0 -0
  89. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.rotation/find_center_360.yaml +0 -0
  90. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.rotation/find_center_pc.yaml +0 -0
  91. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.rotation/find_center_vo.yaml +0 -0
  92. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/__init__.py +0 -0
  93. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/adjust_range.yaml +0 -0
  94. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/circ_mask.yaml +0 -0
  95. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/gaussian_filter.yaml +0 -0
  96. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/median_filter.yaml +0 -0
  97. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/median_filter3d.yaml +0 -0
  98. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/median_filter_nonfinite.yaml +0 -0
  99. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/remove_nan.yaml +0 -0
  100. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/remove_neg.yaml +0 -0
  101. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/remove_outlier.yaml +0 -0
  102. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/remove_outlier1d.yaml +0 -0
  103. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/remove_outlier3d.yaml +0 -0
  104. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/remove_ring.yaml +0 -0
  105. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/sobel_filter.yaml +0 -0
  106. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.misc.morph/downsample.yaml +0 -0
  107. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.misc.morph/pad.yaml +0 -0
  108. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.misc.morph/sino_360_to_180.yaml +0 -0
  109. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.misc.morph/trim_sinogram.yaml +0 -0
  110. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.misc.morph/upsample.yaml +0 -0
  111. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/add_jitter.yaml +0 -0
  112. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/add_noise.yaml +0 -0
  113. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/align_joint.yaml +0 -0
  114. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/align_seq.yaml +0 -0
  115. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/blur_edges.yaml +0 -0
  116. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/distortion_correction_proj.yaml +0 -0
  117. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/distortion_correction_sino.yaml +0 -0
  118. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/scale.yaml +0 -0
  119. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/shift_images.yaml +0 -0
  120. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.prep.normalize/minus_log.yaml +0 -0
  121. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.prep.normalize/normalize.yaml +0 -0
  122. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.prep.normalize/normalize_bg.yaml +0 -0
  123. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.prep.normalize/normalize_nf.yaml +0 -0
  124. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.prep.normalize/normalize_roi.yaml +0 -0
  125. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.prep.phase/retrieve_phase.yaml +0 -0
  126. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_all_stripe.yaml +0 -0
  127. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_dead_stripe.yaml +0 -0
  128. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_large_stripe.yaml +0 -0
  129. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_stripe_based_filtering.yaml +0 -0
  130. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_stripe_based_fitting.yaml +0 -0
  131. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_stripe_based_interpolation.yaml +0 -0
  132. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_stripe_based_sorting.yaml +0 -0
  133. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_stripe_fw.yaml +0 -0
  134. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_stripe_sf.yaml +0 -0
  135. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_stripe_ti.yaml +0 -0
  136. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/stripes_detect3d.yaml +0 -0
  137. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/stripes_mask3d.yaml +0 -0
  138. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.recon.algorithm/recon.yaml +0 -0
  139. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.recon.rotation/find_center.yaml +0 -0
  140. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.recon.rotation/find_center_pc.yaml +0 -0
  141. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.recon.rotation/find_center_vo.yaml +0 -0
  142. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_drift.yaml +0 -0
  143. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_focal_spot_blur.yaml +0 -0
  144. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_gaussian.yaml +0 -0
  145. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_poisson.yaml +0 -0
  146. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_rings.yaml +0 -0
  147. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_salt_pepper.yaml +0 -0
  148. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_zingers.yaml +0 -0
  149. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/project.yaml +0 -0
  150. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/project2.yaml +0 -0
  151. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/project3.yaml +0 -0
  152. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends.egg-info/dependency_links.txt +0 -0
  153. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends.egg-info/requires.txt +0 -0
  154. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/httomo_backends.egg-info/top_level.txt +0 -0
  155. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/setup.cfg +0 -0
  156. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/tests/test_method_query.py +0 -0
  157. {httomo_backends-0.5.3 → httomo_backends-0.6.1}/tests/test_tomopy.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: httomo-backends
3
- Version: 0.5.3
3
+ Version: 0.6.1
4
4
  Summary: Supplementary files for HTTomo backends.
5
5
  Author: Garry ODonnell, Jacob Williamson
6
6
  Author-email: Daniil Kazantsev <daniil.kazantsev@diamond.ac.uk>, Yousef Moazzam <yousef.moazzam@diamond.ac.uk>, Jessica Verschoyle <jessica.verschoyle@diamond.ac.uk>, Naman Gera <naman.gera@diamond.ac.uk>, scientificsoftware@diamond.ac.uk
@@ -1,4 +1,12 @@
1
1
  misc:
2
+ rescale:
3
+ rescale_to_int:
4
+ pattern: all
5
+ output_dims_change: False
6
+ implementation: cpu
7
+ memory_gpu: None
8
+ save_result_default: False
9
+ padding: False
2
10
  morph:
3
11
  data_reducer:
4
12
  pattern: all
@@ -1,3 +1,4 @@
1
+ - httomolib.misc.rescale
1
2
  - httomolib.misc.morph
2
3
  - httomolib.misc.images
3
4
  - httomolib.misc.segm
@@ -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,
@@ -77,12 +77,17 @@ def _calc_memory_bytes_FBP3d_tomobar(
77
77
  dtype: np.dtype,
78
78
  **kwargs,
79
79
  ) -> Tuple[int, int]:
80
- det_height = non_slice_dims_shape[0]
81
- det_width = non_slice_dims_shape[1]
80
+ if "detector_pad" in kwargs:
81
+ detector_pad = kwargs["detector_pad"]
82
+ else:
83
+ detector_pad = 0
84
+
85
+ angles_tot = non_slice_dims_shape[0]
86
+ det_width = non_slice_dims_shape[1] + 2 * detector_pad
82
87
  SLICES = 200 # dummy multiplier+divisor to pass large batch size threshold
83
88
 
84
89
  # 1. input
85
- input_slice_size = np.prod(non_slice_dims_shape) * dtype.itemsize
90
+ input_slice_size = (angles_tot * det_width) * dtype.itemsize
86
91
 
87
92
  ########## FFT / filter / IFFT (filtersync_cupy)
88
93
 
@@ -91,13 +96,13 @@ def _calc_memory_bytes_FBP3d_tomobar(
91
96
  cufft_estimate_1d(
92
97
  nx=det_width,
93
98
  fft_type=CufftType.CUFFT_R2C,
94
- batch=det_height * SLICES,
99
+ batch=angles_tot * SLICES,
95
100
  )
96
101
  / SLICES
97
102
  )
98
103
 
99
104
  # 3. RFFT output size (proj_f in code)
100
- proj_f_slice = det_height * (det_width // 2 + 1) * np.complex64().itemsize
105
+ proj_f_slice = angles_tot * (det_width // 2 + 1) * np.complex64().itemsize
101
106
 
102
107
  # 4. Filter size (independent of number of slices)
103
108
  filter_size = (det_width // 2 + 1) * np.float32().itemsize
@@ -107,7 +112,7 @@ def _calc_memory_bytes_FBP3d_tomobar(
107
112
  cufft_estimate_1d(
108
113
  nx=det_width,
109
114
  fft_type=CufftType.CUFFT_C2R,
110
- batch=det_height * SLICES,
115
+ batch=angles_tot * SLICES,
111
116
  )
112
117
  / SLICES
113
118
  )
@@ -123,9 +128,7 @@ def _calc_memory_bytes_FBP3d_tomobar(
123
128
 
124
129
  # 6. we swap the axes before passing data to Astra in ToMoBAR
125
130
  # https://github.com/dkazanc/ToMoBAR/blob/54137829b6326406e09f6ef9c95eb35c213838a7/tomobar/methodsDIR_CuPy.py#L135
126
- pre_astra_input_swapaxis_slice = (
127
- np.prod(non_slice_dims_shape) * np.float32().itemsize
128
- )
131
+ pre_astra_input_swapaxis_slice = (angles_tot * det_width) * np.float32().itemsize
129
132
 
130
133
  # 7. astra backprojection will generate an output array
131
134
  # https://github.com/dkazanc/ToMoBAR/blob/54137829b6326406e09f6ef9c95eb35c213838a7/tomobar/astra_wrappers/astra_base.py#L524
@@ -151,7 +154,7 @@ def _calc_memory_bytes_FBP3d_tomobar(
151
154
  # so it does not add to the memory overall
152
155
 
153
156
  # We assume for safety here that one FFT plan is not freed and one is freed
154
- tot_memory_bytes = (
157
+ tot_memory_bytes = int(
155
158
  projection_mem_size + filtersync_size - ifftplan_slice_size + recon_output_size
156
159
  )
157
160
 
@@ -166,8 +169,14 @@ def _calc_memory_bytes_LPRec3d_tomobar(
166
169
  ) -> Tuple[int, int]:
167
170
  # Based on: https://github.com/dkazanc/ToMoBAR/pull/112/commits/4704ecdc6ded3dd5ec0583c2008aa104f30a8a39
168
171
 
172
+ if "detector_pad" in kwargs:
173
+ detector_pad = kwargs["detector_pad"]
174
+ else:
175
+ detector_pad = 0
176
+
169
177
  angles_tot = non_slice_dims_shape[0]
170
- DetectorsLengthH = non_slice_dims_shape[1]
178
+ DetectorsLengthH_prepad = non_slice_dims_shape[1]
179
+ DetectorsLengthH = non_slice_dims_shape[1] + 2 * detector_pad
171
180
  SLICES = 200 # dummy multiplier+divisor to pass large batch size threshold
172
181
  _CENTER_SIZE_MIN = 192 # must be divisible by 8
173
182
 
@@ -210,7 +219,7 @@ def _calc_memory_bytes_LPRec3d_tomobar(
210
219
  if odd_horiz:
211
220
  output_dims = tuple(x + 1 for x in output_dims)
212
221
 
213
- in_slice_size = np.prod(non_slice_dims_shape) * dtype.itemsize
222
+ in_slice_size = (angles_tot * DetectorsLengthH) * dtype.itemsize
214
223
  padded_in_slice_size = angles_tot * n * np.float32().itemsize
215
224
 
216
225
  theta_size = angles_tot * np.float32().itemsize
@@ -256,7 +265,9 @@ def _calc_memory_bytes_LPRec3d_tomobar(
256
265
  center_size * center_size * (1 + angle_range_pi_count * 2) * np.int16().itemsize
257
266
  )
258
267
 
259
- recon_output_size = DetectorsLengthH * DetectorsLengthH * np.float32().itemsize
268
+ recon_output_size = (
269
+ DetectorsLengthH_prepad * DetectorsLengthH_prepad * np.float32().itemsize
270
+ )
260
271
  ifft2_plan_slice_size = (
261
272
  cufft_estimate_2d(
262
273
  nx=(2 * m + 2 * n), ny=(2 * m + 2 * n), fft_type=CufftType.CUFFT_C2C
@@ -342,7 +353,6 @@ def _calc_memory_bytes_LPRec3d_tomobar(
342
353
  add_to_memory_counters(after_recon_swapaxis_slice, True)
343
354
 
344
355
  return (tot_memory_bytes * 1.05, fixed_amount + 250 * 1024 * 1024)
345
- # return (tot_memory_bytes, fixed_amount)
346
356
 
347
357
 
348
358
  def _calc_memory_bytes_SIRT3d_tomobar(
@@ -350,16 +360,22 @@ def _calc_memory_bytes_SIRT3d_tomobar(
350
360
  dtype: np.dtype,
351
361
  **kwargs,
352
362
  ) -> Tuple[int, int]:
353
- DetectorsLengthH = non_slice_dims_shape[1]
363
+
364
+ if "detector_pad" in kwargs:
365
+ detector_pad = kwargs["detector_pad"]
366
+ else:
367
+ detector_pad = 0
368
+ anglesnum = non_slice_dims_shape[0]
369
+ DetectorsLengthH = non_slice_dims_shape[1] + 2 * detector_pad
354
370
  # calculate the output shape
355
371
  output_dims = _calc_output_dim_SIRT3d_tomobar(non_slice_dims_shape, **kwargs)
356
372
 
357
- in_data_size = np.prod(non_slice_dims_shape) * dtype.itemsize
373
+ in_data_size = (anglesnum * DetectorsLengthH) * dtype.itemsize
358
374
  out_data_size = np.prod(output_dims) * dtype.itemsize
359
375
 
360
376
  astra_projection = 2.5 * (in_data_size + out_data_size)
361
377
 
362
- tot_memory_bytes = 2 * in_data_size + 2 * out_data_size + astra_projection
378
+ tot_memory_bytes = int(2 * in_data_size + 2 * out_data_size + astra_projection)
363
379
  return (tot_memory_bytes, 0)
364
380
 
365
381
 
@@ -368,14 +384,20 @@ def _calc_memory_bytes_CGLS3d_tomobar(
368
384
  dtype: np.dtype,
369
385
  **kwargs,
370
386
  ) -> Tuple[int, int]:
371
- DetectorsLengthH = non_slice_dims_shape[1]
387
+ if "detector_pad" in kwargs:
388
+ detector_pad = kwargs["detector_pad"]
389
+ else:
390
+ detector_pad = 0
391
+
392
+ anglesnum = non_slice_dims_shape[0]
393
+ DetectorsLengthH = non_slice_dims_shape[1] + 2 * detector_pad
372
394
  # calculate the output shape
373
395
  output_dims = _calc_output_dim_CGLS3d_tomobar(non_slice_dims_shape, **kwargs)
374
396
 
375
- in_data_size = np.prod(non_slice_dims_shape) * dtype.itemsize
397
+ in_data_size = (anglesnum * DetectorsLengthH) * dtype.itemsize
376
398
  out_data_size = np.prod(output_dims) * dtype.itemsize
377
399
 
378
400
  astra_projection = 2.5 * (in_data_size + out_data_size)
379
401
 
380
- tot_memory_bytes = 2 * in_data_size + 2 * out_data_size + astra_projection
402
+ tot_memory_bytes = int(2 * in_data_size + 2 * out_data_size + astra_projection)
381
403
  return (tot_memory_bytes, 0)
@@ -18,7 +18,7 @@
18
18
  # Created By : Tomography Team at DLS <scientificsoftware@diamond.ac.uk>
19
19
  # Created Date: 18/July/2024
20
20
  # ---------------------------------------------------------------------------
21
- """ Modules for memory estimation, padding, data dims estimation """
21
+ """Modules for memory estimation, padding, data dims estimation"""
22
22
 
23
23
  from typing import Tuple
24
24
 
@@ -18,7 +18,7 @@
18
18
  # Created By : Tomography Team at DLS <scientificsoftware@diamond.ac.uk>
19
19
  # Created Date: 18/July/2024
20
20
  # ---------------------------------------------------------------------------
21
- """ Modules for memory estimation, padding, data dims estimation """
21
+ """Modules for memory estimation, padding, data dims estimation"""
22
22
 
23
23
  from typing import Tuple
24
24
 
@@ -15,6 +15,6 @@
15
15
  - method: calculate_stats
16
16
  module_path: httomo.methods
17
17
  - method: rescale_to_int
18
- module_path: httomolibgpu.misc.rescale
18
+ module_path: httomolib.misc.rescale
19
19
  - method: save_to_images
20
20
  module_path: httomolib.misc.images
@@ -13,6 +13,6 @@
13
13
  - method: calculate_stats
14
14
  module_path: httomo.methods
15
15
  - method: rescale_to_int
16
- module_path: httomolibgpu.misc.rescale
16
+ module_path: httomolib.misc.rescale
17
17
  - method: save_to_images
18
18
  module_path: httomolib.misc.images
@@ -13,7 +13,7 @@
13
13
  - method: calculate_stats
14
14
  module_path: httomo.methods
15
15
  - method: rescale_to_int
16
- module_path: httomolibgpu.misc.rescale
16
+ module_path: httomolib.misc.rescale
17
17
  - method: save_to_images
18
18
  module_path: httomolib.misc.images
19
19
 
@@ -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
@@ -15,6 +15,6 @@
15
15
  - method: calculate_stats
16
16
  module_path: httomo.methods
17
17
  - method: rescale_to_int
18
- module_path: httomolibgpu.misc.rescale
18
+ module_path: httomolib.misc.rescale
19
19
  - method: save_to_images
20
20
  module_path: httomolib.misc.images
@@ -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
@@ -15,6 +15,6 @@
15
15
  - method: calculate_stats
16
16
  module_path: httomo.methods
17
17
  - method: rescale_to_int
18
- module_path: httomolibgpu.misc.rescale
18
+ module_path: httomolib.misc.rescale
19
19
  - method: save_to_images
20
20
  module_path: httomolib.misc.images
@@ -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
@@ -13,6 +13,6 @@
13
13
  - method: calculate_stats
14
14
  module_path: httomo.methods
15
15
  - method: rescale_to_int
16
- module_path: httomolibgpu.misc.rescale
16
+ module_path: httomolib.misc.rescale
17
17
  - method: save_to_images
18
18
  module_path: httomolib.misc.images
@@ -31,6 +31,8 @@ import ruamel.yaml
31
31
  import httomo_backends
32
32
  import yaml
33
33
 
34
+ from httomo import __version__ as httomo_version
35
+
34
36
  CS = ruamel.yaml.comments.CommentedSeq # defaults to block style
35
37
 
36
38
 
@@ -55,6 +57,20 @@ def __sweeprange_representer(
55
57
  )
56
58
 
57
59
 
60
+ class SweepManual:
61
+ """SweepManual class."""
62
+
63
+ def __init__(self, lst):
64
+ self._lst = lst
65
+
66
+
67
+ def __sweepmanual_representer(
68
+ dumper: yaml.SafeDumper, swp: SweepManual
69
+ ) -> yaml.nodes.SequenceNode:
70
+ """Represent a sweepmanual as a YAML sequence node."""
71
+ return dumper.represent_sequence("!Sweep", swp._lst)
72
+
73
+
58
74
  def __represent_none(self, data):
59
75
  return self.represent_scalar("tag:yaml.org,2002:null", "null")
60
76
 
@@ -86,17 +102,22 @@ def yaml_pipelines_generator(
86
102
  # a loop over methods in the high-level pipeline file (directive)
87
103
  methods_no = len(pipeline_file_content)
88
104
  pipeline_full = CS()
89
- sweep_enabled = False
105
+ sweep_enabled_range = False
106
+ sweep_enabled_value = False
90
107
  for i in range(methods_no):
91
108
  method_content = pipeline_file_content[i]
92
109
  method_name = method_content["method"]
93
110
  module_name = method_content["module_path"]
94
111
  if "sweep_parameter" in method_content:
95
112
  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
113
+ if "sweep_start" in method_content:
114
+ sweep_start = method_content["sweep_start"]
115
+ sweep_stop = method_content["sweep_stop"]
116
+ sweep_step = method_content["sweep_step"]
117
+ sweep_enabled_range = True
118
+ else:
119
+ sweep_values = method_content["sweep_values"]
120
+ sweep_enabled_value = True
100
121
 
101
122
  # get the corresponding yaml template from httomo-backends
102
123
  backend_name = module_name[0 : module_name.find(".")]
@@ -116,6 +137,13 @@ def yaml_pipelines_generator(
116
137
  except OSError as e:
117
138
  print("loading yaml template failed", e)
118
139
 
140
+ version_split = httomo_version.split(".")
141
+ major = version_split[0]
142
+ minor = version_split[1]
143
+ pipeline_full.yaml_set_start_comment(
144
+ f"This pipeline is supported by HTTomo ver. {major}.{minor}"
145
+ )
146
+
119
147
  if "loaders" in module_name:
120
148
  # should be the first method in the list
121
149
  pipeline_full.yaml_set_comment_before_after_key(
@@ -149,7 +177,7 @@ def yaml_pipelines_generator(
149
177
  )
150
178
  pipeline_full[i]["side_outputs"].yaml_add_eol_comment(
151
179
  key="cor",
152
- comment="A side output of the method, here a CoR scalar value",
180
+ comment="An estimated CoR value provided as a side output",
153
181
  )
154
182
  pipeline_full[i]["side_outputs"].yaml_add_eol_comment(
155
183
  key="overlap",
@@ -158,17 +186,22 @@ def yaml_pipelines_generator(
158
186
  elif "corr" in module_name and "remove_outlier" in method_name:
159
187
  pipeline_full.yaml_set_comment_before_after_key(
160
188
  i,
161
- "--- Removing dead pixels in the data, aka zingers. Use if sharp streaks are present in reconstruction. ---",
189
+ "--- Removing unresponsive pixels in the data, aka zingers. Use if sharp streaks are present in the reconstruction. To be applied before normalisation. ---",
162
190
  indent=0,
163
191
  )
164
192
  pipeline_full += yaml_template_method
165
193
  if pipeline_full[i]["parameters"]["dif"] == "REQUIRED":
166
194
  # fix for the absent parameter in TomoPy's algorithm
167
195
  pipeline_full[i]["parameters"]["dif"] = 0.1
196
+ pipeline_full[i]["parameters"].yaml_add_eol_comment(
197
+ key="kernel_size",
198
+ comment="The size of the 3D neighbourhood surrounding the voxel. Odd integer.",
199
+ )
168
200
  pipeline_full[i]["parameters"].yaml_add_eol_comment(
169
201
  key="dif",
170
- comment="A difference between the outlier value and the median value of neighboring pixels.",
202
+ comment="A difference between the outlier value and the median value of neighbouring pixels.",
171
203
  )
204
+
172
205
  elif "distortion" in method_name:
173
206
  pipeline_full.yaml_set_comment_before_after_key(
174
207
  i,
@@ -225,7 +258,11 @@ def yaml_pipelines_generator(
225
258
  pipeline_full += yaml_template_method
226
259
  pipeline_full[i]["parameters"].yaml_add_eol_comment(
227
260
  key="center",
228
- comment="Reference to center of rotation side output OR an integer.",
261
+ comment="Reference to center of rotation side output above OR a float number.",
262
+ )
263
+ pipeline_full[i]["parameters"].yaml_add_eol_comment(
264
+ key="detector_pad",
265
+ comment="Horizontal detector padding to minimise circle/arc-type artifacts in the reconstruction",
229
266
  )
230
267
  pipeline_full[i]["parameters"].yaml_add_eol_comment(
231
268
  key="recon_mask_radius",
@@ -282,13 +319,20 @@ def yaml_pipelines_generator(
282
319
  )
283
320
  pipeline_full += yaml_template_method
284
321
 
285
- if sweep_enabled:
322
+ if sweep_enabled_range:
286
323
  pipeline_full[i]["parameters"][sweep_parameter] = SweepRange(
287
324
  start=sweep_start, stop=sweep_stop, step=sweep_step
288
325
  )
326
+ yaml.representer.add_representer(SweepRange, __sweeprange_representer)
327
+ sweep_enabled_range = False
328
+ if sweep_enabled_value:
329
+ pipeline_full[i]["parameters"][sweep_parameter] = SweepManual(
330
+ list(sweep_values)
331
+ )
332
+ yaml.representer.add_representer(SweepManual, __sweepmanual_representer)
333
+ sweep_enabled_value = False
289
334
 
290
335
  yaml.representer.add_representer(type(None), __represent_none)
291
- yaml.representer.add_representer(SweepRange, __sweeprange_representer)
292
336
  yaml.dump(pipeline_full, f)
293
337
 
294
338
  return 0
@@ -0,0 +1,7 @@
1
+ - method: rescale_to_int
2
+ module_path: httomolib.misc.rescale
3
+ parameters:
4
+ perc_range_min: 0.0
5
+ perc_range_max: 100.0
6
+ bits: 8
7
+ glob_stats: ${{statistics.side_outputs.glob_stats}}
@@ -2,4 +2,4 @@
2
2
  module_path: httomolibgpu.misc.corr
3
3
  parameters:
4
4
  kernel_size: 3
5
- dif: 0.1
5
+ dif: 1000
@@ -2,6 +2,7 @@
2
2
  module_path: httomolibgpu.recon.algorithm
3
3
  parameters:
4
4
  center: ${{centering.side_outputs.centre_of_rotation}}
5
+ detector_pad: 0
5
6
  recon_size: null
6
7
  iterations: 20
7
8
  nonnegativity: true
@@ -2,6 +2,7 @@
2
2
  module_path: httomolibgpu.recon.algorithm
3
3
  parameters:
4
4
  center: ${{centering.side_outputs.centre_of_rotation}}
5
+ detector_pad: 0
5
6
  filter_type: ram-lak
6
7
  filter_parameter: null
7
8
  filter_d: null
@@ -2,6 +2,7 @@
2
2
  module_path: httomolibgpu.recon.algorithm
3
3
  parameters:
4
4
  center: ${{centering.side_outputs.centre_of_rotation}}
5
+ detector_pad: 0
5
6
  filter_freq_cutoff: 0.35
6
7
  recon_size: null
7
8
  recon_mask_radius: 0.95
@@ -2,6 +2,7 @@
2
2
  module_path: httomolibgpu.recon.algorithm
3
3
  parameters:
4
4
  center: ${{centering.side_outputs.centre_of_rotation}}
5
+ detector_pad: 0
5
6
  filter_type: shepp
6
7
  filter_freq_cutoff: 1.0
7
8
  recon_size: null
@@ -2,6 +2,7 @@
2
2
  module_path: httomolibgpu.recon.algorithm
3
3
  parameters:
4
4
  center: ${{centering.side_outputs.centre_of_rotation}}
5
+ detector_pad: 0
5
6
  recon_size: null
6
7
  iterations: 300
7
8
  nonnegativity: true
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: httomo-backends
3
- Version: 0.5.3
3
+ Version: 0.6.1
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
@@ -62,6 +63,7 @@ httomo_backends/yaml_templates/httomo/httomo.methods/save_intermediate_data.yaml
62
63
  httomo_backends/yaml_templates/httomolib/__init__.py
63
64
  httomo_backends/yaml_templates/httomolib/httomolib.misc.images/save_to_images.yaml
64
65
  httomo_backends/yaml_templates/httomolib/httomolib.misc.morph/data_reducer.yaml
66
+ httomo_backends/yaml_templates/httomolib/httomolib.misc.rescale/rescale_to_int.yaml
65
67
  httomo_backends/yaml_templates/httomolib/httomolib.misc.segm/binary_thresholding.yaml
66
68
  httomo_backends/yaml_templates/httomolib/httomolib.prep.phase/paganin_filter.yaml
67
69
  httomo_backends/yaml_templates/httomolibgpu/__init__.py
@@ -24,7 +24,7 @@ dev_template = "{tag}"
24
24
 
25
25
  [project]
26
26
  name = "httomo-backends"
27
- version = "0.5.3"
27
+ version = "0.6.1"
28
28
  description = "Supplementary files for HTTomo backends."
29
29
  readme = "README.rst"
30
30
  license = {text = "BSD-3-Clause"}