httomo-backends 0.7.2__tar.gz → 0.8.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/PKG-INFO +1 -1
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/httomolibgpu.yaml +1 -1
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/prep/phase.py +7 -5
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/recon/algorithm.py +66 -33
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/pipelines_full/deg360_paganin_FBP3d_tomobar_directive.yaml +1 -1
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/pipelines_full/sweep_paganin_FBP3d_tomobar_directive.yaml +4 -4
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/scripts/yaml_pipelines_generator.py +23 -11
- httomo_backends-0.8.0/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.phase/paganin_filter.yaml +7 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/LPRec3d_tomobar.yaml +3 -3
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends.egg-info/PKG-INFO +1 -1
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends.egg-info/SOURCES.txt +1 -1
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/pyproject.toml +1 -1
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/tests/test_httomolibgpu.py +24 -14
- httomo_backends-0.7.2/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.phase/paganin_filter_tomopy.yaml +0 -7
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/LICENSE +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/README.rst +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/__init__.py +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/cufft.py +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/methods_database/__init__.py +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/__init__.py +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/httomolib/httomolib.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/httomolib/httomolib_modules.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/__init__.py +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/httomolibgpu_modules.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/__init__.py +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/misc/__init__.py +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/misc/corr.py +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/misc/denoise.py +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/misc/morph.py +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/misc/rescale.py +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/prep/__init__.py +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/prep/normalize.py +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/prep/stripe.py +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/recon/__init__.py +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/recon/peak_memory_line_profile_hook.py +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/tomopy/__init__.py +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/tomopy/supporting_funcs/__init__.py +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/tomopy/supporting_funcs/misc/__init__.py +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/tomopy/supporting_funcs/misc/corr.py +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/tomopy/supporting_funcs/prep/__init__.py +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/tomopy/supporting_funcs/prep/stripe.py +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/tomopy/supporting_funcs/recon/__init__.py +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/tomopy/supporting_funcs/recon/algorithm.py +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/tomopy/tomopy.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/backends/tomopy/tomopy_modules.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/methods_database/packages/httomo.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/methods_database/query.py +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/pipelines_full/FBP2d_astra_directive.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/pipelines_full/FBP3d_tomobar_denoising_directive.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/pipelines_full/FBP3d_tomobar_directive.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/pipelines_full/FBP3d_tomobar_noimagesaving_directive.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/pipelines_full/FISTA3d_tomobar_directive.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/pipelines_full/LPRec3d_tomobar_directive.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/pipelines_full/__init__.py +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/pipelines_full/deg360_distortion_FBP3d_tomobar_directive.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/pipelines_full/sweep_center_FBP3d_tomobar_directive.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/pipelines_full/titaren_center_pc_FBP3d_resample_directive.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/pipelines_full/tomopy_gridrec_directive.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/scripts/__init__.py +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/scripts/json_pipelines_generator.py +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/scripts/yaml_templates_generator.py +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/scripts/yaml_unsupported_tomopy_remove.py +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomo/__init__.py +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomo/httomo.data.hdf.loaders/standard_tomo.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomo/httomo.methods/calculate_stats.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomo/httomo.methods/save_intermediate_data.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolib/__init__.py +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolib/httomolib.misc.images/save_to_images.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolib/httomolib.misc.morph/data_reducer.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolib/httomolib.misc.rescale/rescale_to_int.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolib/httomolib.misc.segm/binary_thresholding.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolib/httomolib.prep.phase/paganin_filter.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolibgpu/__init__.py +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.corr/median_filter.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.corr/remove_outlier.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.denoise/total_variation_PD.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.denoise/total_variation_ROF.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.morph/data_resampler.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.morph/sino_360_to_180.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.rescale/rescale_to_int.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.alignment/distortion_correction_proj_discorpy.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.normalize/normalize.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.stripe/raven_filter.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.stripe/remove_all_stripe.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.stripe/remove_stripe_based_sorting.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.stripe/remove_stripe_ti.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/CGLS3d_tomobar.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/FBP2d_astra.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/FBP3d_tomobar.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/FISTA3d_tomobar.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/SIRT3d_tomobar.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.rotation/find_center_360.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.rotation/find_center_pc.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.rotation/find_center_vo.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/__init__.py +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/adjust_range.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/circ_mask.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/gaussian_filter.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/median_filter.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/median_filter3d.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/median_filter_nonfinite.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/remove_nan.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/remove_neg.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/remove_outlier.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/remove_outlier1d.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/remove_outlier3d.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/remove_ring.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.corr/sobel_filter.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.morph/downsample.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.morph/pad.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.morph/sino_360_to_180.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.morph/trim_sinogram.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.misc.morph/upsample.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/add_jitter.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/add_noise.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/align_joint.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/align_seq.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/blur_edges.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/distortion_correction_proj.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/distortion_correction_sino.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/scale.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.alignment/shift_images.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.normalize/minus_log.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.normalize/normalize.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.normalize/normalize_bg.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.normalize/normalize_nf.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.normalize/normalize_roi.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.phase/retrieve_phase.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_all_stripe.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_dead_stripe.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_large_stripe.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_stripe_based_filtering.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_stripe_based_fitting.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_stripe_based_interpolation.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_stripe_based_sorting.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_stripe_fw.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_stripe_sf.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/remove_stripe_ti.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/stripes_detect3d.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.prep.stripe/stripes_mask3d.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.recon.algorithm/recon.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.recon.rotation/find_center.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.recon.rotation/find_center_pc.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.recon.rotation/find_center_vo.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_drift.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_focal_spot_blur.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_gaussian.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_poisson.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_rings.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_salt_pepper.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_zingers.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/project.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/project2.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/tomopy.sim.project/project3.yaml +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends.egg-info/dependency_links.txt +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends.egg-info/requires.txt +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends.egg-info/top_level.txt +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/setup.cfg +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/tests/test_method_query.py +0 -0
- {httomo_backends-0.7.2 → httomo_backends-0.8.0}/tests/test_tomopy.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: httomo-backends
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.8.0
|
|
4
4
|
Summary: Supplementary files for HTTomo backends.
|
|
5
5
|
Author: Garry ODonnell, Jacob Williamson
|
|
6
6
|
Author-email: Daniil Kazantsev <daniil.kazantsev@diamond.ac.uk>, Yousef Moazzam <yousef.moazzam@diamond.ac.uk>, Jessica Verschoyle <jessica.verschoyle@diamond.ac.uk>, Naman Gera <naman.gera@diamond.ac.uk>, scientificsoftware@diamond.ac.uk
|
|
@@ -20,23 +20,21 @@
|
|
|
20
20
|
# ---------------------------------------------------------------------------
|
|
21
21
|
"""Modules for memory estimation for phase retrieval and phase-contrast enhancement"""
|
|
22
22
|
|
|
23
|
-
import math
|
|
24
23
|
from typing import Tuple
|
|
25
24
|
import numpy as np
|
|
26
25
|
|
|
27
26
|
from httomo_backends.cufft import CufftType, cufft_estimate_2d
|
|
28
27
|
|
|
29
28
|
__all__ = [
|
|
30
|
-
"
|
|
29
|
+
"_calc_memory_bytes_paganin_filter",
|
|
31
30
|
]
|
|
32
31
|
|
|
33
32
|
|
|
34
|
-
def
|
|
33
|
+
def _calc_memory_bytes_paganin_filter(
|
|
35
34
|
non_slice_dims_shape: Tuple[int, int],
|
|
36
35
|
dtype: np.dtype,
|
|
37
36
|
**kwargs,
|
|
38
37
|
) -> Tuple[int, int]:
|
|
39
|
-
from httomolibgpu.prep.phase import _shift_bit_length
|
|
40
38
|
|
|
41
39
|
# Input (unpadded)
|
|
42
40
|
unpadded_in_slice_size = np.prod(non_slice_dims_shape) * dtype.itemsize
|
|
@@ -44,7 +42,7 @@ def _calc_memory_bytes_paganin_filter_tomopy(
|
|
|
44
42
|
# estimate padding size here based on non_slice dimensions
|
|
45
43
|
pad_tup = []
|
|
46
44
|
for dim_len in non_slice_dims_shape:
|
|
47
|
-
diff =
|
|
45
|
+
diff = __shift_bit_length(dim_len + 1) - dim_len
|
|
48
46
|
if dim_len % 2 == 0:
|
|
49
47
|
pad_width = diff // 2
|
|
50
48
|
pad_width = (pad_width, pad_width)
|
|
@@ -107,3 +105,7 @@ def _calc_memory_bytes_paganin_filter_tomopy(
|
|
|
107
105
|
subtract_bytes = int(filter_size + grid_size)
|
|
108
106
|
|
|
109
107
|
return (tot_memory_bytes, subtract_bytes)
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
def __shift_bit_length(x: int) -> int:
|
|
111
|
+
return 1 << (x - 1).bit_length()
|
|
@@ -189,7 +189,7 @@ def _calc_memory_bytes_LPRec3d_tomobar(
|
|
|
189
189
|
if detector_pad is True:
|
|
190
190
|
detector_pad = __estimate_detectorHoriz_padding(non_slice_dims_shape[1])
|
|
191
191
|
elif detector_pad is False:
|
|
192
|
-
detector_pad = 0
|
|
192
|
+
detector_pad = 0
|
|
193
193
|
|
|
194
194
|
min_mem_usage_filter = False
|
|
195
195
|
if "min_mem_usage_filter" in kwargs:
|
|
@@ -208,9 +208,9 @@ def _calc_memory_bytes_LPRec3d_tomobar(
|
|
|
208
208
|
_CENTER_SIZE_MIN = 192 # must be divisible by 8
|
|
209
209
|
|
|
210
210
|
n = DetectorsLengthH
|
|
211
|
-
if
|
|
211
|
+
if power_of_2_cropping:
|
|
212
212
|
n_pow2 = 2 ** math.ceil(math.log2(n))
|
|
213
|
-
if
|
|
213
|
+
if 0.9 < n / n_pow2:
|
|
214
214
|
n = n_pow2
|
|
215
215
|
|
|
216
216
|
odd_horiz = False
|
|
@@ -309,10 +309,7 @@ def _calc_memory_bytes_LPRec3d_tomobar(
|
|
|
309
309
|
DetectorsLengthH_prepad * DetectorsLengthH_prepad * np.float32().itemsize
|
|
310
310
|
)
|
|
311
311
|
ifft2_plan_slice_size = (
|
|
312
|
-
cufft_estimate_2d(
|
|
313
|
-
nx=2 * n, ny=2 * n, fft_type=CufftType.CUFFT_C2C
|
|
314
|
-
)
|
|
315
|
-
/ 2
|
|
312
|
+
cufft_estimate_2d(nx=2 * n, ny=2 * n, fft_type=CufftType.CUFFT_C2C) / 2
|
|
316
313
|
)
|
|
317
314
|
circular_mask_size = np.prod(output_dims) / 2 * np.int64().itemsize * 4
|
|
318
315
|
after_recon_swapaxis_slice = recon_output_size
|
|
@@ -351,38 +348,74 @@ def _calc_memory_bytes_LPRec3d_tomobar(
|
|
|
351
348
|
add_to_memory_counters(tmp_p_input_slice, True)
|
|
352
349
|
if min_mem_usage_filter:
|
|
353
350
|
add_to_memory_counters(rfft_plan_slice_size / 4 / projection_chunk_count, False)
|
|
354
|
-
add_to_memory_counters(
|
|
351
|
+
add_to_memory_counters(
|
|
352
|
+
irfft_plan_slice_size / 4 / projection_chunk_count, False
|
|
353
|
+
)
|
|
355
354
|
add_to_memory_counters(padded_tmp_p_input_slice / projection_chunk_count, False)
|
|
356
355
|
|
|
357
356
|
add_to_memory_counters(rfft_result_size / projection_chunk_count, False)
|
|
358
|
-
add_to_memory_counters(
|
|
357
|
+
add_to_memory_counters(
|
|
358
|
+
filtered_rfft_result_size / projection_chunk_count, False
|
|
359
|
+
)
|
|
359
360
|
add_to_memory_counters(-rfft_result_size / projection_chunk_count, False)
|
|
360
|
-
add_to_memory_counters(
|
|
361
|
+
add_to_memory_counters(
|
|
362
|
+
-padded_tmp_p_input_slice / projection_chunk_count, False
|
|
363
|
+
)
|
|
361
364
|
|
|
362
|
-
add_to_memory_counters(
|
|
363
|
-
|
|
365
|
+
add_to_memory_counters(
|
|
366
|
+
irfft_scratch_memory_size / projection_chunk_count, False
|
|
367
|
+
)
|
|
368
|
+
add_to_memory_counters(
|
|
369
|
+
-irfft_scratch_memory_size / projection_chunk_count, False
|
|
370
|
+
)
|
|
364
371
|
add_to_memory_counters(irfft_result_size / projection_chunk_count, False)
|
|
365
|
-
add_to_memory_counters(
|
|
372
|
+
add_to_memory_counters(
|
|
373
|
+
-filtered_rfft_result_size / projection_chunk_count, False
|
|
374
|
+
)
|
|
366
375
|
|
|
367
376
|
add_to_memory_counters(-irfft_result_size / projection_chunk_count, False)
|
|
368
377
|
else:
|
|
369
|
-
add_to_memory_counters(
|
|
370
|
-
|
|
378
|
+
add_to_memory_counters(
|
|
379
|
+
rfft_plan_slice_size / chunk_count / projection_chunk_count * 2, True
|
|
380
|
+
)
|
|
381
|
+
add_to_memory_counters(
|
|
382
|
+
irfft_plan_slice_size / chunk_count / projection_chunk_count * 2, True
|
|
383
|
+
)
|
|
371
384
|
# add_to_memory_counters(irfft_scratch_memory_size / chunk_count / projection_chunk_count, True)
|
|
372
385
|
for _ in range(0, chunk_count):
|
|
373
|
-
add_to_memory_counters(
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
add_to_memory_counters(
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
add_to_memory_counters(
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
add_to_memory_counters(
|
|
384
|
-
|
|
385
|
-
|
|
386
|
+
add_to_memory_counters(
|
|
387
|
+
padded_tmp_p_input_slice / chunk_count / projection_chunk_count, True
|
|
388
|
+
)
|
|
389
|
+
|
|
390
|
+
add_to_memory_counters(
|
|
391
|
+
rfft_result_size / chunk_count / projection_chunk_count, True
|
|
392
|
+
)
|
|
393
|
+
add_to_memory_counters(
|
|
394
|
+
filtered_rfft_result_size / chunk_count / projection_chunk_count, True
|
|
395
|
+
)
|
|
396
|
+
add_to_memory_counters(
|
|
397
|
+
-rfft_result_size / chunk_count / projection_chunk_count, True
|
|
398
|
+
)
|
|
399
|
+
add_to_memory_counters(
|
|
400
|
+
-padded_tmp_p_input_slice / chunk_count / projection_chunk_count, True
|
|
401
|
+
)
|
|
402
|
+
|
|
403
|
+
add_to_memory_counters(
|
|
404
|
+
irfft_scratch_memory_size / chunk_count / projection_chunk_count, True
|
|
405
|
+
)
|
|
406
|
+
add_to_memory_counters(
|
|
407
|
+
-irfft_scratch_memory_size / chunk_count / projection_chunk_count, True
|
|
408
|
+
)
|
|
409
|
+
add_to_memory_counters(
|
|
410
|
+
irfft_result_size / chunk_count / projection_chunk_count, True
|
|
411
|
+
)
|
|
412
|
+
add_to_memory_counters(
|
|
413
|
+
-filtered_rfft_result_size / chunk_count / projection_chunk_count, True
|
|
414
|
+
)
|
|
415
|
+
|
|
416
|
+
add_to_memory_counters(
|
|
417
|
+
-irfft_result_size / chunk_count / projection_chunk_count, True
|
|
418
|
+
)
|
|
386
419
|
|
|
387
420
|
add_to_memory_counters(-padded_in_slice_size, True)
|
|
388
421
|
add_to_memory_counters(-filter_size, False)
|
|
@@ -433,7 +466,7 @@ def _calc_memory_bytes_SIRT3d_tomobar(
|
|
|
433
466
|
if detector_pad is True:
|
|
434
467
|
detector_pad = __estimate_detectorHoriz_padding(non_slice_dims_shape[1])
|
|
435
468
|
elif detector_pad is False:
|
|
436
|
-
detector_pad = 0
|
|
469
|
+
detector_pad = 0
|
|
437
470
|
|
|
438
471
|
anglesnum = non_slice_dims_shape[0]
|
|
439
472
|
DetectorsLengthH_padded = non_slice_dims_shape[1] + 2 * detector_pad
|
|
@@ -456,7 +489,7 @@ def _calc_memory_bytes_SIRT3d_tomobar(
|
|
|
456
489
|
Res_times_R = Res
|
|
457
490
|
C_times_res = out_data_size
|
|
458
491
|
|
|
459
|
-
astra_projection =
|
|
492
|
+
astra_projection = in_data_size + out_data_size
|
|
460
493
|
|
|
461
494
|
tot_memory_bytes = int(
|
|
462
495
|
recon_data_size_original
|
|
@@ -483,7 +516,7 @@ def _calc_memory_bytes_CGLS3d_tomobar(
|
|
|
483
516
|
if detector_pad is True:
|
|
484
517
|
detector_pad = __estimate_detectorHoriz_padding(non_slice_dims_shape[1])
|
|
485
518
|
elif detector_pad is False:
|
|
486
|
-
detector_pad = 0
|
|
519
|
+
detector_pad = 0
|
|
487
520
|
|
|
488
521
|
anglesnum = non_slice_dims_shape[0]
|
|
489
522
|
DetectorsLengthH_padded = non_slice_dims_shape[1] + 2 * detector_pad
|
|
@@ -535,7 +568,7 @@ def _calc_memory_bytes_FISTA3d_tomobar(
|
|
|
535
568
|
if detector_pad is True:
|
|
536
569
|
detector_pad = __estimate_detectorHoriz_padding(non_slice_dims_shape[1])
|
|
537
570
|
elif detector_pad is False:
|
|
538
|
-
detector_pad = 0
|
|
571
|
+
detector_pad = 0
|
|
539
572
|
|
|
540
573
|
anglesnum = non_slice_dims_shape[0]
|
|
541
574
|
DetectorsLengthH_padded = non_slice_dims_shape[1] + 2 * detector_pad
|
|
@@ -574,5 +607,5 @@ def _calc_memory_bytes_FISTA3d_tomobar(
|
|
|
574
607
|
def __estimate_detectorHoriz_padding(detX_size) -> int:
|
|
575
608
|
det_half = detX_size // 2
|
|
576
609
|
padded_value_exact = int(np.sqrt(2 * (det_half**2))) - det_half
|
|
577
|
-
padded_add_margin =
|
|
610
|
+
padded_add_margin = padded_value_exact // 2
|
|
578
611
|
return padded_value_exact + padded_add_margin
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
module_path: httomolibgpu.misc.morph
|
|
9
9
|
- method: remove_stripe_based_sorting
|
|
10
10
|
module_path: httomolibgpu.prep.stripe
|
|
11
|
-
- method:
|
|
11
|
+
- method: paganin_filter
|
|
12
12
|
module_path: httomolibgpu.prep.phase
|
|
13
13
|
- method: FBP3d_tomobar
|
|
14
14
|
module_path: httomolibgpu.recon.algorithm
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
module_path: httomolibgpu.recon.rotation
|
|
5
5
|
- method: normalize
|
|
6
6
|
module_path: httomolibgpu.prep.normalize
|
|
7
|
-
- method:
|
|
7
|
+
- method: paganin_filter
|
|
8
8
|
module_path: httomolibgpu.prep.phase
|
|
9
|
-
sweep_parameter:
|
|
10
|
-
sweep_values: [
|
|
9
|
+
sweep_parameter: ratio_delta_beta
|
|
10
|
+
sweep_values: [10, 150, 350]
|
|
11
11
|
- method: FBP3d_tomobar
|
|
12
|
-
module_path: httomolibgpu.recon.algorithm
|
|
12
|
+
module_path: httomolibgpu.recon.algorithm
|
{httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/scripts/yaml_pipelines_generator.py
RENAMED
|
@@ -138,7 +138,7 @@ def yaml_pipelines_generator(
|
|
|
138
138
|
|
|
139
139
|
pipeline_full.yaml_set_start_comment(
|
|
140
140
|
"This pipeline should be supported by the latest developments of HTTomo. Use module load httomo/latest module at Diamond."
|
|
141
|
-
)
|
|
141
|
+
)
|
|
142
142
|
|
|
143
143
|
if "loaders" in module_name:
|
|
144
144
|
# should be the first method in the list
|
|
@@ -157,7 +157,7 @@ def yaml_pipelines_generator(
|
|
|
157
157
|
pipeline_full += yaml_template_method
|
|
158
158
|
pipeline_full[i]["parameters"].yaml_add_eol_comment(
|
|
159
159
|
key="ind",
|
|
160
|
-
comment="A vertical slice (sinogram) index to calculate CoR,
|
|
160
|
+
comment="A vertical slice (sinogram) index to calculate CoR, 'mid' can be used for middle",
|
|
161
161
|
)
|
|
162
162
|
pipeline_full[i]["parameters"].yaml_add_eol_comment(
|
|
163
163
|
key="cor_initialisation_value",
|
|
@@ -169,7 +169,7 @@ def yaml_pipelines_generator(
|
|
|
169
169
|
)
|
|
170
170
|
pipeline_full[i]["parameters"].yaml_add_eol_comment(
|
|
171
171
|
key="side",
|
|
172
|
-
comment="'None' corresponds to fully automated determination, '
|
|
172
|
+
comment="'None' corresponds to fully automated determination, 'left' to the left side, 'right' to the right side.",
|
|
173
173
|
)
|
|
174
174
|
pipeline_full[i]["side_outputs"].yaml_add_eol_comment(
|
|
175
175
|
key="cor",
|
|
@@ -182,7 +182,7 @@ def yaml_pipelines_generator(
|
|
|
182
182
|
elif "corr" in module_name and "remove_outlier" in method_name:
|
|
183
183
|
pipeline_full.yaml_set_comment_before_after_key(
|
|
184
184
|
i,
|
|
185
|
-
"--- Removing unresponsive pixels in the data, aka zingers. Use if sharp streaks are present in the reconstruction. To be applied before normalisation. ---",
|
|
185
|
+
"--- Removing unresponsive/dead pixels in the data, aka zingers. Use if sharp streaks are present in the reconstruction. To be applied before normalisation. ---",
|
|
186
186
|
indent=0,
|
|
187
187
|
)
|
|
188
188
|
pipeline_full += yaml_template_method
|
|
@@ -223,7 +223,7 @@ def yaml_pipelines_generator(
|
|
|
223
223
|
elif "sino_360_to_180" in method_name:
|
|
224
224
|
pipeline_full.yaml_set_comment_before_after_key(
|
|
225
225
|
i,
|
|
226
|
-
"--- Using the overlap provided, converting 360 degrees scan to 180 degrees scan. --- ",
|
|
226
|
+
"--- Using the overlap and side provided, converting 360 degrees scan to 180 degrees scan. --- ",
|
|
227
227
|
indent=0,
|
|
228
228
|
)
|
|
229
229
|
pipeline_full += yaml_template_method
|
|
@@ -236,7 +236,7 @@ def yaml_pipelines_generator(
|
|
|
236
236
|
pipeline_full += yaml_template_method
|
|
237
237
|
pipeline_full[i]["parameters"].yaml_add_eol_comment(
|
|
238
238
|
key="minus_log",
|
|
239
|
-
comment="If Paganin method is used bellow, set it to false.",
|
|
239
|
+
comment="If Paganin method is used bellow, set it to 'false'.",
|
|
240
240
|
)
|
|
241
241
|
elif "phase" in module_name:
|
|
242
242
|
pipeline_full.yaml_set_comment_before_after_key(
|
|
@@ -246,8 +246,20 @@ def yaml_pipelines_generator(
|
|
|
246
246
|
)
|
|
247
247
|
pipeline_full += yaml_template_method
|
|
248
248
|
pipeline_full[i]["parameters"].yaml_add_eol_comment(
|
|
249
|
-
key="
|
|
250
|
-
comment="
|
|
249
|
+
key="ratio_delta_beta",
|
|
250
|
+
comment="The ratio of delta/beta for filter strength control. Larger values lead to more smoothing.",
|
|
251
|
+
)
|
|
252
|
+
pipeline_full[i]["parameters"].yaml_add_eol_comment(
|
|
253
|
+
key="pixel_size",
|
|
254
|
+
comment="Detector pixel size (resolution) in MICRON units.",
|
|
255
|
+
)
|
|
256
|
+
pipeline_full[i]["parameters"].yaml_add_eol_comment(
|
|
257
|
+
key="distance",
|
|
258
|
+
comment="Propagation distance of the wavefront from sample to detector in METRE units.",
|
|
259
|
+
)
|
|
260
|
+
pipeline_full[i]["parameters"].yaml_add_eol_comment(
|
|
261
|
+
key="energy",
|
|
262
|
+
comment="Beam energy in keV.",
|
|
251
263
|
)
|
|
252
264
|
elif "stripe" in module_name:
|
|
253
265
|
pipeline_full.yaml_set_comment_before_after_key(
|
|
@@ -269,11 +281,11 @@ def yaml_pipelines_generator(
|
|
|
269
281
|
)
|
|
270
282
|
pipeline_full[i]["parameters"].yaml_add_eol_comment(
|
|
271
283
|
key="detector_pad",
|
|
272
|
-
comment="Horizontal detector padding to minimise circle/arc-type artifacts in the reconstruction. Set to true to enable automatic padding or an integer",
|
|
284
|
+
comment="Horizontal detector padding to minimise circle/arc-type artifacts in the reconstruction. Set to 'true' to enable automatic padding or an integer",
|
|
273
285
|
)
|
|
274
286
|
pipeline_full[i]["parameters"].yaml_add_eol_comment(
|
|
275
287
|
key="recon_mask_radius",
|
|
276
|
-
comment="Zero pixels outside the mask-circle radius.",
|
|
288
|
+
comment="Zero pixels outside the mask-circle radius. Make radius equal to 2.0 to remove the mask effect.",
|
|
277
289
|
)
|
|
278
290
|
pipeline_full[i]["parameters"].yaml_add_eol_comment(
|
|
279
291
|
key="neglog",
|
|
@@ -284,7 +296,7 @@ def yaml_pipelines_generator(
|
|
|
284
296
|
pipeline_full[i]["parameters"]["algorithm"] = "gridrec"
|
|
285
297
|
pipeline_full[i]["parameters"].yaml_add_eol_comment(
|
|
286
298
|
key="algorithm",
|
|
287
|
-
comment="Select the required algorithm, e.g.
|
|
299
|
+
comment="Select the required algorithm, e.g. 'gridrec'",
|
|
288
300
|
)
|
|
289
301
|
elif "denoise" in module_name:
|
|
290
302
|
pipeline_full.yaml_set_comment_before_after_key(
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
recon_size: null
|
|
9
9
|
recon_mask_radius: 0.95
|
|
10
10
|
power_of_2_oversampling: true
|
|
11
|
-
power_of_2_cropping:
|
|
12
|
-
min_mem_usage_filter:
|
|
13
|
-
min_mem_usage_ifft2:
|
|
11
|
+
power_of_2_cropping: false
|
|
12
|
+
min_mem_usage_filter: true
|
|
13
|
+
min_mem_usage_ifft2: true
|
|
14
14
|
neglog: false
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: httomo-backends
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.8.0
|
|
4
4
|
Summary: Supplementary files for HTTomo backends.
|
|
5
5
|
Author: Garry ODonnell, Jacob Williamson
|
|
6
6
|
Author-email: Daniil Kazantsev <daniil.kazantsev@diamond.ac.uk>, Yousef Moazzam <yousef.moazzam@diamond.ac.uk>, Jessica Verschoyle <jessica.verschoyle@diamond.ac.uk>, Naman Gera <naman.gera@diamond.ac.uk>, scientificsoftware@diamond.ac.uk
|
|
@@ -78,7 +78,7 @@ httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.morph/sino_360_to_
|
|
|
78
78
|
httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.rescale/rescale_to_int.yaml
|
|
79
79
|
httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.alignment/distortion_correction_proj_discorpy.yaml
|
|
80
80
|
httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.normalize/normalize.yaml
|
|
81
|
-
httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.phase/
|
|
81
|
+
httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.phase/paganin_filter.yaml
|
|
82
82
|
httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.stripe/raven_filter.yaml
|
|
83
83
|
httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.stripe/remove_all_stripe.yaml
|
|
84
84
|
httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.stripe/remove_stripe_based_sorting.yaml
|
|
@@ -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
|
|
18
|
+
from httomolibgpu.prep.phase import paganin_filter
|
|
19
19
|
from httomolibgpu.prep.alignment import distortion_correction_proj_discorpy
|
|
20
20
|
from httomolibgpu.prep.stripe import (
|
|
21
21
|
remove_stripe_based_sorting,
|
|
@@ -228,11 +228,11 @@ def test_denoiser_PD_TV_memoryhook(ensure_clean_memory, slices):
|
|
|
228
228
|
@pytest.mark.parametrize("slices", [64, 128])
|
|
229
229
|
@pytest.mark.parametrize("dim_x", [81, 260, 320])
|
|
230
230
|
@pytest.mark.parametrize("dim_y", [340, 135, 96])
|
|
231
|
-
def
|
|
231
|
+
def test_paganin_filter_memoryhook(slices, dim_x, dim_y, ensure_clean_memory):
|
|
232
232
|
data = cp.random.random_sample((slices, dim_x, dim_y), dtype=np.float32)
|
|
233
233
|
hook = MaxMemoryHook()
|
|
234
234
|
with hook:
|
|
235
|
-
data_filtered =
|
|
235
|
+
data_filtered = paganin_filter(cp.copy(data)).get()
|
|
236
236
|
|
|
237
237
|
# make sure estimator function is within range (80% min, 100% max)
|
|
238
238
|
max_mem = (
|
|
@@ -240,7 +240,7 @@ def test_paganin_filter_tomopy_memoryhook(slices, dim_x, dim_y, ensure_clean_mem
|
|
|
240
240
|
) # the amount of memory in bytes needed for the method according to memoryhook
|
|
241
241
|
|
|
242
242
|
# now we estimate how much of the total memory required for this data
|
|
243
|
-
(estimated_memory_bytes, subtract_bytes) =
|
|
243
|
+
(estimated_memory_bytes, subtract_bytes) = _calc_memory_bytes_paganin_filter(
|
|
244
244
|
(dim_x, dim_y), dtype=np.float32()
|
|
245
245
|
)
|
|
246
246
|
estimated_memory_mb = round(slices * estimated_memory_bytes / (1024**2), 2)
|
|
@@ -574,7 +574,9 @@ def test_recon_LPRec3d_tomobar_0_pi_memoryhook(
|
|
|
574
574
|
|
|
575
575
|
@pytest.mark.full
|
|
576
576
|
@pytest.mark.cupy
|
|
577
|
-
@pytest.mark.parametrize(
|
|
577
|
+
@pytest.mark.parametrize(
|
|
578
|
+
"min_mem_usage_filter_ifft2", [(False, False), (True, False), (True, True)]
|
|
579
|
+
)
|
|
578
580
|
@pytest.mark.parametrize("power_of_2_cropping", [False, True])
|
|
579
581
|
@pytest.mark.parametrize("padding_detx", [0, 10, 50, 100, 800])
|
|
580
582
|
@pytest.mark.parametrize("projections", [1500, 1801, 2560, 3601])
|
|
@@ -605,7 +607,9 @@ def test_recon_LPRec3d_tomobar_0_pi_memoryhook_full(
|
|
|
605
607
|
|
|
606
608
|
@pytest.mark.full
|
|
607
609
|
@pytest.mark.cupy
|
|
608
|
-
@pytest.mark.parametrize(
|
|
610
|
+
@pytest.mark.parametrize(
|
|
611
|
+
"min_mem_usage_filter_ifft2", [(False, False), (True, False), (True, True)]
|
|
612
|
+
)
|
|
609
613
|
@pytest.mark.parametrize("power_of_2_cropping", [False, True])
|
|
610
614
|
@pytest.mark.parametrize("padding_detx", [0, 10, 50, 100, 800])
|
|
611
615
|
@pytest.mark.parametrize("projections", [1500, 1801, 2560, 3601])
|
|
@@ -742,10 +746,13 @@ def test_recon_SIRT3d_tomobar_memoryhook(slices, recon_size_it, ensure_clean_mem
|
|
|
742
746
|
assert estimated_memory_mb >= max_mem_mb
|
|
743
747
|
assert percents_relative_maxmem <= 100
|
|
744
748
|
|
|
749
|
+
|
|
745
750
|
@pytest.mark.cupy
|
|
746
751
|
@pytest.mark.parametrize("slices", [3])
|
|
747
752
|
@pytest.mark.parametrize("recon_size_it", [2560])
|
|
748
|
-
def test_recon_SIRT3d_tomobar_autopad_memoryhook(
|
|
753
|
+
def test_recon_SIRT3d_tomobar_autopad_memoryhook(
|
|
754
|
+
slices, recon_size_it, ensure_clean_memory
|
|
755
|
+
):
|
|
749
756
|
angles_tot = 901
|
|
750
757
|
det_size = 2560
|
|
751
758
|
data = cp.random.random_sample((angles_tot, slices, det_size), dtype=np.float32)
|
|
@@ -758,8 +765,8 @@ def test_recon_SIRT3d_tomobar_autopad_memoryhook(slices, recon_size_it, ensure_c
|
|
|
758
765
|
recon_data = SIRT3d_tomobar(
|
|
759
766
|
cp.copy(data),
|
|
760
767
|
np.linspace(0.0 * np.pi / 180.0, 180.0 * np.pi / 180.0, data.shape[0]),
|
|
761
|
-
center
|
|
762
|
-
detector_pad
|
|
768
|
+
center=1200,
|
|
769
|
+
detector_pad=True,
|
|
763
770
|
recon_size=recon_size_it,
|
|
764
771
|
iterations=2,
|
|
765
772
|
nonnegativity=True,
|
|
@@ -803,8 +810,8 @@ def test_recon_CGLS3d_tomobar_memoryhook(slices, recon_size_it, ensure_clean_mem
|
|
|
803
810
|
recon_data = CGLS3d_tomobar(
|
|
804
811
|
cp.copy(data),
|
|
805
812
|
np.linspace(0.0 * np.pi / 180.0, 180.0 * np.pi / 180.0, data.shape[0]),
|
|
806
|
-
center
|
|
807
|
-
detector_pad
|
|
813
|
+
center=1200,
|
|
814
|
+
detector_pad=False,
|
|
808
815
|
recon_size=recon_size_it,
|
|
809
816
|
iterations=2,
|
|
810
817
|
nonnegativity=True,
|
|
@@ -835,7 +842,9 @@ def test_recon_CGLS3d_tomobar_memoryhook(slices, recon_size_it, ensure_clean_mem
|
|
|
835
842
|
@pytest.mark.cupy
|
|
836
843
|
@pytest.mark.parametrize("slices", [3])
|
|
837
844
|
@pytest.mark.parametrize("recon_size_it", [2560])
|
|
838
|
-
def test_recon_CGLS3d_tomobar_autopad_memoryhook(
|
|
845
|
+
def test_recon_CGLS3d_tomobar_autopad_memoryhook(
|
|
846
|
+
slices, recon_size_it, ensure_clean_memory
|
|
847
|
+
):
|
|
839
848
|
angles_tot = 901
|
|
840
849
|
det_size = 2560
|
|
841
850
|
data = cp.random.random_sample((angles_tot, slices, det_size), dtype=np.float32)
|
|
@@ -848,8 +857,8 @@ def test_recon_CGLS3d_tomobar_autopad_memoryhook(slices, recon_size_it, ensure_c
|
|
|
848
857
|
recon_data = CGLS3d_tomobar(
|
|
849
858
|
cp.copy(data),
|
|
850
859
|
np.linspace(0.0 * np.pi / 180.0, 180.0 * np.pi / 180.0, data.shape[0]),
|
|
851
|
-
center
|
|
852
|
-
detector_pad
|
|
860
|
+
center=1200,
|
|
861
|
+
detector_pad=True,
|
|
853
862
|
recon_size=recon_size_it,
|
|
854
863
|
iterations=2,
|
|
855
864
|
nonnegativity=True,
|
|
@@ -876,6 +885,7 @@ def test_recon_CGLS3d_tomobar_autopad_memoryhook(slices, recon_size_it, ensure_c
|
|
|
876
885
|
assert estimated_memory_mb >= max_mem_mb
|
|
877
886
|
assert percents_relative_maxmem <= 85
|
|
878
887
|
|
|
888
|
+
|
|
879
889
|
@pytest.mark.cupy
|
|
880
890
|
@pytest.mark.parametrize("slices", [3, 5])
|
|
881
891
|
@pytest.mark.parametrize("recon_size_it", [2560])
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/methods_database/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/scripts/json_pipelines_generator.py
RENAMED
|
File without changes
|
{httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/scripts/yaml_templates_generator.py
RENAMED
|
File without changes
|
|
File without changes
|
{httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomo/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/httomolib/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends/yaml_templates/tomopy/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{httomo_backends-0.7.2 → httomo_backends-0.8.0}/httomo_backends.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|