httomo-backends 0.7.1__py3-none-any.whl → 0.8.0__py3-none-any.whl

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.
@@ -78,7 +78,7 @@ prep:
78
78
  multiplier: None
79
79
  method: module
80
80
  phase:
81
- paganin_filter_tomopy:
81
+ paganin_filter:
82
82
  pattern: projection
83
83
  output_dims_change: False
84
84
  implementation: gpu_cupy
@@ -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
- "_calc_memory_bytes_paganin_filter_tomopy",
29
+ "_calc_memory_bytes_paganin_filter",
31
30
  ]
32
31
 
33
32
 
34
- def _calc_memory_bytes_paganin_filter_tomopy(
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 = _shift_bit_length(dim_len + 1) - dim_len
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:
@@ -197,6 +197,9 @@ def _calc_memory_bytes_LPRec3d_tomobar(
197
197
  min_mem_usage_ifft2 = False
198
198
  if "min_mem_usage_ifft2" in kwargs:
199
199
  min_mem_usage_ifft2 = kwargs["min_mem_usage_ifft2"]
200
+ power_of_2_cropping = False
201
+ if "power_of_2_cropping" in kwargs:
202
+ power_of_2_cropping = kwargs["power_of_2_cropping"]
200
203
 
201
204
  angles_tot = non_slice_dims_shape[0]
202
205
  DetectorsLengthH_prepad = non_slice_dims_shape[1]
@@ -205,6 +208,10 @@ def _calc_memory_bytes_LPRec3d_tomobar(
205
208
  _CENTER_SIZE_MIN = 192 # must be divisible by 8
206
209
 
207
210
  n = DetectorsLengthH
211
+ if power_of_2_cropping:
212
+ n_pow2 = 2 ** math.ceil(math.log2(n))
213
+ if 0.9 < n / n_pow2:
214
+ n = n_pow2
208
215
 
209
216
  odd_horiz = False
210
217
  if (n % 2) != 0:
@@ -302,10 +309,7 @@ def _calc_memory_bytes_LPRec3d_tomobar(
302
309
  DetectorsLengthH_prepad * DetectorsLengthH_prepad * np.float32().itemsize
303
310
  )
304
311
  ifft2_plan_slice_size = (
305
- cufft_estimate_2d(
306
- nx=2 * n, ny=2 * n, fft_type=CufftType.CUFFT_C2C
307
- )
308
- / 2
312
+ cufft_estimate_2d(nx=2 * n, ny=2 * n, fft_type=CufftType.CUFFT_C2C) / 2
309
313
  )
310
314
  circular_mask_size = np.prod(output_dims) / 2 * np.int64().itemsize * 4
311
315
  after_recon_swapaxis_slice = recon_output_size
@@ -344,38 +348,74 @@ def _calc_memory_bytes_LPRec3d_tomobar(
344
348
  add_to_memory_counters(tmp_p_input_slice, True)
345
349
  if min_mem_usage_filter:
346
350
  add_to_memory_counters(rfft_plan_slice_size / 4 / projection_chunk_count, False)
347
- add_to_memory_counters(irfft_plan_slice_size / 4 / projection_chunk_count, False)
351
+ add_to_memory_counters(
352
+ irfft_plan_slice_size / 4 / projection_chunk_count, False
353
+ )
348
354
  add_to_memory_counters(padded_tmp_p_input_slice / projection_chunk_count, False)
349
355
 
350
356
  add_to_memory_counters(rfft_result_size / projection_chunk_count, False)
351
- add_to_memory_counters(filtered_rfft_result_size / projection_chunk_count, False)
357
+ add_to_memory_counters(
358
+ filtered_rfft_result_size / projection_chunk_count, False
359
+ )
352
360
  add_to_memory_counters(-rfft_result_size / projection_chunk_count, False)
353
- add_to_memory_counters(-padded_tmp_p_input_slice / projection_chunk_count, False)
361
+ add_to_memory_counters(
362
+ -padded_tmp_p_input_slice / projection_chunk_count, False
363
+ )
354
364
 
355
- add_to_memory_counters(irfft_scratch_memory_size / projection_chunk_count, False)
356
- add_to_memory_counters(-irfft_scratch_memory_size / projection_chunk_count, False)
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
+ )
357
371
  add_to_memory_counters(irfft_result_size / projection_chunk_count, False)
358
- add_to_memory_counters(-filtered_rfft_result_size / projection_chunk_count, False)
372
+ add_to_memory_counters(
373
+ -filtered_rfft_result_size / projection_chunk_count, False
374
+ )
359
375
 
360
376
  add_to_memory_counters(-irfft_result_size / projection_chunk_count, False)
361
377
  else:
362
- add_to_memory_counters(rfft_plan_slice_size / chunk_count / projection_chunk_count * 2, True)
363
- add_to_memory_counters(irfft_plan_slice_size / chunk_count / projection_chunk_count * 2, True)
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
+ )
364
384
  # add_to_memory_counters(irfft_scratch_memory_size / chunk_count / projection_chunk_count, True)
365
385
  for _ in range(0, chunk_count):
366
- add_to_memory_counters(padded_tmp_p_input_slice / chunk_count / projection_chunk_count, True)
367
-
368
- add_to_memory_counters(rfft_result_size / chunk_count / projection_chunk_count, True)
369
- add_to_memory_counters(filtered_rfft_result_size / chunk_count / projection_chunk_count, True)
370
- add_to_memory_counters(-rfft_result_size / chunk_count / projection_chunk_count, True)
371
- add_to_memory_counters(-padded_tmp_p_input_slice / chunk_count / projection_chunk_count, True)
372
-
373
- add_to_memory_counters(irfft_scratch_memory_size / chunk_count / projection_chunk_count, True)
374
- add_to_memory_counters(-irfft_scratch_memory_size / chunk_count / projection_chunk_count, True)
375
- add_to_memory_counters(irfft_result_size / chunk_count / projection_chunk_count, True)
376
- add_to_memory_counters(-filtered_rfft_result_size / chunk_count / projection_chunk_count, True)
377
-
378
- add_to_memory_counters(-irfft_result_size / chunk_count / projection_chunk_count, True)
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
+ )
379
419
 
380
420
  add_to_memory_counters(-padded_in_slice_size, True)
381
421
  add_to_memory_counters(-filter_size, False)
@@ -426,7 +466,7 @@ def _calc_memory_bytes_SIRT3d_tomobar(
426
466
  if detector_pad is True:
427
467
  detector_pad = __estimate_detectorHoriz_padding(non_slice_dims_shape[1])
428
468
  elif detector_pad is False:
429
- detector_pad = 0
469
+ detector_pad = 0
430
470
 
431
471
  anglesnum = non_slice_dims_shape[0]
432
472
  DetectorsLengthH_padded = non_slice_dims_shape[1] + 2 * detector_pad
@@ -449,7 +489,7 @@ def _calc_memory_bytes_SIRT3d_tomobar(
449
489
  Res_times_R = Res
450
490
  C_times_res = out_data_size
451
491
 
452
- astra_projection = (in_data_size + out_data_size)
492
+ astra_projection = in_data_size + out_data_size
453
493
 
454
494
  tot_memory_bytes = int(
455
495
  recon_data_size_original
@@ -476,7 +516,7 @@ def _calc_memory_bytes_CGLS3d_tomobar(
476
516
  if detector_pad is True:
477
517
  detector_pad = __estimate_detectorHoriz_padding(non_slice_dims_shape[1])
478
518
  elif detector_pad is False:
479
- detector_pad = 0
519
+ detector_pad = 0
480
520
 
481
521
  anglesnum = non_slice_dims_shape[0]
482
522
  DetectorsLengthH_padded = non_slice_dims_shape[1] + 2 * detector_pad
@@ -528,7 +568,7 @@ def _calc_memory_bytes_FISTA3d_tomobar(
528
568
  if detector_pad is True:
529
569
  detector_pad = __estimate_detectorHoriz_padding(non_slice_dims_shape[1])
530
570
  elif detector_pad is False:
531
- detector_pad = 0
571
+ detector_pad = 0
532
572
 
533
573
  anglesnum = non_slice_dims_shape[0]
534
574
  DetectorsLengthH_padded = non_slice_dims_shape[1] + 2 * detector_pad
@@ -567,5 +607,5 @@ def _calc_memory_bytes_FISTA3d_tomobar(
567
607
  def __estimate_detectorHoriz_padding(detX_size) -> int:
568
608
  det_half = detX_size // 2
569
609
  padded_value_exact = int(np.sqrt(2 * (det_half**2))) - det_half
570
- padded_add_margin = int(0.1 * padded_value_exact)
610
+ padded_add_margin = padded_value_exact // 2
571
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: paganin_filter_tomopy
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: paganin_filter_tomopy
7
+ - method: paganin_filter
8
8
  module_path: httomolibgpu.prep.phase
9
- sweep_parameter: alpha
10
- sweep_values: [0.01, 0.001, 0.0001]
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
@@ -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, `mid` can be used for middle",
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, '0' to the left side, '1' to the right side.",
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="alpha",
250
- comment="Controls the balance between the strength of the filter and the amount of noise reduction. Smaller values lead to less noise and more blur.",
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. `gridrec`",
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(
@@ -0,0 +1,7 @@
1
+ - method: paganin_filter
2
+ module_path: httomolibgpu.prep.phase
3
+ parameters:
4
+ pixel_size: 1.28
5
+ distance: 1.0
6
+ energy: 53.0
7
+ ratio_delta_beta: 250
@@ -8,6 +8,7 @@
8
8
  recon_size: null
9
9
  recon_mask_radius: 0.95
10
10
  power_of_2_oversampling: true
11
- min_mem_usage_filter: false
12
- min_mem_usage_ifft2: false
11
+ power_of_2_cropping: false
12
+ min_mem_usage_filter: true
13
+ min_mem_usage_ifft2: true
13
14
  neglog: false
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: httomo-backends
3
- Version: 0.7.1
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
@@ -22,7 +22,6 @@ Requires-Dist: h5py
22
22
  Requires-Dist: astra-toolbox
23
23
  Requires-Dist: tomobar
24
24
  Requires-Dist: scikit-image
25
- Requires-Dist: ccpi-regularisation-cupy
26
25
  Provides-Extra: dev
27
26
  Requires-Dist: pytest; extra == "dev"
28
27
  Requires-Dist: pytest-mock; extra == "dev"
@@ -7,7 +7,7 @@ httomo_backends/methods_database/packages/httomo.yaml,sha256=tI3D-7IJcdu4EbKwjsj
7
7
  httomo_backends/methods_database/packages/backends/httomolib/httomolib.yaml,sha256=8l2Z6GGlXIIe2vcX85GK4wis5zxhgmg7EmlwLMV_rtI,938
8
8
  httomo_backends/methods_database/packages/backends/httomolib/httomolib_modules.yaml,sha256=tbvivxcAc90Wu36v1yFnGN-WqBIA1NHGWrg_D28UXi8,117
9
9
  httomo_backends/methods_database/packages/backends/httomolibgpu/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
- httomo_backends/methods_database/packages/backends/httomolibgpu/httomolibgpu.yaml,sha256=Y1a3J_OCeojiG4HhbRPkDdJ0KvdpGARkEk6k5OcIzHY,5347
10
+ httomo_backends/methods_database/packages/backends/httomolibgpu/httomolibgpu.yaml,sha256=OCAjJSM5PlfkN3kkXKW9QWhr1WGWfFIToNUQFrj_dFQ,5340
11
11
  httomo_backends/methods_database/packages/backends/httomolibgpu/httomolibgpu_modules.yaml,sha256=HZWQ74Ygi25hjNg7wR9muPDdmN8STtOMY-LXWaTfspc,282
12
12
  httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
13
  httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/misc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -17,10 +17,10 @@ httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs
17
17
  httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/misc/rescale.py,sha256=iFE8X-GR9zjuFLbBE_glQL8wMoXOjkzcaleflm8VVzA,574
18
18
  httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/prep/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
19
  httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/prep/normalize.py,sha256=Ekxyp3j5bpg2-4iZmXI49VEBFFYUV6rfYBEqGdaqV6M,645
20
- httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/prep/phase.py,sha256=kYznizW0jMVJdGyuE10McVLsWWggUsP5bvJiHEVvSSM,4075
20
+ httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/prep/phase.py,sha256=gzrQJ-T2iBqhlWq3LmXKn_sLK5K__u1LtxoZYZjBDsQ,4070
21
21
  httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/prep/stripe.py,sha256=KnS8IpcXaLeiIWr4qAKwOrcK1vS9zrU6u5gOITZ159k,4623
22
22
  httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/recon/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
- httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/recon/algorithm.py,sha256=CuiMAxu7qG0I41XiucrvSf2kZHjid_dgD0gUXF9cE0k,21267
23
+ httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/recon/algorithm.py,sha256=76Fl19BNMm2mo1gciAe_08QWSe5xmU5R2cpTFjelha0,21931
24
24
  httomo_backends/methods_database/packages/backends/httomolibgpu/supporting_funcs/recon/peak_memory_line_profile_hook.py,sha256=hb-CyqD5TKxDg6Rg5fvFeXIO2nvjbp_XMTeRdJZ8ONo,6347
25
25
  httomo_backends/methods_database/packages/backends/tomopy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
26
26
  httomo_backends/methods_database/packages/backends/tomopy/tomopy.yaml,sha256=URe18BAV1EbGLil53t88T42BuKSiUHz6r3uzs_wo8Ug,11215
@@ -40,14 +40,14 @@ httomo_backends/pipelines_full/FISTA3d_tomobar_directive.yaml,sha256=xuBtnN3vT2t
40
40
  httomo_backends/pipelines_full/LPRec3d_tomobar_directive.yaml,sha256=c6c-cXCstUgLVqprfMFVdxzcTCeE8H-Dnhq7kmSIhYc,577
41
41
  httomo_backends/pipelines_full/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
42
42
  httomo_backends/pipelines_full/deg360_distortion_FBP3d_tomobar_directive.yaml,sha256=3Ht3yAzi97VW29OfvDE9j_p3NYbZfHDlfZMuRivsdKo,676
43
- httomo_backends/pipelines_full/deg360_paganin_FBP3d_tomobar_directive.yaml,sha256=Qikcxqq_b3_9TpaOg5eSlYqfs1Vj9l30vx56cl5YoVI,660
43
+ httomo_backends/pipelines_full/deg360_paganin_FBP3d_tomobar_directive.yaml,sha256=q15zplcnr4i5EFw4F0pi2-dhqxvOkhLyAjqnVQMnoi0,653
44
44
  httomo_backends/pipelines_full/sweep_center_FBP3d_tomobar_directive.yaml,sha256=ERai5NvyAQz9-1EAdMUw3XkjlMvZhh6LCtXQpRh7mv4,277
45
- httomo_backends/pipelines_full/sweep_paganin_FBP3d_tomobar_directive.yaml,sha256=qoiY62uP5kHSL4qqSThJAaMwHq4PTN-dJSNRsBFxyQw,397
45
+ httomo_backends/pipelines_full/sweep_paganin_FBP3d_tomobar_directive.yaml,sha256=Y1K7Dl_Bs_6nU_oBGEEchn3l8TL0VSKq023IDQU4ZPo,395
46
46
  httomo_backends/pipelines_full/titaren_center_pc_FBP3d_resample_directive.yaml,sha256=lhT-jE2karklr_-cgEyvPRYLVwNGJgpf8XBI1r1TMLc,574
47
47
  httomo_backends/pipelines_full/tomopy_gridrec_directive.yaml,sha256=NlrX-mqyzjJvwGotTLwosBnC4d9pPRNB1JWFA7YXHuM,533
48
48
  httomo_backends/scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
49
49
  httomo_backends/scripts/json_pipelines_generator.py,sha256=iWTsYr1i0Ei77Imaml5HXWvZUUeX-tkU1WRIdxskV3M,8322
50
- httomo_backends/scripts/yaml_pipelines_generator.py,sha256=t_B3qJ0AGsjzd1_rSp76pC-9o4JbO7e28UIfWcN9olk,16393
50
+ httomo_backends/scripts/yaml_pipelines_generator.py,sha256=nY66CcAc2HK8ViUyOEk1ezQsEEVylD3HfhfWkaA6e3k,17030
51
51
  httomo_backends/scripts/yaml_templates_generator.py,sha256=NjE5q8YXxkXjA-9WTg4YB8ccawNA0veeJE1C8yyWqlI,8532
52
52
  httomo_backends/scripts/yaml_unsupported_tomopy_remove.py,sha256=R3ZAfFgpVsBWS7zBjLlU83-66nawo7EBegFsIAHBWmQ,3715
53
53
  httomo_backends/yaml_templates/httomo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -70,7 +70,7 @@ httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.morph/sino_360_to_
70
70
  httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.misc.rescale/rescale_to_int.yaml,sha256=WR_exoyowYnXgDOUH5JYGPQ17-MfUayuVkNwMQTHzac,198
71
71
  httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.alignment/distortion_correction_proj_discorpy.yaml,sha256=KxWTzuZOoHUymFt4OJZVT7jhPs6oAuUmSQskQJqKwZk,163
72
72
  httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.normalize/normalize.yaml,sha256=PIfA4jwCmnWtz7V5n0Zng8lPvD4h1YyIriBSL39CtVM,214
73
- httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.phase/paganin_filter_tomopy.yaml,sha256=sHWZibK7drnBufYVOND9LZATaBRMtHKkbbBoquCBcmE,157
73
+ httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.phase/paganin_filter.yaml,sha256=7UVaKZD9JpVguIZONF3Q1wieqHAsE323tzCTEIW7WdA,160
74
74
  httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.stripe/raven_filter.yaml,sha256=SDqgP_RLq7jjnL9Fz7hfrKko4F7-yahCsabBIJ0XMC8,169
75
75
  httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.stripe/remove_all_stripe.yaml,sha256=MfoMeF_C2zRE7-W5cknhmG9-a5QYb5lpSdz9dwOndJQ,138
76
76
  httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.prep.stripe/remove_stripe_based_sorting.yaml,sha256=xyv_XKqFhs801VcsMUfWPHiKvek0qh8RhkbnInWR5i8,116
@@ -79,7 +79,7 @@ httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/CGLS3d_
79
79
  httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/FBP2d_astra.yaml,sha256=MxUbW-dMxMrI4Exn5mgh2ovie4Ldv1Eb-zS68ETsNCU,301
80
80
  httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/FBP3d_tomobar.yaml,sha256=H9-PTd8qW2qXqgHYw-NfZGgy2yut7ReKsbsR3x0_OOA,261
81
81
  httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/FISTA3d_tomobar.yaml,sha256=i2K7Yc19VY6uZZR8bVjb85jpWIShlM_yCGD-Z5Eb-5E,442
82
- httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/LPRec3d_tomobar.yaml,sha256=X_qcuTOcFW_rXaXU-XhZYQUaPkOgKe5r7uX5stpf1mE,382
82
+ httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/LPRec3d_tomobar.yaml,sha256=qqHNsYxW4D3QggXkJQGFSLKZ0mR4h_LIxR379g51HVc,411
83
83
  httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.algorithm/SIRT3d_tomobar.yaml,sha256=oom622LQ8xAZbZiHm4t0PSKKsMkX5G743vVBqRbMQek,277
84
84
  httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.rotation/find_center_360.yaml,sha256=nXjbgTBDQcIlBWvXwMd8FoNimtq-8QabgNWAI-fiFU8,322
85
85
  httomo_backends/yaml_templates/httomolibgpu/httomolibgpu.recon.rotation/find_center_pc.yaml,sha256=g3CNIaLhhBI6igluIMwytFqVXzrDlv8A1EU1C7ey4FE,208
@@ -144,8 +144,8 @@ httomo_backends/yaml_templates/tomopy/tomopy.sim.project/add_zingers.yaml,sha256
144
144
  httomo_backends/yaml_templates/tomopy/tomopy.sim.project/project.yaml,sha256=XBVhW5ZxT9C89tHcwDG7OOgcWNdNtQq97mqlBEoiMnU,202
145
145
  httomo_backends/yaml_templates/tomopy/tomopy.sim.project/project2.yaml,sha256=5raeQ-w9nS9mbAzn2ZqhPjdcyfLOkkJflKNStdEnYRA,238
146
146
  httomo_backends/yaml_templates/tomopy/tomopy.sim.project/project3.yaml,sha256=oyofKSMi-_dSpfjrKVMNDqoBhBCCSYbEVRz2Lsc8uTI,257
147
- httomo_backends-0.7.1.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
148
- httomo_backends-0.7.1.dist-info/METADATA,sha256=fifr2fnWW5CvPDXWR1WA-9McdqN4LCbmtWW_QRf7BUI,2312
149
- httomo_backends-0.7.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
150
- httomo_backends-0.7.1.dist-info/top_level.txt,sha256=v4x8d4CeEyMwo8QoqIvL_p-WoXAVD1bVnASPIrLjSTg,16
151
- httomo_backends-0.7.1.dist-info/RECORD,,
147
+ httomo_backends-0.8.0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
148
+ httomo_backends-0.8.0.dist-info/METADATA,sha256=G9IVCwxGSE39qlVAwr1LCubkFrjMeJHUXDuOuqnjqYU,2272
149
+ httomo_backends-0.8.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
150
+ httomo_backends-0.8.0.dist-info/top_level.txt,sha256=v4x8d4CeEyMwo8QoqIvL_p-WoXAVD1bVnASPIrLjSTg,16
151
+ httomo_backends-0.8.0.dist-info/RECORD,,
@@ -1,7 +0,0 @@
1
- - method: paganin_filter_tomopy
2
- module_path: httomolibgpu.prep.phase
3
- parameters:
4
- pixel_size: 0.0001
5
- dist: 50.0
6
- energy: 53.0
7
- alpha: 0.001