nabu 2024.1.1__py3-none-any.whl → 2024.1.2__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.
Files changed (2095) hide show
  1. nabu/__init__.py +1 -1
  2. nabu/app/cast_volume.py +11 -2
  3. nabu/app/multicor.py +24 -2
  4. nabu/io/cast_volume.py +3 -3
  5. nabu/io/utils.py +2 -2
  6. nabu/stitching/tests/test_z_stitching.py +0 -1
  7. nabu/stitching/z_stitching.py +3 -3
  8. {nabu-2024.1.1.dist-info → nabu-2024.1.2.dist-info}/METADATA +2 -2
  9. nabu-2024.1.2.dist-info/RECORD +296 -0
  10. {nabu-2024.1.1.dist-info → nabu-2024.1.2.dist-info}/WHEEL +1 -1
  11. nabu-2024.1.2.dist-info/top_level.txt +2 -0
  12. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/doc/conf.py +0 -137
  13. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/doc/create_conf_doc.py +0 -38
  14. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/doc/get_mathjax.py +0 -34
  15. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/__init__.py +0 -17
  16. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/bootstrap.py +0 -88
  17. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/bootstrap_stitching.py +0 -69
  18. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/cast_volume.py +0 -272
  19. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/cli_configs.py +0 -626
  20. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/compare_volumes.py +0 -94
  21. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/composite_cor.py +0 -144
  22. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/correct_rot.py +0 -70
  23. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/create_distortion_map_from_poly.py +0 -153
  24. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/diag_to_pix.py +0 -358
  25. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/diag_to_rot.py +0 -449
  26. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/double_flatfield.py +0 -143
  27. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/generate_header.py +0 -261
  28. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/histogram.py +0 -197
  29. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/multicor.py +0 -90
  30. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/nx_z_splitter.py +0 -125
  31. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/parse_reconstruction_log.py +0 -151
  32. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/prepare_weights_double.py +0 -163
  33. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/reconstruct.py +0 -120
  34. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/reconstruct_helical.py +0 -116
  35. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/reduce_dark_flat.py +0 -181
  36. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/rotate.py +0 -162
  37. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/shrink_dataset.py +0 -98
  38. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/stitching.py +0 -85
  39. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/tests/test_reduce_dark_flat.py +0 -78
  40. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/utils.py +0 -33
  41. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/validator.py +0 -110
  42. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/cuda/__init__.py +0 -0
  43. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/cuda/convolution.py +0 -8
  44. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/cuda/fft.py +0 -4
  45. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/cuda/kernel.py +0 -97
  46. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/cuda/medfilt.py +0 -6
  47. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/cuda/padding.py +0 -6
  48. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/cuda/processing.py +0 -75
  49. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/cuda/tests/__init__.py +0 -1
  50. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/cuda/utils.py +0 -331
  51. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/__init__.py +0 -12
  52. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/alignment.py +0 -578
  53. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/cor.py +0 -1621
  54. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/cor_sino.py +0 -183
  55. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/distortion.py +0 -112
  56. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/focus.py +0 -362
  57. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/tests/__init__.py +0 -0
  58. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/tests/test_alignment.py +0 -70
  59. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/tests/test_cor.py +0 -472
  60. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/tests/test_focus.py +0 -105
  61. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/tests/test_tilt.py +0 -41
  62. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/tests/test_translation.py +0 -78
  63. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/tilt.py +0 -214
  64. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/translation.py +0 -193
  65. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/utils.py +0 -39
  66. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/io/__init__.py +0 -2
  67. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/io/cast_volume.py +0 -371
  68. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/io/detector_distortion.py +0 -305
  69. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/io/reader.py +0 -628
  70. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/io/reader_helical.py +0 -114
  71. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/io/tests/__init__.py +0 -0
  72. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/io/tests/test_cast_volume.py +0 -339
  73. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/io/tests/test_detector_distortion.py +0 -178
  74. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/io/tests/test_writers.py +0 -187
  75. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/io/tiffwriter_zmm.py +0 -99
  76. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/io/utils.py +0 -263
  77. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/io/writer.py +0 -892
  78. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/__init__.py +0 -0
  79. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/binning.py +0 -98
  80. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/fftshift.py +0 -6
  81. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/filters.py +0 -24
  82. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/fourier_filters.py +0 -152
  83. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/histogram.py +0 -6
  84. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/histogram_cuda.py +0 -8
  85. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/kernel_base.py +0 -4
  86. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/padding.py +0 -83
  87. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/padding_base.py +0 -6
  88. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/processing_base.py +0 -4
  89. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/rotation.py +0 -6
  90. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/rotation_cuda.py +0 -6
  91. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/tests/__init__.py +0 -1
  92. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/tests/test_binning.py +0 -48
  93. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/tests/test_interpolation.py +0 -70
  94. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/transpose.py +0 -6
  95. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/unsharp.py +0 -4
  96. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/unsharp_cuda.py +0 -6
  97. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/unsharp_opencl.py +0 -8
  98. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/utils.py +0 -117
  99. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/opencl/__init__.py +0 -0
  100. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/opencl/fft.py +0 -6
  101. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/opencl/kernel.py +0 -135
  102. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/opencl/memcpy.py +0 -35
  103. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/opencl/padding.py +0 -6
  104. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/opencl/processing.py +0 -62
  105. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/opencl/tests/__init__.py +0 -0
  106. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/opencl/utils.py +0 -292
  107. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/__init__.py +0 -0
  108. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/config.py +0 -265
  109. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/config_validators.py +0 -589
  110. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/datadump.py +0 -164
  111. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/dataset_validator.py +0 -211
  112. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/detector_distortion_provider.py +0 -20
  113. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/estimators.py +0 -1012
  114. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/fallback_utils.py +0 -149
  115. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/fullfield/__init__.py +0 -0
  116. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/fullfield/chunked.py +0 -849
  117. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/fullfield/chunked_cuda.py +0 -152
  118. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/fullfield/computations.py +0 -260
  119. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/fullfield/dataset_validator.py +0 -63
  120. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/fullfield/nabu_config.py +0 -590
  121. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/fullfield/processconfig.py +0 -825
  122. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/fullfield/reconstruction.py +0 -851
  123. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/__init__.py +0 -0
  124. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/dataset_validator.py +0 -19
  125. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/fbp.py +0 -147
  126. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/filtering.py +0 -246
  127. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/gridded_accumulator.py +0 -575
  128. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/helical_chunked_regridded.py +0 -1670
  129. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/helical_chunked_regridded_cuda.py +0 -119
  130. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/helical_reconstruction.py +0 -598
  131. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/helical_utils.py +0 -42
  132. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/nabu_config.py +0 -175
  133. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/processconfig.py +0 -62
  134. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/span_strategy.py +0 -483
  135. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/tests/__init__.py +0 -0
  136. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/tests/test_accumulator.py +0 -157
  137. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/tests/test_pipeline_elements_full.py +0 -355
  138. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/tests/test_strategy.py +0 -61
  139. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/utils.py +0 -51
  140. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/weight_balancer.py +0 -101
  141. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/params.py +0 -163
  142. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/processconfig.py +0 -210
  143. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/tests/test_chunk_reader.py +0 -78
  144. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/tests/test_estimators.py +0 -149
  145. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/utils.py +0 -116
  146. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/writer.py +0 -193
  147. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/xrdct/__init__.py +0 -0
  148. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/__init__.py +0 -7
  149. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/alignment.py +0 -11
  150. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/ccd.py +0 -161
  151. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/ccd_cuda.py +0 -169
  152. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/ctf.py +0 -361
  153. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/ctf_cuda.py +0 -142
  154. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/distortion.py +0 -92
  155. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/double_flatfield.py +0 -212
  156. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/double_flatfield_cuda.py +0 -174
  157. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/double_flatfield_variable_region.py +0 -68
  158. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/flatfield.py +0 -448
  159. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/flatfield_cuda.py +0 -144
  160. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/flatfield_variable_region.py +0 -79
  161. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/phase.py +0 -425
  162. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/phase_cuda.py +0 -143
  163. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/shift.py +0 -95
  164. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/shift_cuda.py +0 -102
  165. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/tests/__init__.py +0 -1
  166. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/tests/test_ccd_corr.py +0 -59
  167. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/tests/test_ctf.py +0 -250
  168. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/tests/test_double_flatfield.py +0 -86
  169. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/tests/test_flatfield.py +0 -626
  170. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/tests/test_paganin.py +0 -67
  171. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/tests/test_vshift.py +0 -73
  172. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/__init__.py +0 -0
  173. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/convolution_cuda.py +0 -375
  174. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/fft_base.py +0 -163
  175. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/fft_cuda.py +0 -256
  176. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/fft_opencl.py +0 -54
  177. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/fftshift.py +0 -134
  178. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/histogram.py +0 -286
  179. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/histogram_cuda.py +0 -103
  180. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/kernel_base.py +0 -126
  181. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/medfilt_cuda.py +0 -159
  182. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/muladd.py +0 -29
  183. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/muladd_cuda.py +0 -68
  184. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/padding_base.py +0 -71
  185. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/padding_cuda.py +0 -75
  186. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/padding_opencl.py +0 -77
  187. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/processing_base.py +0 -123
  188. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/roll_opencl.py +0 -64
  189. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/rotation.py +0 -63
  190. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/rotation_cuda.py +0 -66
  191. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/__init__.py +0 -0
  192. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_fft.py +0 -268
  193. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_fftshift.py +0 -71
  194. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_histogram.py +0 -55
  195. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_medfilt.py +0 -77
  196. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_muladd.py +0 -54
  197. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_padding.py +0 -247
  198. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_roll.py +0 -63
  199. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_rotation.py +0 -83
  200. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_transpose.py +0 -72
  201. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_unsharp.py +0 -106
  202. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/transpose.py +0 -126
  203. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/unsharp.py +0 -79
  204. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/unsharp_cuda.py +0 -53
  205. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/unsharp_opencl.py +0 -75
  206. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/__init__.py +0 -3
  207. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/cone.py +0 -241
  208. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/fbp.py +0 -124
  209. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/fbp_base.py +0 -391
  210. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/fbp_opencl.py +0 -78
  211. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/filtering.py +0 -220
  212. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/filtering_cuda.py +0 -103
  213. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/filtering_opencl.py +0 -111
  214. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/projection.py +0 -240
  215. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/reconstructor.py +0 -174
  216. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/reconstructor_cuda.py +0 -44
  217. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/rings.py +0 -248
  218. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/rings_cuda.py +0 -322
  219. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/sinogram.py +0 -467
  220. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/sinogram_cuda.py +0 -250
  221. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/sinogram_opencl.py +0 -40
  222. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/tests/__init__.py +0 -1
  223. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/tests/test_cone.py +0 -308
  224. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/tests/test_deringer.py +0 -220
  225. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/tests/test_fbp.py +0 -252
  226. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/tests/test_filtering.py +0 -133
  227. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/tests/test_halftomo.py +0 -100
  228. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/tests/test_projector.py +0 -164
  229. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/tests/test_reconstructor.py +0 -93
  230. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/tests/test_sino_normalization.py +0 -85
  231. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/resources/__init__.py +0 -0
  232. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/resources/cli/__init__.py +0 -0
  233. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/resources/cor.py +0 -5
  234. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/resources/dataset_analyzer.py +0 -469
  235. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/resources/gpu.py +0 -169
  236. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/resources/logger.py +0 -130
  237. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/resources/nxflatfield.py +0 -217
  238. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/resources/templates/__init__.py +0 -0
  239. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/resources/tests/__init__.py +0 -0
  240. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/resources/tests/test_nxflatfield.py +0 -104
  241. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/resources/tests/test_units.py +0 -47
  242. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/resources/utils.py +0 -174
  243. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/__init__.py +0 -0
  244. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/alignment.py +0 -184
  245. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/config.py +0 -1286
  246. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/definitions.py +0 -6
  247. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/frame_composition.py +0 -155
  248. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/overlap.py +0 -373
  249. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/sample_normalization.py +0 -60
  250. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/slurm_utils.py +0 -204
  251. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/tests/__init__.py +0 -0
  252. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/tests/test_alignment.py +0 -99
  253. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/tests/test_config.py +0 -226
  254. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/tests/test_frame_composition.py +0 -180
  255. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/tests/test_overlap.py +0 -98
  256. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/tests/test_sample_normalization.py +0 -49
  257. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/tests/test_slurm_utils.py +0 -146
  258. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/tests/test_utils.py +0 -21
  259. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/tests/test_z_stitching.py +0 -1183
  260. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/utils.py +0 -563
  261. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/z_stitching.py +0 -2279
  262. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/tests.py +0 -51
  263. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/testutils.py +0 -375
  264. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/thirdparty/__init__.py +0 -0
  265. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/thirdparty/algotom_convert_sino.py +0 -276
  266. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/thirdparty/pore3d_deringer_munch.py +0 -108
  267. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/thirdparty/tomocupy_remove_stripe.py +0 -586
  268. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/thirdparty/tomopy_phase.py +0 -239
  269. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/thirdparty/tomwer_load_flats_darks.py +0 -162
  270. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/utils.py +0 -836
  271. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/doc/conf.py +0 -137
  272. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/doc/create_conf_doc.py +0 -38
  273. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/doc/get_mathjax.py +0 -34
  274. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/__init__.py +0 -17
  275. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/__init__.py +0 -0
  276. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/bootstrap.py +0 -88
  277. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/bootstrap_stitching.py +0 -69
  278. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/cast_volume.py +0 -272
  279. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/cli_configs.py +0 -626
  280. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/compare_volumes.py +0 -94
  281. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/composite_cor.py +0 -144
  282. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/correct_rot.py +0 -70
  283. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/create_distortion_map_from_poly.py +0 -153
  284. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/diag_to_pix.py +0 -358
  285. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/diag_to_rot.py +0 -449
  286. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/double_flatfield.py +0 -143
  287. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/generate_header.py +0 -261
  288. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/histogram.py +0 -197
  289. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/multicor.py +0 -90
  290. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/nx_z_splitter.py +0 -125
  291. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/parse_reconstruction_log.py +0 -151
  292. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/prepare_weights_double.py +0 -163
  293. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/reconstruct.py +0 -120
  294. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/reconstruct_helical.py +0 -116
  295. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/reduce_dark_flat.py +0 -181
  296. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/rotate.py +0 -162
  297. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/shrink_dataset.py +0 -98
  298. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/stitching.py +0 -85
  299. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/tests/test_reduce_dark_flat.py +0 -78
  300. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/utils.py +0 -33
  301. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/validator.py +0 -110
  302. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/cuda/__init__.py +0 -0
  303. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/cuda/convolution.py +0 -8
  304. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/cuda/fft.py +0 -4
  305. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/cuda/kernel.py +0 -97
  306. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/cuda/medfilt.py +0 -6
  307. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/cuda/padding.py +0 -6
  308. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/cuda/processing.py +0 -75
  309. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/cuda/tests/__init__.py +0 -1
  310. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/cuda/utils.py +0 -331
  311. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/__init__.py +0 -12
  312. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/alignment.py +0 -578
  313. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/cor.py +0 -1621
  314. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/cor_sino.py +0 -183
  315. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/distortion.py +0 -112
  316. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/focus.py +0 -362
  317. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/tests/__init__.py +0 -0
  318. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/tests/test_alignment.py +0 -70
  319. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/tests/test_cor.py +0 -472
  320. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/tests/test_focus.py +0 -105
  321. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/tests/test_tilt.py +0 -41
  322. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/tests/test_translation.py +0 -78
  323. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/tilt.py +0 -214
  324. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/translation.py +0 -193
  325. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/utils.py +0 -39
  326. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/io/__init__.py +0 -2
  327. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/io/cast_volume.py +0 -371
  328. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/io/detector_distortion.py +0 -305
  329. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/io/reader.py +0 -628
  330. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/io/reader_helical.py +0 -114
  331. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/io/tests/__init__.py +0 -0
  332. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/io/tests/test_cast_volume.py +0 -339
  333. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/io/tests/test_detector_distortion.py +0 -178
  334. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/io/tests/test_writers.py +0 -187
  335. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/io/tiffwriter_zmm.py +0 -99
  336. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/io/utils.py +0 -263
  337. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/io/writer.py +0 -892
  338. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/__init__.py +0 -0
  339. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/binning.py +0 -98
  340. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/fftshift.py +0 -6
  341. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/filters.py +0 -24
  342. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/fourier_filters.py +0 -152
  343. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/histogram.py +0 -6
  344. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/histogram_cuda.py +0 -8
  345. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/kernel_base.py +0 -4
  346. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/padding.py +0 -83
  347. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/padding_base.py +0 -6
  348. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/processing_base.py +0 -4
  349. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/rotation.py +0 -6
  350. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/rotation_cuda.py +0 -6
  351. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/tests/__init__.py +0 -1
  352. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/tests/test_binning.py +0 -48
  353. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/tests/test_interpolation.py +0 -70
  354. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/transpose.py +0 -6
  355. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/unsharp.py +0 -4
  356. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/unsharp_cuda.py +0 -6
  357. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/unsharp_opencl.py +0 -8
  358. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/utils.py +0 -117
  359. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/opencl/__init__.py +0 -0
  360. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/opencl/fft.py +0 -6
  361. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/opencl/kernel.py +0 -135
  362. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/opencl/memcpy.py +0 -35
  363. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/opencl/padding.py +0 -6
  364. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/opencl/processing.py +0 -62
  365. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/opencl/tests/__init__.py +0 -0
  366. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/opencl/utils.py +0 -292
  367. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/__init__.py +0 -0
  368. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/config.py +0 -265
  369. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/config_validators.py +0 -589
  370. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/datadump.py +0 -164
  371. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/dataset_validator.py +0 -211
  372. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/detector_distortion_provider.py +0 -20
  373. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/estimators.py +0 -1012
  374. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/fallback_utils.py +0 -149
  375. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/fullfield/__init__.py +0 -0
  376. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/fullfield/chunked.py +0 -849
  377. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/fullfield/chunked_cuda.py +0 -152
  378. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/fullfield/computations.py +0 -260
  379. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/fullfield/dataset_validator.py +0 -63
  380. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/fullfield/nabu_config.py +0 -590
  381. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/fullfield/processconfig.py +0 -825
  382. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/fullfield/reconstruction.py +0 -851
  383. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/__init__.py +0 -0
  384. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/dataset_validator.py +0 -19
  385. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/fbp.py +0 -147
  386. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/filtering.py +0 -246
  387. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/gridded_accumulator.py +0 -575
  388. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/helical_chunked_regridded.py +0 -1670
  389. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/helical_chunked_regridded_cuda.py +0 -119
  390. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/helical_reconstruction.py +0 -598
  391. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/helical_utils.py +0 -42
  392. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/nabu_config.py +0 -175
  393. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/processconfig.py +0 -62
  394. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/span_strategy.py +0 -483
  395. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/tests/__init__.py +0 -0
  396. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/tests/test_accumulator.py +0 -157
  397. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/tests/test_pipeline_elements_full.py +0 -355
  398. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/tests/test_strategy.py +0 -61
  399. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/utils.py +0 -51
  400. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/weight_balancer.py +0 -101
  401. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/params.py +0 -163
  402. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/processconfig.py +0 -210
  403. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/tests/test_chunk_reader.py +0 -78
  404. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/tests/test_estimators.py +0 -149
  405. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/utils.py +0 -116
  406. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/writer.py +0 -193
  407. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/xrdct/__init__.py +0 -0
  408. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/__init__.py +0 -7
  409. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/alignment.py +0 -11
  410. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/ccd.py +0 -161
  411. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/ccd_cuda.py +0 -169
  412. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/ctf.py +0 -361
  413. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/ctf_cuda.py +0 -142
  414. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/distortion.py +0 -92
  415. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/double_flatfield.py +0 -212
  416. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/double_flatfield_cuda.py +0 -174
  417. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/double_flatfield_variable_region.py +0 -68
  418. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/flatfield.py +0 -448
  419. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/flatfield_cuda.py +0 -144
  420. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/flatfield_variable_region.py +0 -79
  421. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/phase.py +0 -425
  422. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/phase_cuda.py +0 -143
  423. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/shift.py +0 -95
  424. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/shift_cuda.py +0 -102
  425. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/tests/__init__.py +0 -1
  426. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/tests/test_ccd_corr.py +0 -59
  427. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/tests/test_ctf.py +0 -250
  428. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/tests/test_double_flatfield.py +0 -86
  429. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/tests/test_flatfield.py +0 -626
  430. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/tests/test_paganin.py +0 -67
  431. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/tests/test_vshift.py +0 -73
  432. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/__init__.py +0 -0
  433. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/convolution_cuda.py +0 -375
  434. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/fft_base.py +0 -163
  435. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/fft_cuda.py +0 -256
  436. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/fft_opencl.py +0 -54
  437. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/fftshift.py +0 -134
  438. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/histogram.py +0 -286
  439. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/histogram_cuda.py +0 -103
  440. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/kernel_base.py +0 -126
  441. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/medfilt_cuda.py +0 -159
  442. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/muladd.py +0 -29
  443. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/muladd_cuda.py +0 -68
  444. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/padding_base.py +0 -71
  445. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/padding_cuda.py +0 -75
  446. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/padding_opencl.py +0 -77
  447. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/processing_base.py +0 -123
  448. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/roll_opencl.py +0 -64
  449. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/rotation.py +0 -63
  450. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/rotation_cuda.py +0 -66
  451. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/__init__.py +0 -0
  452. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_fft.py +0 -268
  453. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_fftshift.py +0 -71
  454. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_histogram.py +0 -55
  455. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_medfilt.py +0 -77
  456. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_muladd.py +0 -54
  457. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_padding.py +0 -247
  458. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_roll.py +0 -63
  459. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_rotation.py +0 -83
  460. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_transpose.py +0 -72
  461. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_unsharp.py +0 -106
  462. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/transpose.py +0 -126
  463. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/unsharp.py +0 -79
  464. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/unsharp_cuda.py +0 -53
  465. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/unsharp_opencl.py +0 -75
  466. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/__init__.py +0 -3
  467. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/cone.py +0 -241
  468. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/fbp.py +0 -124
  469. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/fbp_base.py +0 -391
  470. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/fbp_opencl.py +0 -78
  471. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/filtering.py +0 -220
  472. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/filtering_cuda.py +0 -103
  473. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/filtering_opencl.py +0 -111
  474. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/projection.py +0 -240
  475. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/reconstructor.py +0 -174
  476. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/reconstructor_cuda.py +0 -44
  477. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/rings.py +0 -248
  478. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/rings_cuda.py +0 -322
  479. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/sinogram.py +0 -467
  480. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/sinogram_cuda.py +0 -250
  481. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/sinogram_opencl.py +0 -40
  482. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/tests/__init__.py +0 -1
  483. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/tests/test_cone.py +0 -308
  484. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/tests/test_deringer.py +0 -220
  485. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/tests/test_fbp.py +0 -252
  486. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/tests/test_filtering.py +0 -133
  487. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/tests/test_halftomo.py +0 -100
  488. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/tests/test_projector.py +0 -164
  489. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/tests/test_reconstructor.py +0 -93
  490. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/tests/test_sino_normalization.py +0 -85
  491. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/resources/__init__.py +0 -0
  492. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/resources/cli/__init__.py +0 -0
  493. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/resources/cor.py +0 -5
  494. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/resources/dataset_analyzer.py +0 -469
  495. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/resources/gpu.py +0 -169
  496. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/resources/logger.py +0 -130
  497. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/resources/nxflatfield.py +0 -217
  498. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/resources/templates/__init__.py +0 -0
  499. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/resources/tests/__init__.py +0 -0
  500. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/resources/tests/test_nxflatfield.py +0 -104
  501. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/resources/tests/test_units.py +0 -47
  502. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/resources/utils.py +0 -174
  503. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/__init__.py +0 -0
  504. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/alignment.py +0 -184
  505. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/config.py +0 -1286
  506. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/definitions.py +0 -6
  507. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/frame_composition.py +0 -155
  508. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/overlap.py +0 -373
  509. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/sample_normalization.py +0 -60
  510. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/slurm_utils.py +0 -204
  511. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/tests/__init__.py +0 -0
  512. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/tests/test_alignment.py +0 -99
  513. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/tests/test_config.py +0 -226
  514. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/tests/test_frame_composition.py +0 -180
  515. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/tests/test_overlap.py +0 -98
  516. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/tests/test_sample_normalization.py +0 -49
  517. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/tests/test_slurm_utils.py +0 -146
  518. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/tests/test_utils.py +0 -21
  519. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/tests/test_z_stitching.py +0 -1183
  520. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/utils.py +0 -563
  521. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/z_stitching.py +0 -2279
  522. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/tests.py +0 -51
  523. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/testutils.py +0 -375
  524. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/thirdparty/__init__.py +0 -0
  525. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/thirdparty/algotom_convert_sino.py +0 -276
  526. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/thirdparty/pore3d_deringer_munch.py +0 -108
  527. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/thirdparty/tomocupy_remove_stripe.py +0 -586
  528. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/thirdparty/tomopy_phase.py +0 -239
  529. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/thirdparty/tomwer_load_flats_darks.py +0 -162
  530. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/utils.py +0 -836
  531. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/doc/conf.py +0 -137
  532. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/doc/create_conf_doc.py +0 -38
  533. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/doc/get_mathjax.py +0 -34
  534. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/__init__.py +0 -17
  535. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/__init__.py +0 -0
  536. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/bootstrap.py +0 -88
  537. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/bootstrap_stitching.py +0 -69
  538. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/cast_volume.py +0 -272
  539. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/cli_configs.py +0 -626
  540. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/compare_volumes.py +0 -94
  541. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/composite_cor.py +0 -144
  542. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/correct_rot.py +0 -70
  543. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/create_distortion_map_from_poly.py +0 -153
  544. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/diag_to_pix.py +0 -358
  545. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/diag_to_rot.py +0 -449
  546. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/double_flatfield.py +0 -143
  547. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/generate_header.py +0 -261
  548. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/histogram.py +0 -197
  549. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/multicor.py +0 -90
  550. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/nx_z_splitter.py +0 -125
  551. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/parse_reconstruction_log.py +0 -151
  552. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/prepare_weights_double.py +0 -163
  553. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/reconstruct.py +0 -120
  554. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/reconstruct_helical.py +0 -116
  555. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/reduce_dark_flat.py +0 -181
  556. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/rotate.py +0 -162
  557. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/shrink_dataset.py +0 -98
  558. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/stitching.py +0 -85
  559. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/tests/test_reduce_dark_flat.py +0 -78
  560. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/utils.py +0 -33
  561. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/validator.py +0 -110
  562. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/cuda/__init__.py +0 -0
  563. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/cuda/convolution.py +0 -8
  564. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/cuda/fft.py +0 -4
  565. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/cuda/kernel.py +0 -97
  566. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/cuda/medfilt.py +0 -6
  567. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/cuda/padding.py +0 -6
  568. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/cuda/processing.py +0 -75
  569. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/cuda/tests/__init__.py +0 -1
  570. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/cuda/utils.py +0 -331
  571. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/__init__.py +0 -12
  572. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/alignment.py +0 -578
  573. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/cor.py +0 -1621
  574. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/cor_sino.py +0 -183
  575. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/distortion.py +0 -112
  576. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/focus.py +0 -362
  577. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/tests/__init__.py +0 -0
  578. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/tests/test_alignment.py +0 -70
  579. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/tests/test_cor.py +0 -472
  580. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/tests/test_focus.py +0 -105
  581. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/tests/test_tilt.py +0 -41
  582. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/tests/test_translation.py +0 -78
  583. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/tilt.py +0 -214
  584. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/translation.py +0 -193
  585. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/utils.py +0 -39
  586. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/io/__init__.py +0 -2
  587. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/io/cast_volume.py +0 -371
  588. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/io/detector_distortion.py +0 -305
  589. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/io/reader.py +0 -628
  590. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/io/reader_helical.py +0 -114
  591. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/io/tests/__init__.py +0 -0
  592. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/io/tests/test_cast_volume.py +0 -339
  593. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/io/tests/test_detector_distortion.py +0 -178
  594. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/io/tests/test_writers.py +0 -187
  595. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/io/tiffwriter_zmm.py +0 -99
  596. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/io/utils.py +0 -263
  597. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/io/writer.py +0 -892
  598. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/__init__.py +0 -0
  599. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/binning.py +0 -98
  600. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/fftshift.py +0 -6
  601. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/filters.py +0 -24
  602. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/fourier_filters.py +0 -152
  603. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/histogram.py +0 -6
  604. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/histogram_cuda.py +0 -8
  605. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/kernel_base.py +0 -4
  606. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/padding.py +0 -83
  607. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/padding_base.py +0 -6
  608. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/processing_base.py +0 -4
  609. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/rotation.py +0 -6
  610. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/rotation_cuda.py +0 -6
  611. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/tests/__init__.py +0 -1
  612. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/tests/test_binning.py +0 -48
  613. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/tests/test_interpolation.py +0 -70
  614. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/transpose.py +0 -6
  615. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/unsharp.py +0 -4
  616. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/unsharp_cuda.py +0 -6
  617. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/unsharp_opencl.py +0 -8
  618. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/utils.py +0 -117
  619. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/opencl/__init__.py +0 -0
  620. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/opencl/fft.py +0 -6
  621. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/opencl/kernel.py +0 -135
  622. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/opencl/memcpy.py +0 -35
  623. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/opencl/padding.py +0 -6
  624. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/opencl/processing.py +0 -62
  625. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/opencl/tests/__init__.py +0 -0
  626. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/opencl/utils.py +0 -292
  627. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/__init__.py +0 -0
  628. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/config.py +0 -265
  629. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/config_validators.py +0 -589
  630. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/datadump.py +0 -164
  631. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/dataset_validator.py +0 -211
  632. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/detector_distortion_provider.py +0 -20
  633. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/estimators.py +0 -1012
  634. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/fallback_utils.py +0 -149
  635. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/fullfield/__init__.py +0 -0
  636. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/fullfield/chunked.py +0 -849
  637. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/fullfield/chunked_cuda.py +0 -152
  638. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/fullfield/computations.py +0 -260
  639. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/fullfield/dataset_validator.py +0 -63
  640. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/fullfield/nabu_config.py +0 -590
  641. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/fullfield/processconfig.py +0 -825
  642. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/fullfield/reconstruction.py +0 -851
  643. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/__init__.py +0 -0
  644. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/dataset_validator.py +0 -19
  645. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/fbp.py +0 -147
  646. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/filtering.py +0 -246
  647. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/gridded_accumulator.py +0 -575
  648. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/helical_chunked_regridded.py +0 -1670
  649. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/helical_chunked_regridded_cuda.py +0 -119
  650. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/helical_reconstruction.py +0 -598
  651. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/helical_utils.py +0 -42
  652. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/nabu_config.py +0 -175
  653. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/processconfig.py +0 -62
  654. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/span_strategy.py +0 -483
  655. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/tests/__init__.py +0 -0
  656. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/tests/test_accumulator.py +0 -157
  657. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/tests/test_pipeline_elements_full.py +0 -355
  658. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/tests/test_strategy.py +0 -61
  659. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/utils.py +0 -51
  660. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/weight_balancer.py +0 -101
  661. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/params.py +0 -163
  662. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/processconfig.py +0 -210
  663. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/tests/test_chunk_reader.py +0 -78
  664. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/tests/test_estimators.py +0 -149
  665. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/utils.py +0 -116
  666. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/writer.py +0 -193
  667. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/xrdct/__init__.py +0 -0
  668. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/__init__.py +0 -7
  669. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/alignment.py +0 -11
  670. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/ccd.py +0 -161
  671. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/ccd_cuda.py +0 -169
  672. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/ctf.py +0 -361
  673. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/ctf_cuda.py +0 -142
  674. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/distortion.py +0 -92
  675. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/double_flatfield.py +0 -212
  676. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/double_flatfield_cuda.py +0 -174
  677. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/double_flatfield_variable_region.py +0 -68
  678. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/flatfield.py +0 -448
  679. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/flatfield_cuda.py +0 -144
  680. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/flatfield_variable_region.py +0 -79
  681. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/phase.py +0 -425
  682. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/phase_cuda.py +0 -143
  683. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/shift.py +0 -95
  684. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/shift_cuda.py +0 -102
  685. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/tests/__init__.py +0 -1
  686. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/tests/test_ccd_corr.py +0 -59
  687. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/tests/test_ctf.py +0 -250
  688. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/tests/test_double_flatfield.py +0 -86
  689. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/tests/test_flatfield.py +0 -626
  690. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/tests/test_paganin.py +0 -67
  691. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/tests/test_vshift.py +0 -73
  692. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/__init__.py +0 -0
  693. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/convolution_cuda.py +0 -375
  694. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/fft_base.py +0 -163
  695. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/fft_cuda.py +0 -256
  696. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/fft_opencl.py +0 -54
  697. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/fftshift.py +0 -134
  698. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/histogram.py +0 -286
  699. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/histogram_cuda.py +0 -103
  700. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/kernel_base.py +0 -126
  701. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/medfilt_cuda.py +0 -159
  702. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/muladd.py +0 -29
  703. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/muladd_cuda.py +0 -68
  704. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/padding_base.py +0 -71
  705. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/padding_cuda.py +0 -75
  706. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/padding_opencl.py +0 -77
  707. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/processing_base.py +0 -123
  708. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/roll_opencl.py +0 -64
  709. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/rotation.py +0 -63
  710. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/rotation_cuda.py +0 -66
  711. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/__init__.py +0 -0
  712. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_fft.py +0 -268
  713. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_fftshift.py +0 -71
  714. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_histogram.py +0 -55
  715. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_medfilt.py +0 -77
  716. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_muladd.py +0 -54
  717. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_padding.py +0 -247
  718. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_roll.py +0 -63
  719. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_rotation.py +0 -83
  720. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_transpose.py +0 -72
  721. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_unsharp.py +0 -106
  722. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/transpose.py +0 -126
  723. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/unsharp.py +0 -79
  724. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/unsharp_cuda.py +0 -53
  725. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/unsharp_opencl.py +0 -75
  726. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/__init__.py +0 -3
  727. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/cone.py +0 -241
  728. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/fbp.py +0 -124
  729. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/fbp_base.py +0 -391
  730. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/fbp_opencl.py +0 -78
  731. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/filtering.py +0 -220
  732. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/filtering_cuda.py +0 -103
  733. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/filtering_opencl.py +0 -111
  734. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/projection.py +0 -240
  735. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/reconstructor.py +0 -174
  736. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/reconstructor_cuda.py +0 -44
  737. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/rings.py +0 -248
  738. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/rings_cuda.py +0 -322
  739. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/sinogram.py +0 -467
  740. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/sinogram_cuda.py +0 -250
  741. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/sinogram_opencl.py +0 -40
  742. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/tests/__init__.py +0 -1
  743. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/tests/test_cone.py +0 -308
  744. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/tests/test_deringer.py +0 -220
  745. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/tests/test_fbp.py +0 -252
  746. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/tests/test_filtering.py +0 -133
  747. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/tests/test_halftomo.py +0 -100
  748. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/tests/test_projector.py +0 -164
  749. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/tests/test_reconstructor.py +0 -93
  750. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/tests/test_sino_normalization.py +0 -85
  751. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/resources/__init__.py +0 -0
  752. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/resources/cli/__init__.py +0 -0
  753. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/resources/cor.py +0 -5
  754. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/resources/dataset_analyzer.py +0 -469
  755. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/resources/gpu.py +0 -169
  756. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/resources/logger.py +0 -130
  757. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/resources/nxflatfield.py +0 -217
  758. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/resources/templates/__init__.py +0 -0
  759. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/resources/tests/__init__.py +0 -0
  760. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/resources/tests/test_nxflatfield.py +0 -104
  761. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/resources/tests/test_units.py +0 -47
  762. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/resources/utils.py +0 -174
  763. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/__init__.py +0 -0
  764. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/alignment.py +0 -184
  765. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/config.py +0 -1286
  766. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/definitions.py +0 -6
  767. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/frame_composition.py +0 -155
  768. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/overlap.py +0 -373
  769. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/sample_normalization.py +0 -60
  770. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/slurm_utils.py +0 -204
  771. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/tests/__init__.py +0 -0
  772. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/tests/test_alignment.py +0 -99
  773. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/tests/test_config.py +0 -226
  774. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/tests/test_frame_composition.py +0 -180
  775. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/tests/test_overlap.py +0 -98
  776. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/tests/test_sample_normalization.py +0 -49
  777. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/tests/test_slurm_utils.py +0 -146
  778. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/tests/test_utils.py +0 -21
  779. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/tests/test_z_stitching.py +0 -1183
  780. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/utils.py +0 -563
  781. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/z_stitching.py +0 -2279
  782. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/tests.py +0 -51
  783. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/testutils.py +0 -375
  784. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/thirdparty/__init__.py +0 -0
  785. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/thirdparty/algotom_convert_sino.py +0 -276
  786. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/thirdparty/pore3d_deringer_munch.py +0 -108
  787. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/thirdparty/tomocupy_remove_stripe.py +0 -586
  788. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/thirdparty/tomopy_phase.py +0 -239
  789. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/thirdparty/tomwer_load_flats_darks.py +0 -162
  790. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/utils.py +0 -836
  791. build/lib/build/lib/build/lib/build/lib/build/lib/doc/conf.py +0 -137
  792. build/lib/build/lib/build/lib/build/lib/build/lib/doc/create_conf_doc.py +0 -38
  793. build/lib/build/lib/build/lib/build/lib/build/lib/doc/get_mathjax.py +0 -34
  794. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/__init__.py +0 -17
  795. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/__init__.py +0 -0
  796. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/bootstrap.py +0 -88
  797. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/bootstrap_stitching.py +0 -69
  798. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/cast_volume.py +0 -272
  799. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/cli_configs.py +0 -626
  800. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/compare_volumes.py +0 -94
  801. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/composite_cor.py +0 -144
  802. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/correct_rot.py +0 -70
  803. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/create_distortion_map_from_poly.py +0 -153
  804. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/diag_to_pix.py +0 -358
  805. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/diag_to_rot.py +0 -449
  806. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/double_flatfield.py +0 -143
  807. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/generate_header.py +0 -261
  808. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/histogram.py +0 -197
  809. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/multicor.py +0 -90
  810. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/nx_z_splitter.py +0 -125
  811. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/parse_reconstruction_log.py +0 -151
  812. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/prepare_weights_double.py +0 -163
  813. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/reconstruct.py +0 -120
  814. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/reconstruct_helical.py +0 -116
  815. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/reduce_dark_flat.py +0 -181
  816. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/rotate.py +0 -162
  817. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/shrink_dataset.py +0 -98
  818. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/stitching.py +0 -85
  819. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/tests/test_reduce_dark_flat.py +0 -78
  820. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/utils.py +0 -33
  821. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app/validator.py +0 -110
  822. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/cuda/__init__.py +0 -0
  823. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/cuda/convolution.py +0 -8
  824. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/cuda/fft.py +0 -4
  825. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/cuda/kernel.py +0 -97
  826. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/cuda/medfilt.py +0 -6
  827. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/cuda/padding.py +0 -6
  828. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/cuda/processing.py +0 -75
  829. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/cuda/tests/__init__.py +0 -1
  830. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/cuda/utils.py +0 -331
  831. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/__init__.py +0 -12
  832. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/alignment.py +0 -578
  833. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/cor.py +0 -1621
  834. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/cor_sino.py +0 -183
  835. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/distortion.py +0 -112
  836. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/focus.py +0 -362
  837. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/tests/__init__.py +0 -0
  838. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/tests/test_alignment.py +0 -70
  839. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/tests/test_cor.py +0 -472
  840. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/tests/test_focus.py +0 -105
  841. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/tests/test_tilt.py +0 -41
  842. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/tests/test_translation.py +0 -78
  843. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/tilt.py +0 -214
  844. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/translation.py +0 -193
  845. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/estimation/utils.py +0 -39
  846. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/io/__init__.py +0 -2
  847. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/io/cast_volume.py +0 -371
  848. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/io/detector_distortion.py +0 -305
  849. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/io/reader.py +0 -628
  850. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/io/reader_helical.py +0 -114
  851. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/io/tests/__init__.py +0 -0
  852. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/io/tests/test_cast_volume.py +0 -339
  853. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/io/tests/test_detector_distortion.py +0 -178
  854. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/io/tests/test_writers.py +0 -187
  855. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/io/tiffwriter_zmm.py +0 -99
  856. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/io/utils.py +0 -263
  857. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/io/writer.py +0 -892
  858. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/__init__.py +0 -0
  859. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/binning.py +0 -98
  860. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/fftshift.py +0 -6
  861. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/filters.py +0 -24
  862. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/fourier_filters.py +0 -152
  863. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/histogram.py +0 -6
  864. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/histogram_cuda.py +0 -8
  865. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/kernel_base.py +0 -4
  866. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/padding.py +0 -83
  867. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/padding_base.py +0 -6
  868. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/processing_base.py +0 -4
  869. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/rotation.py +0 -6
  870. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/rotation_cuda.py +0 -6
  871. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/tests/__init__.py +0 -1
  872. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/tests/test_binning.py +0 -48
  873. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/tests/test_interpolation.py +0 -70
  874. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/transpose.py +0 -6
  875. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/unsharp.py +0 -4
  876. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/unsharp_cuda.py +0 -6
  877. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/unsharp_opencl.py +0 -8
  878. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/misc/utils.py +0 -117
  879. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/opencl/__init__.py +0 -0
  880. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/opencl/fft.py +0 -6
  881. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/opencl/kernel.py +0 -135
  882. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/opencl/memcpy.py +0 -35
  883. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/opencl/padding.py +0 -6
  884. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/opencl/processing.py +0 -62
  885. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/opencl/tests/__init__.py +0 -0
  886. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/opencl/utils.py +0 -292
  887. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/__init__.py +0 -0
  888. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/config.py +0 -265
  889. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/config_validators.py +0 -589
  890. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/datadump.py +0 -164
  891. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/dataset_validator.py +0 -211
  892. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/detector_distortion_provider.py +0 -20
  893. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/estimators.py +0 -1012
  894. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/fallback_utils.py +0 -149
  895. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/fullfield/__init__.py +0 -0
  896. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/fullfield/chunked.py +0 -849
  897. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/fullfield/chunked_cuda.py +0 -152
  898. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/fullfield/computations.py +0 -260
  899. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/fullfield/dataset_validator.py +0 -63
  900. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/fullfield/nabu_config.py +0 -590
  901. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/fullfield/processconfig.py +0 -825
  902. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/fullfield/reconstruction.py +0 -851
  903. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/__init__.py +0 -0
  904. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/dataset_validator.py +0 -19
  905. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/fbp.py +0 -147
  906. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/filtering.py +0 -246
  907. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/gridded_accumulator.py +0 -575
  908. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/helical_chunked_regridded.py +0 -1670
  909. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/helical_chunked_regridded_cuda.py +0 -119
  910. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/helical_reconstruction.py +0 -598
  911. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/helical_utils.py +0 -42
  912. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/nabu_config.py +0 -175
  913. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/processconfig.py +0 -62
  914. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/span_strategy.py +0 -483
  915. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/tests/__init__.py +0 -0
  916. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/tests/test_accumulator.py +0 -157
  917. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/tests/test_pipeline_elements_full.py +0 -355
  918. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/tests/test_strategy.py +0 -61
  919. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/utils.py +0 -51
  920. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/weight_balancer.py +0 -101
  921. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/params.py +0 -163
  922. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/processconfig.py +0 -210
  923. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/tests/test_chunk_reader.py +0 -78
  924. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/tests/test_estimators.py +0 -149
  925. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/utils.py +0 -116
  926. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/writer.py +0 -193
  927. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/pipeline/xrdct/__init__.py +0 -0
  928. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/__init__.py +0 -7
  929. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/alignment.py +0 -11
  930. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/ccd.py +0 -161
  931. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/ccd_cuda.py +0 -169
  932. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/ctf.py +0 -361
  933. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/ctf_cuda.py +0 -142
  934. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/distortion.py +0 -92
  935. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/double_flatfield.py +0 -212
  936. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/double_flatfield_cuda.py +0 -174
  937. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/double_flatfield_variable_region.py +0 -68
  938. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/flatfield.py +0 -448
  939. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/flatfield_cuda.py +0 -144
  940. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/flatfield_variable_region.py +0 -79
  941. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/phase.py +0 -425
  942. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/phase_cuda.py +0 -143
  943. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/shift.py +0 -95
  944. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/shift_cuda.py +0 -102
  945. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/tests/__init__.py +0 -1
  946. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/tests/test_ccd_corr.py +0 -59
  947. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/tests/test_ctf.py +0 -250
  948. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/tests/test_double_flatfield.py +0 -86
  949. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/tests/test_flatfield.py +0 -626
  950. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/tests/test_paganin.py +0 -67
  951. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/preproc/tests/test_vshift.py +0 -73
  952. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/__init__.py +0 -0
  953. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/convolution_cuda.py +0 -375
  954. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/fft_base.py +0 -163
  955. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/fft_cuda.py +0 -256
  956. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/fft_opencl.py +0 -54
  957. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/fftshift.py +0 -134
  958. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/histogram.py +0 -286
  959. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/histogram_cuda.py +0 -103
  960. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/kernel_base.py +0 -126
  961. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/medfilt_cuda.py +0 -159
  962. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/muladd.py +0 -29
  963. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/muladd_cuda.py +0 -68
  964. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/padding_base.py +0 -71
  965. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/padding_cuda.py +0 -75
  966. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/padding_opencl.py +0 -77
  967. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/processing_base.py +0 -123
  968. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/roll_opencl.py +0 -64
  969. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/rotation.py +0 -63
  970. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/rotation_cuda.py +0 -66
  971. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/__init__.py +0 -0
  972. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_fft.py +0 -268
  973. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_fftshift.py +0 -71
  974. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_histogram.py +0 -55
  975. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_medfilt.py +0 -77
  976. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_muladd.py +0 -54
  977. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_padding.py +0 -247
  978. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_roll.py +0 -63
  979. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_rotation.py +0 -83
  980. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_transpose.py +0 -72
  981. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_unsharp.py +0 -106
  982. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/transpose.py +0 -126
  983. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/unsharp.py +0 -79
  984. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/unsharp_cuda.py +0 -53
  985. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/processing/unsharp_opencl.py +0 -75
  986. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/__init__.py +0 -3
  987. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/cone.py +0 -241
  988. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/fbp.py +0 -124
  989. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/fbp_base.py +0 -391
  990. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/fbp_opencl.py +0 -78
  991. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/filtering.py +0 -220
  992. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/filtering_cuda.py +0 -103
  993. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/filtering_opencl.py +0 -111
  994. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/projection.py +0 -240
  995. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/reconstructor.py +0 -174
  996. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/reconstructor_cuda.py +0 -44
  997. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/rings.py +0 -248
  998. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/rings_cuda.py +0 -322
  999. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/sinogram.py +0 -467
  1000. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/sinogram_cuda.py +0 -250
  1001. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/sinogram_opencl.py +0 -40
  1002. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/tests/__init__.py +0 -1
  1003. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/tests/test_cone.py +0 -308
  1004. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/tests/test_deringer.py +0 -220
  1005. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/tests/test_fbp.py +0 -252
  1006. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/tests/test_filtering.py +0 -133
  1007. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/tests/test_halftomo.py +0 -100
  1008. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/tests/test_projector.py +0 -164
  1009. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/tests/test_reconstructor.py +0 -93
  1010. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/tests/test_sino_normalization.py +0 -85
  1011. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/resources/__init__.py +0 -0
  1012. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/resources/cli/__init__.py +0 -0
  1013. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/resources/cor.py +0 -5
  1014. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/resources/dataset_analyzer.py +0 -469
  1015. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/resources/gpu.py +0 -169
  1016. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/resources/logger.py +0 -130
  1017. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/resources/nxflatfield.py +0 -217
  1018. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/resources/templates/__init__.py +0 -0
  1019. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/resources/tests/__init__.py +0 -0
  1020. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/resources/tests/test_nxflatfield.py +0 -104
  1021. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/resources/tests/test_units.py +0 -47
  1022. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/resources/utils.py +0 -174
  1023. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/__init__.py +0 -0
  1024. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/alignment.py +0 -184
  1025. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/config.py +0 -1286
  1026. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/definitions.py +0 -6
  1027. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/frame_composition.py +0 -155
  1028. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/overlap.py +0 -373
  1029. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/sample_normalization.py +0 -60
  1030. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/slurm_utils.py +0 -204
  1031. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/tests/__init__.py +0 -0
  1032. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/tests/test_alignment.py +0 -99
  1033. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/tests/test_config.py +0 -226
  1034. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/tests/test_frame_composition.py +0 -180
  1035. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/tests/test_overlap.py +0 -98
  1036. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/tests/test_sample_normalization.py +0 -49
  1037. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/tests/test_slurm_utils.py +0 -146
  1038. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/tests/test_utils.py +0 -21
  1039. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/tests/test_z_stitching.py +0 -1183
  1040. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/utils.py +0 -563
  1041. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/stitching/z_stitching.py +0 -2279
  1042. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/tests.py +0 -51
  1043. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/testutils.py +0 -375
  1044. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/thirdparty/__init__.py +0 -0
  1045. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/thirdparty/algotom_convert_sino.py +0 -276
  1046. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/thirdparty/pore3d_deringer_munch.py +0 -108
  1047. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/thirdparty/tomocupy_remove_stripe.py +0 -586
  1048. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/thirdparty/tomopy_phase.py +0 -239
  1049. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/thirdparty/tomwer_load_flats_darks.py +0 -162
  1050. build/lib/build/lib/build/lib/build/lib/build/lib/nabu/utils.py +0 -836
  1051. build/lib/build/lib/build/lib/build/lib/doc/conf.py +0 -137
  1052. build/lib/build/lib/build/lib/build/lib/doc/create_conf_doc.py +0 -38
  1053. build/lib/build/lib/build/lib/build/lib/doc/get_mathjax.py +0 -34
  1054. build/lib/build/lib/build/lib/build/lib/nabu/__init__.py +0 -17
  1055. build/lib/build/lib/build/lib/build/lib/nabu/app/__init__.py +0 -0
  1056. build/lib/build/lib/build/lib/build/lib/nabu/app/bootstrap.py +0 -88
  1057. build/lib/build/lib/build/lib/build/lib/nabu/app/bootstrap_stitching.py +0 -69
  1058. build/lib/build/lib/build/lib/build/lib/nabu/app/cast_volume.py +0 -272
  1059. build/lib/build/lib/build/lib/build/lib/nabu/app/cli_configs.py +0 -626
  1060. build/lib/build/lib/build/lib/build/lib/nabu/app/compare_volumes.py +0 -94
  1061. build/lib/build/lib/build/lib/build/lib/nabu/app/composite_cor.py +0 -144
  1062. build/lib/build/lib/build/lib/build/lib/nabu/app/correct_rot.py +0 -70
  1063. build/lib/build/lib/build/lib/build/lib/nabu/app/create_distortion_map_from_poly.py +0 -153
  1064. build/lib/build/lib/build/lib/build/lib/nabu/app/diag_to_pix.py +0 -358
  1065. build/lib/build/lib/build/lib/build/lib/nabu/app/diag_to_rot.py +0 -449
  1066. build/lib/build/lib/build/lib/build/lib/nabu/app/double_flatfield.py +0 -143
  1067. build/lib/build/lib/build/lib/build/lib/nabu/app/generate_header.py +0 -261
  1068. build/lib/build/lib/build/lib/build/lib/nabu/app/histogram.py +0 -197
  1069. build/lib/build/lib/build/lib/build/lib/nabu/app/multicor.py +0 -90
  1070. build/lib/build/lib/build/lib/build/lib/nabu/app/nx_z_splitter.py +0 -125
  1071. build/lib/build/lib/build/lib/build/lib/nabu/app/parse_reconstruction_log.py +0 -151
  1072. build/lib/build/lib/build/lib/build/lib/nabu/app/prepare_weights_double.py +0 -163
  1073. build/lib/build/lib/build/lib/build/lib/nabu/app/reconstruct.py +0 -120
  1074. build/lib/build/lib/build/lib/build/lib/nabu/app/reconstruct_helical.py +0 -116
  1075. build/lib/build/lib/build/lib/build/lib/nabu/app/reduce_dark_flat.py +0 -181
  1076. build/lib/build/lib/build/lib/build/lib/nabu/app/rotate.py +0 -162
  1077. build/lib/build/lib/build/lib/build/lib/nabu/app/shrink_dataset.py +0 -98
  1078. build/lib/build/lib/build/lib/build/lib/nabu/app/stitching.py +0 -85
  1079. build/lib/build/lib/build/lib/build/lib/nabu/app/tests/test_reduce_dark_flat.py +0 -78
  1080. build/lib/build/lib/build/lib/build/lib/nabu/app/utils.py +0 -33
  1081. build/lib/build/lib/build/lib/build/lib/nabu/app/validator.py +0 -110
  1082. build/lib/build/lib/build/lib/build/lib/nabu/cuda/__init__.py +0 -0
  1083. build/lib/build/lib/build/lib/build/lib/nabu/cuda/convolution.py +0 -8
  1084. build/lib/build/lib/build/lib/build/lib/nabu/cuda/fft.py +0 -4
  1085. build/lib/build/lib/build/lib/build/lib/nabu/cuda/kernel.py +0 -97
  1086. build/lib/build/lib/build/lib/build/lib/nabu/cuda/medfilt.py +0 -6
  1087. build/lib/build/lib/build/lib/build/lib/nabu/cuda/padding.py +0 -6
  1088. build/lib/build/lib/build/lib/build/lib/nabu/cuda/processing.py +0 -75
  1089. build/lib/build/lib/build/lib/build/lib/nabu/cuda/tests/__init__.py +0 -1
  1090. build/lib/build/lib/build/lib/build/lib/nabu/cuda/utils.py +0 -331
  1091. build/lib/build/lib/build/lib/build/lib/nabu/estimation/__init__.py +0 -12
  1092. build/lib/build/lib/build/lib/build/lib/nabu/estimation/alignment.py +0 -578
  1093. build/lib/build/lib/build/lib/build/lib/nabu/estimation/cor.py +0 -1621
  1094. build/lib/build/lib/build/lib/build/lib/nabu/estimation/cor_sino.py +0 -183
  1095. build/lib/build/lib/build/lib/build/lib/nabu/estimation/distortion.py +0 -112
  1096. build/lib/build/lib/build/lib/build/lib/nabu/estimation/focus.py +0 -362
  1097. build/lib/build/lib/build/lib/build/lib/nabu/estimation/tests/__init__.py +0 -0
  1098. build/lib/build/lib/build/lib/build/lib/nabu/estimation/tests/test_alignment.py +0 -70
  1099. build/lib/build/lib/build/lib/build/lib/nabu/estimation/tests/test_cor.py +0 -472
  1100. build/lib/build/lib/build/lib/build/lib/nabu/estimation/tests/test_focus.py +0 -105
  1101. build/lib/build/lib/build/lib/build/lib/nabu/estimation/tests/test_tilt.py +0 -41
  1102. build/lib/build/lib/build/lib/build/lib/nabu/estimation/tests/test_translation.py +0 -78
  1103. build/lib/build/lib/build/lib/build/lib/nabu/estimation/tilt.py +0 -214
  1104. build/lib/build/lib/build/lib/build/lib/nabu/estimation/translation.py +0 -193
  1105. build/lib/build/lib/build/lib/build/lib/nabu/estimation/utils.py +0 -39
  1106. build/lib/build/lib/build/lib/build/lib/nabu/io/__init__.py +0 -2
  1107. build/lib/build/lib/build/lib/build/lib/nabu/io/cast_volume.py +0 -371
  1108. build/lib/build/lib/build/lib/build/lib/nabu/io/detector_distortion.py +0 -305
  1109. build/lib/build/lib/build/lib/build/lib/nabu/io/reader.py +0 -628
  1110. build/lib/build/lib/build/lib/build/lib/nabu/io/reader_helical.py +0 -114
  1111. build/lib/build/lib/build/lib/build/lib/nabu/io/tests/__init__.py +0 -0
  1112. build/lib/build/lib/build/lib/build/lib/nabu/io/tests/test_cast_volume.py +0 -339
  1113. build/lib/build/lib/build/lib/build/lib/nabu/io/tests/test_detector_distortion.py +0 -178
  1114. build/lib/build/lib/build/lib/build/lib/nabu/io/tests/test_writers.py +0 -187
  1115. build/lib/build/lib/build/lib/build/lib/nabu/io/tiffwriter_zmm.py +0 -99
  1116. build/lib/build/lib/build/lib/build/lib/nabu/io/utils.py +0 -263
  1117. build/lib/build/lib/build/lib/build/lib/nabu/io/writer.py +0 -892
  1118. build/lib/build/lib/build/lib/build/lib/nabu/misc/__init__.py +0 -0
  1119. build/lib/build/lib/build/lib/build/lib/nabu/misc/binning.py +0 -98
  1120. build/lib/build/lib/build/lib/build/lib/nabu/misc/fftshift.py +0 -6
  1121. build/lib/build/lib/build/lib/build/lib/nabu/misc/filters.py +0 -24
  1122. build/lib/build/lib/build/lib/build/lib/nabu/misc/fourier_filters.py +0 -152
  1123. build/lib/build/lib/build/lib/build/lib/nabu/misc/histogram.py +0 -6
  1124. build/lib/build/lib/build/lib/build/lib/nabu/misc/histogram_cuda.py +0 -8
  1125. build/lib/build/lib/build/lib/build/lib/nabu/misc/kernel_base.py +0 -4
  1126. build/lib/build/lib/build/lib/build/lib/nabu/misc/padding.py +0 -83
  1127. build/lib/build/lib/build/lib/build/lib/nabu/misc/padding_base.py +0 -6
  1128. build/lib/build/lib/build/lib/build/lib/nabu/misc/processing_base.py +0 -4
  1129. build/lib/build/lib/build/lib/build/lib/nabu/misc/rotation.py +0 -6
  1130. build/lib/build/lib/build/lib/build/lib/nabu/misc/rotation_cuda.py +0 -6
  1131. build/lib/build/lib/build/lib/build/lib/nabu/misc/tests/__init__.py +0 -1
  1132. build/lib/build/lib/build/lib/build/lib/nabu/misc/tests/test_binning.py +0 -48
  1133. build/lib/build/lib/build/lib/build/lib/nabu/misc/tests/test_interpolation.py +0 -70
  1134. build/lib/build/lib/build/lib/build/lib/nabu/misc/transpose.py +0 -6
  1135. build/lib/build/lib/build/lib/build/lib/nabu/misc/unsharp.py +0 -4
  1136. build/lib/build/lib/build/lib/build/lib/nabu/misc/unsharp_cuda.py +0 -6
  1137. build/lib/build/lib/build/lib/build/lib/nabu/misc/unsharp_opencl.py +0 -8
  1138. build/lib/build/lib/build/lib/build/lib/nabu/misc/utils.py +0 -117
  1139. build/lib/build/lib/build/lib/build/lib/nabu/opencl/__init__.py +0 -0
  1140. build/lib/build/lib/build/lib/build/lib/nabu/opencl/fft.py +0 -6
  1141. build/lib/build/lib/build/lib/build/lib/nabu/opencl/kernel.py +0 -135
  1142. build/lib/build/lib/build/lib/build/lib/nabu/opencl/memcpy.py +0 -35
  1143. build/lib/build/lib/build/lib/build/lib/nabu/opencl/padding.py +0 -6
  1144. build/lib/build/lib/build/lib/build/lib/nabu/opencl/processing.py +0 -62
  1145. build/lib/build/lib/build/lib/build/lib/nabu/opencl/tests/__init__.py +0 -0
  1146. build/lib/build/lib/build/lib/build/lib/nabu/opencl/utils.py +0 -292
  1147. build/lib/build/lib/build/lib/build/lib/nabu/pipeline/__init__.py +0 -0
  1148. build/lib/build/lib/build/lib/build/lib/nabu/pipeline/config.py +0 -265
  1149. build/lib/build/lib/build/lib/build/lib/nabu/pipeline/config_validators.py +0 -589
  1150. build/lib/build/lib/build/lib/build/lib/nabu/pipeline/datadump.py +0 -164
  1151. build/lib/build/lib/build/lib/build/lib/nabu/pipeline/dataset_validator.py +0 -211
  1152. build/lib/build/lib/build/lib/build/lib/nabu/pipeline/detector_distortion_provider.py +0 -20
  1153. build/lib/build/lib/build/lib/build/lib/nabu/pipeline/estimators.py +0 -1012
  1154. build/lib/build/lib/build/lib/build/lib/nabu/pipeline/fallback_utils.py +0 -149
  1155. build/lib/build/lib/build/lib/build/lib/nabu/pipeline/fullfield/__init__.py +0 -0
  1156. build/lib/build/lib/build/lib/build/lib/nabu/pipeline/fullfield/chunked.py +0 -849
  1157. build/lib/build/lib/build/lib/build/lib/nabu/pipeline/fullfield/chunked_cuda.py +0 -152
  1158. build/lib/build/lib/build/lib/build/lib/nabu/pipeline/fullfield/computations.py +0 -260
  1159. build/lib/build/lib/build/lib/build/lib/nabu/pipeline/fullfield/dataset_validator.py +0 -63
  1160. build/lib/build/lib/build/lib/build/lib/nabu/pipeline/fullfield/nabu_config.py +0 -590
  1161. build/lib/build/lib/build/lib/build/lib/nabu/pipeline/fullfield/processconfig.py +0 -825
  1162. build/lib/build/lib/build/lib/build/lib/nabu/pipeline/fullfield/reconstruction.py +0 -851
  1163. build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/__init__.py +0 -0
  1164. build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/dataset_validator.py +0 -19
  1165. build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/fbp.py +0 -147
  1166. build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/filtering.py +0 -246
  1167. build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/gridded_accumulator.py +0 -575
  1168. build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/helical_chunked_regridded.py +0 -1670
  1169. build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/helical_chunked_regridded_cuda.py +0 -119
  1170. build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/helical_reconstruction.py +0 -598
  1171. build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/helical_utils.py +0 -42
  1172. build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/nabu_config.py +0 -175
  1173. build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/processconfig.py +0 -62
  1174. build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/span_strategy.py +0 -483
  1175. build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/tests/__init__.py +0 -0
  1176. build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/tests/test_accumulator.py +0 -157
  1177. build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/tests/test_pipeline_elements_full.py +0 -355
  1178. build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/tests/test_strategy.py +0 -61
  1179. build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/utils.py +0 -51
  1180. build/lib/build/lib/build/lib/build/lib/nabu/pipeline/helical/weight_balancer.py +0 -101
  1181. build/lib/build/lib/build/lib/build/lib/nabu/pipeline/params.py +0 -163
  1182. build/lib/build/lib/build/lib/build/lib/nabu/pipeline/processconfig.py +0 -210
  1183. build/lib/build/lib/build/lib/build/lib/nabu/pipeline/tests/test_chunk_reader.py +0 -78
  1184. build/lib/build/lib/build/lib/build/lib/nabu/pipeline/tests/test_estimators.py +0 -149
  1185. build/lib/build/lib/build/lib/build/lib/nabu/pipeline/utils.py +0 -116
  1186. build/lib/build/lib/build/lib/build/lib/nabu/pipeline/writer.py +0 -193
  1187. build/lib/build/lib/build/lib/build/lib/nabu/pipeline/xrdct/__init__.py +0 -0
  1188. build/lib/build/lib/build/lib/build/lib/nabu/preproc/__init__.py +0 -7
  1189. build/lib/build/lib/build/lib/build/lib/nabu/preproc/alignment.py +0 -11
  1190. build/lib/build/lib/build/lib/build/lib/nabu/preproc/ccd.py +0 -161
  1191. build/lib/build/lib/build/lib/build/lib/nabu/preproc/ccd_cuda.py +0 -169
  1192. build/lib/build/lib/build/lib/build/lib/nabu/preproc/ctf.py +0 -361
  1193. build/lib/build/lib/build/lib/build/lib/nabu/preproc/ctf_cuda.py +0 -142
  1194. build/lib/build/lib/build/lib/build/lib/nabu/preproc/distortion.py +0 -92
  1195. build/lib/build/lib/build/lib/build/lib/nabu/preproc/double_flatfield.py +0 -212
  1196. build/lib/build/lib/build/lib/build/lib/nabu/preproc/double_flatfield_cuda.py +0 -174
  1197. build/lib/build/lib/build/lib/build/lib/nabu/preproc/double_flatfield_variable_region.py +0 -68
  1198. build/lib/build/lib/build/lib/build/lib/nabu/preproc/flatfield.py +0 -448
  1199. build/lib/build/lib/build/lib/build/lib/nabu/preproc/flatfield_cuda.py +0 -144
  1200. build/lib/build/lib/build/lib/build/lib/nabu/preproc/flatfield_variable_region.py +0 -79
  1201. build/lib/build/lib/build/lib/build/lib/nabu/preproc/phase.py +0 -425
  1202. build/lib/build/lib/build/lib/build/lib/nabu/preproc/phase_cuda.py +0 -143
  1203. build/lib/build/lib/build/lib/build/lib/nabu/preproc/shift.py +0 -95
  1204. build/lib/build/lib/build/lib/build/lib/nabu/preproc/shift_cuda.py +0 -102
  1205. build/lib/build/lib/build/lib/build/lib/nabu/preproc/tests/__init__.py +0 -1
  1206. build/lib/build/lib/build/lib/build/lib/nabu/preproc/tests/test_ccd_corr.py +0 -59
  1207. build/lib/build/lib/build/lib/build/lib/nabu/preproc/tests/test_ctf.py +0 -250
  1208. build/lib/build/lib/build/lib/build/lib/nabu/preproc/tests/test_double_flatfield.py +0 -86
  1209. build/lib/build/lib/build/lib/build/lib/nabu/preproc/tests/test_flatfield.py +0 -626
  1210. build/lib/build/lib/build/lib/build/lib/nabu/preproc/tests/test_paganin.py +0 -67
  1211. build/lib/build/lib/build/lib/build/lib/nabu/preproc/tests/test_vshift.py +0 -73
  1212. build/lib/build/lib/build/lib/build/lib/nabu/processing/__init__.py +0 -0
  1213. build/lib/build/lib/build/lib/build/lib/nabu/processing/convolution_cuda.py +0 -375
  1214. build/lib/build/lib/build/lib/build/lib/nabu/processing/fft_base.py +0 -163
  1215. build/lib/build/lib/build/lib/build/lib/nabu/processing/fft_cuda.py +0 -256
  1216. build/lib/build/lib/build/lib/build/lib/nabu/processing/fft_opencl.py +0 -54
  1217. build/lib/build/lib/build/lib/build/lib/nabu/processing/fftshift.py +0 -134
  1218. build/lib/build/lib/build/lib/build/lib/nabu/processing/histogram.py +0 -286
  1219. build/lib/build/lib/build/lib/build/lib/nabu/processing/histogram_cuda.py +0 -103
  1220. build/lib/build/lib/build/lib/build/lib/nabu/processing/kernel_base.py +0 -126
  1221. build/lib/build/lib/build/lib/build/lib/nabu/processing/medfilt_cuda.py +0 -159
  1222. build/lib/build/lib/build/lib/build/lib/nabu/processing/muladd.py +0 -29
  1223. build/lib/build/lib/build/lib/build/lib/nabu/processing/muladd_cuda.py +0 -68
  1224. build/lib/build/lib/build/lib/build/lib/nabu/processing/padding_base.py +0 -71
  1225. build/lib/build/lib/build/lib/build/lib/nabu/processing/padding_cuda.py +0 -75
  1226. build/lib/build/lib/build/lib/build/lib/nabu/processing/padding_opencl.py +0 -77
  1227. build/lib/build/lib/build/lib/build/lib/nabu/processing/processing_base.py +0 -123
  1228. build/lib/build/lib/build/lib/build/lib/nabu/processing/roll_opencl.py +0 -64
  1229. build/lib/build/lib/build/lib/build/lib/nabu/processing/rotation.py +0 -63
  1230. build/lib/build/lib/build/lib/build/lib/nabu/processing/rotation_cuda.py +0 -66
  1231. build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/__init__.py +0 -0
  1232. build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_fft.py +0 -268
  1233. build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_fftshift.py +0 -71
  1234. build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_histogram.py +0 -55
  1235. build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_medfilt.py +0 -77
  1236. build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_muladd.py +0 -54
  1237. build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_padding.py +0 -247
  1238. build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_roll.py +0 -63
  1239. build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_rotation.py +0 -83
  1240. build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_transpose.py +0 -72
  1241. build/lib/build/lib/build/lib/build/lib/nabu/processing/tests/test_unsharp.py +0 -106
  1242. build/lib/build/lib/build/lib/build/lib/nabu/processing/transpose.py +0 -126
  1243. build/lib/build/lib/build/lib/build/lib/nabu/processing/unsharp.py +0 -79
  1244. build/lib/build/lib/build/lib/build/lib/nabu/processing/unsharp_cuda.py +0 -53
  1245. build/lib/build/lib/build/lib/build/lib/nabu/processing/unsharp_opencl.py +0 -75
  1246. build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/__init__.py +0 -3
  1247. build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/cone.py +0 -241
  1248. build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/fbp.py +0 -124
  1249. build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/fbp_base.py +0 -391
  1250. build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/fbp_opencl.py +0 -78
  1251. build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/filtering.py +0 -220
  1252. build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/filtering_cuda.py +0 -103
  1253. build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/filtering_opencl.py +0 -111
  1254. build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/projection.py +0 -240
  1255. build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/reconstructor.py +0 -174
  1256. build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/reconstructor_cuda.py +0 -44
  1257. build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/rings.py +0 -248
  1258. build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/rings_cuda.py +0 -322
  1259. build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/sinogram.py +0 -467
  1260. build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/sinogram_cuda.py +0 -250
  1261. build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/sinogram_opencl.py +0 -40
  1262. build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/tests/__init__.py +0 -1
  1263. build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/tests/test_cone.py +0 -308
  1264. build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/tests/test_deringer.py +0 -220
  1265. build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/tests/test_fbp.py +0 -252
  1266. build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/tests/test_filtering.py +0 -133
  1267. build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/tests/test_halftomo.py +0 -100
  1268. build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/tests/test_projector.py +0 -164
  1269. build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/tests/test_reconstructor.py +0 -93
  1270. build/lib/build/lib/build/lib/build/lib/nabu/reconstruction/tests/test_sino_normalization.py +0 -85
  1271. build/lib/build/lib/build/lib/build/lib/nabu/resources/__init__.py +0 -0
  1272. build/lib/build/lib/build/lib/build/lib/nabu/resources/cli/__init__.py +0 -0
  1273. build/lib/build/lib/build/lib/build/lib/nabu/resources/cor.py +0 -5
  1274. build/lib/build/lib/build/lib/build/lib/nabu/resources/dataset_analyzer.py +0 -469
  1275. build/lib/build/lib/build/lib/build/lib/nabu/resources/gpu.py +0 -169
  1276. build/lib/build/lib/build/lib/build/lib/nabu/resources/logger.py +0 -130
  1277. build/lib/build/lib/build/lib/build/lib/nabu/resources/nxflatfield.py +0 -217
  1278. build/lib/build/lib/build/lib/build/lib/nabu/resources/templates/__init__.py +0 -0
  1279. build/lib/build/lib/build/lib/build/lib/nabu/resources/tests/__init__.py +0 -0
  1280. build/lib/build/lib/build/lib/build/lib/nabu/resources/tests/test_nxflatfield.py +0 -104
  1281. build/lib/build/lib/build/lib/build/lib/nabu/resources/tests/test_units.py +0 -47
  1282. build/lib/build/lib/build/lib/build/lib/nabu/resources/utils.py +0 -174
  1283. build/lib/build/lib/build/lib/build/lib/nabu/stitching/__init__.py +0 -0
  1284. build/lib/build/lib/build/lib/build/lib/nabu/stitching/alignment.py +0 -184
  1285. build/lib/build/lib/build/lib/build/lib/nabu/stitching/config.py +0 -1286
  1286. build/lib/build/lib/build/lib/build/lib/nabu/stitching/definitions.py +0 -6
  1287. build/lib/build/lib/build/lib/build/lib/nabu/stitching/frame_composition.py +0 -155
  1288. build/lib/build/lib/build/lib/build/lib/nabu/stitching/overlap.py +0 -373
  1289. build/lib/build/lib/build/lib/build/lib/nabu/stitching/sample_normalization.py +0 -60
  1290. build/lib/build/lib/build/lib/build/lib/nabu/stitching/slurm_utils.py +0 -204
  1291. build/lib/build/lib/build/lib/build/lib/nabu/stitching/tests/__init__.py +0 -0
  1292. build/lib/build/lib/build/lib/build/lib/nabu/stitching/tests/test_alignment.py +0 -99
  1293. build/lib/build/lib/build/lib/build/lib/nabu/stitching/tests/test_config.py +0 -226
  1294. build/lib/build/lib/build/lib/build/lib/nabu/stitching/tests/test_frame_composition.py +0 -180
  1295. build/lib/build/lib/build/lib/build/lib/nabu/stitching/tests/test_overlap.py +0 -98
  1296. build/lib/build/lib/build/lib/build/lib/nabu/stitching/tests/test_sample_normalization.py +0 -49
  1297. build/lib/build/lib/build/lib/build/lib/nabu/stitching/tests/test_slurm_utils.py +0 -146
  1298. build/lib/build/lib/build/lib/build/lib/nabu/stitching/tests/test_utils.py +0 -21
  1299. build/lib/build/lib/build/lib/build/lib/nabu/stitching/tests/test_z_stitching.py +0 -1183
  1300. build/lib/build/lib/build/lib/build/lib/nabu/stitching/utils.py +0 -563
  1301. build/lib/build/lib/build/lib/build/lib/nabu/stitching/z_stitching.py +0 -2279
  1302. build/lib/build/lib/build/lib/build/lib/nabu/tests.py +0 -51
  1303. build/lib/build/lib/build/lib/build/lib/nabu/testutils.py +0 -375
  1304. build/lib/build/lib/build/lib/build/lib/nabu/thirdparty/__init__.py +0 -0
  1305. build/lib/build/lib/build/lib/build/lib/nabu/thirdparty/algotom_convert_sino.py +0 -276
  1306. build/lib/build/lib/build/lib/build/lib/nabu/thirdparty/pore3d_deringer_munch.py +0 -108
  1307. build/lib/build/lib/build/lib/build/lib/nabu/thirdparty/tomocupy_remove_stripe.py +0 -586
  1308. build/lib/build/lib/build/lib/build/lib/nabu/thirdparty/tomopy_phase.py +0 -239
  1309. build/lib/build/lib/build/lib/build/lib/nabu/thirdparty/tomwer_load_flats_darks.py +0 -162
  1310. build/lib/build/lib/build/lib/build/lib/nabu/utils.py +0 -836
  1311. build/lib/build/lib/build/lib/doc/conf.py +0 -137
  1312. build/lib/build/lib/build/lib/doc/create_conf_doc.py +0 -38
  1313. build/lib/build/lib/build/lib/doc/get_mathjax.py +0 -34
  1314. build/lib/build/lib/build/lib/nabu/__init__.py +0 -17
  1315. build/lib/build/lib/build/lib/nabu/app/__init__.py +0 -0
  1316. build/lib/build/lib/build/lib/nabu/app/bootstrap.py +0 -88
  1317. build/lib/build/lib/build/lib/nabu/app/bootstrap_stitching.py +0 -69
  1318. build/lib/build/lib/build/lib/nabu/app/cast_volume.py +0 -272
  1319. build/lib/build/lib/build/lib/nabu/app/cli_configs.py +0 -626
  1320. build/lib/build/lib/build/lib/nabu/app/compare_volumes.py +0 -94
  1321. build/lib/build/lib/build/lib/nabu/app/composite_cor.py +0 -144
  1322. build/lib/build/lib/build/lib/nabu/app/correct_rot.py +0 -70
  1323. build/lib/build/lib/build/lib/nabu/app/create_distortion_map_from_poly.py +0 -153
  1324. build/lib/build/lib/build/lib/nabu/app/diag_to_pix.py +0 -358
  1325. build/lib/build/lib/build/lib/nabu/app/diag_to_rot.py +0 -449
  1326. build/lib/build/lib/build/lib/nabu/app/double_flatfield.py +0 -143
  1327. build/lib/build/lib/build/lib/nabu/app/generate_header.py +0 -261
  1328. build/lib/build/lib/build/lib/nabu/app/histogram.py +0 -197
  1329. build/lib/build/lib/build/lib/nabu/app/multicor.py +0 -90
  1330. build/lib/build/lib/build/lib/nabu/app/nx_z_splitter.py +0 -125
  1331. build/lib/build/lib/build/lib/nabu/app/parse_reconstruction_log.py +0 -151
  1332. build/lib/build/lib/build/lib/nabu/app/prepare_weights_double.py +0 -163
  1333. build/lib/build/lib/build/lib/nabu/app/reconstruct.py +0 -120
  1334. build/lib/build/lib/build/lib/nabu/app/reconstruct_helical.py +0 -116
  1335. build/lib/build/lib/build/lib/nabu/app/reduce_dark_flat.py +0 -181
  1336. build/lib/build/lib/build/lib/nabu/app/rotate.py +0 -162
  1337. build/lib/build/lib/build/lib/nabu/app/shrink_dataset.py +0 -98
  1338. build/lib/build/lib/build/lib/nabu/app/stitching.py +0 -85
  1339. build/lib/build/lib/build/lib/nabu/app/tests/test_reduce_dark_flat.py +0 -78
  1340. build/lib/build/lib/build/lib/nabu/app/utils.py +0 -33
  1341. build/lib/build/lib/build/lib/nabu/app/validator.py +0 -110
  1342. build/lib/build/lib/build/lib/nabu/cuda/__init__.py +0 -0
  1343. build/lib/build/lib/build/lib/nabu/cuda/convolution.py +0 -8
  1344. build/lib/build/lib/build/lib/nabu/cuda/fft.py +0 -4
  1345. build/lib/build/lib/build/lib/nabu/cuda/kernel.py +0 -97
  1346. build/lib/build/lib/build/lib/nabu/cuda/medfilt.py +0 -6
  1347. build/lib/build/lib/build/lib/nabu/cuda/padding.py +0 -6
  1348. build/lib/build/lib/build/lib/nabu/cuda/processing.py +0 -75
  1349. build/lib/build/lib/build/lib/nabu/cuda/tests/__init__.py +0 -1
  1350. build/lib/build/lib/build/lib/nabu/cuda/utils.py +0 -331
  1351. build/lib/build/lib/build/lib/nabu/estimation/__init__.py +0 -12
  1352. build/lib/build/lib/build/lib/nabu/estimation/alignment.py +0 -578
  1353. build/lib/build/lib/build/lib/nabu/estimation/cor.py +0 -1621
  1354. build/lib/build/lib/build/lib/nabu/estimation/cor_sino.py +0 -183
  1355. build/lib/build/lib/build/lib/nabu/estimation/distortion.py +0 -112
  1356. build/lib/build/lib/build/lib/nabu/estimation/focus.py +0 -362
  1357. build/lib/build/lib/build/lib/nabu/estimation/tests/__init__.py +0 -0
  1358. build/lib/build/lib/build/lib/nabu/estimation/tests/test_alignment.py +0 -70
  1359. build/lib/build/lib/build/lib/nabu/estimation/tests/test_cor.py +0 -472
  1360. build/lib/build/lib/build/lib/nabu/estimation/tests/test_focus.py +0 -105
  1361. build/lib/build/lib/build/lib/nabu/estimation/tests/test_tilt.py +0 -41
  1362. build/lib/build/lib/build/lib/nabu/estimation/tests/test_translation.py +0 -78
  1363. build/lib/build/lib/build/lib/nabu/estimation/tilt.py +0 -214
  1364. build/lib/build/lib/build/lib/nabu/estimation/translation.py +0 -193
  1365. build/lib/build/lib/build/lib/nabu/estimation/utils.py +0 -39
  1366. build/lib/build/lib/build/lib/nabu/io/__init__.py +0 -2
  1367. build/lib/build/lib/build/lib/nabu/io/cast_volume.py +0 -371
  1368. build/lib/build/lib/build/lib/nabu/io/detector_distortion.py +0 -305
  1369. build/lib/build/lib/build/lib/nabu/io/reader.py +0 -628
  1370. build/lib/build/lib/build/lib/nabu/io/reader_helical.py +0 -114
  1371. build/lib/build/lib/build/lib/nabu/io/tests/__init__.py +0 -0
  1372. build/lib/build/lib/build/lib/nabu/io/tests/test_cast_volume.py +0 -339
  1373. build/lib/build/lib/build/lib/nabu/io/tests/test_detector_distortion.py +0 -178
  1374. build/lib/build/lib/build/lib/nabu/io/tests/test_writers.py +0 -187
  1375. build/lib/build/lib/build/lib/nabu/io/tiffwriter_zmm.py +0 -99
  1376. build/lib/build/lib/build/lib/nabu/io/utils.py +0 -263
  1377. build/lib/build/lib/build/lib/nabu/io/writer.py +0 -892
  1378. build/lib/build/lib/build/lib/nabu/misc/__init__.py +0 -0
  1379. build/lib/build/lib/build/lib/nabu/misc/binning.py +0 -98
  1380. build/lib/build/lib/build/lib/nabu/misc/fftshift.py +0 -6
  1381. build/lib/build/lib/build/lib/nabu/misc/filters.py +0 -24
  1382. build/lib/build/lib/build/lib/nabu/misc/fourier_filters.py +0 -152
  1383. build/lib/build/lib/build/lib/nabu/misc/histogram.py +0 -6
  1384. build/lib/build/lib/build/lib/nabu/misc/histogram_cuda.py +0 -8
  1385. build/lib/build/lib/build/lib/nabu/misc/kernel_base.py +0 -4
  1386. build/lib/build/lib/build/lib/nabu/misc/padding.py +0 -83
  1387. build/lib/build/lib/build/lib/nabu/misc/padding_base.py +0 -6
  1388. build/lib/build/lib/build/lib/nabu/misc/processing_base.py +0 -4
  1389. build/lib/build/lib/build/lib/nabu/misc/rotation.py +0 -6
  1390. build/lib/build/lib/build/lib/nabu/misc/rotation_cuda.py +0 -6
  1391. build/lib/build/lib/build/lib/nabu/misc/tests/__init__.py +0 -1
  1392. build/lib/build/lib/build/lib/nabu/misc/tests/test_binning.py +0 -48
  1393. build/lib/build/lib/build/lib/nabu/misc/tests/test_interpolation.py +0 -70
  1394. build/lib/build/lib/build/lib/nabu/misc/transpose.py +0 -6
  1395. build/lib/build/lib/build/lib/nabu/misc/unsharp.py +0 -4
  1396. build/lib/build/lib/build/lib/nabu/misc/unsharp_cuda.py +0 -6
  1397. build/lib/build/lib/build/lib/nabu/misc/unsharp_opencl.py +0 -8
  1398. build/lib/build/lib/build/lib/nabu/misc/utils.py +0 -117
  1399. build/lib/build/lib/build/lib/nabu/opencl/__init__.py +0 -0
  1400. build/lib/build/lib/build/lib/nabu/opencl/fft.py +0 -6
  1401. build/lib/build/lib/build/lib/nabu/opencl/kernel.py +0 -135
  1402. build/lib/build/lib/build/lib/nabu/opencl/memcpy.py +0 -35
  1403. build/lib/build/lib/build/lib/nabu/opencl/padding.py +0 -6
  1404. build/lib/build/lib/build/lib/nabu/opencl/processing.py +0 -62
  1405. build/lib/build/lib/build/lib/nabu/opencl/tests/__init__.py +0 -0
  1406. build/lib/build/lib/build/lib/nabu/opencl/utils.py +0 -292
  1407. build/lib/build/lib/build/lib/nabu/pipeline/__init__.py +0 -0
  1408. build/lib/build/lib/build/lib/nabu/pipeline/config.py +0 -265
  1409. build/lib/build/lib/build/lib/nabu/pipeline/config_validators.py +0 -589
  1410. build/lib/build/lib/build/lib/nabu/pipeline/datadump.py +0 -164
  1411. build/lib/build/lib/build/lib/nabu/pipeline/dataset_validator.py +0 -211
  1412. build/lib/build/lib/build/lib/nabu/pipeline/detector_distortion_provider.py +0 -20
  1413. build/lib/build/lib/build/lib/nabu/pipeline/estimators.py +0 -1012
  1414. build/lib/build/lib/build/lib/nabu/pipeline/fallback_utils.py +0 -149
  1415. build/lib/build/lib/build/lib/nabu/pipeline/fullfield/__init__.py +0 -0
  1416. build/lib/build/lib/build/lib/nabu/pipeline/fullfield/chunked.py +0 -849
  1417. build/lib/build/lib/build/lib/nabu/pipeline/fullfield/chunked_cuda.py +0 -152
  1418. build/lib/build/lib/build/lib/nabu/pipeline/fullfield/computations.py +0 -260
  1419. build/lib/build/lib/build/lib/nabu/pipeline/fullfield/dataset_validator.py +0 -63
  1420. build/lib/build/lib/build/lib/nabu/pipeline/fullfield/nabu_config.py +0 -590
  1421. build/lib/build/lib/build/lib/nabu/pipeline/fullfield/processconfig.py +0 -825
  1422. build/lib/build/lib/build/lib/nabu/pipeline/fullfield/reconstruction.py +0 -851
  1423. build/lib/build/lib/build/lib/nabu/pipeline/helical/__init__.py +0 -0
  1424. build/lib/build/lib/build/lib/nabu/pipeline/helical/dataset_validator.py +0 -19
  1425. build/lib/build/lib/build/lib/nabu/pipeline/helical/fbp.py +0 -147
  1426. build/lib/build/lib/build/lib/nabu/pipeline/helical/filtering.py +0 -246
  1427. build/lib/build/lib/build/lib/nabu/pipeline/helical/gridded_accumulator.py +0 -575
  1428. build/lib/build/lib/build/lib/nabu/pipeline/helical/helical_chunked_regridded.py +0 -1670
  1429. build/lib/build/lib/build/lib/nabu/pipeline/helical/helical_chunked_regridded_cuda.py +0 -119
  1430. build/lib/build/lib/build/lib/nabu/pipeline/helical/helical_reconstruction.py +0 -598
  1431. build/lib/build/lib/build/lib/nabu/pipeline/helical/helical_utils.py +0 -42
  1432. build/lib/build/lib/build/lib/nabu/pipeline/helical/nabu_config.py +0 -175
  1433. build/lib/build/lib/build/lib/nabu/pipeline/helical/processconfig.py +0 -62
  1434. build/lib/build/lib/build/lib/nabu/pipeline/helical/span_strategy.py +0 -483
  1435. build/lib/build/lib/build/lib/nabu/pipeline/helical/tests/__init__.py +0 -0
  1436. build/lib/build/lib/build/lib/nabu/pipeline/helical/tests/test_accumulator.py +0 -157
  1437. build/lib/build/lib/build/lib/nabu/pipeline/helical/tests/test_pipeline_elements_full.py +0 -355
  1438. build/lib/build/lib/build/lib/nabu/pipeline/helical/tests/test_strategy.py +0 -61
  1439. build/lib/build/lib/build/lib/nabu/pipeline/helical/utils.py +0 -51
  1440. build/lib/build/lib/build/lib/nabu/pipeline/helical/weight_balancer.py +0 -101
  1441. build/lib/build/lib/build/lib/nabu/pipeline/params.py +0 -163
  1442. build/lib/build/lib/build/lib/nabu/pipeline/processconfig.py +0 -210
  1443. build/lib/build/lib/build/lib/nabu/pipeline/tests/test_chunk_reader.py +0 -78
  1444. build/lib/build/lib/build/lib/nabu/pipeline/tests/test_estimators.py +0 -149
  1445. build/lib/build/lib/build/lib/nabu/pipeline/utils.py +0 -116
  1446. build/lib/build/lib/build/lib/nabu/pipeline/writer.py +0 -193
  1447. build/lib/build/lib/build/lib/nabu/pipeline/xrdct/__init__.py +0 -0
  1448. build/lib/build/lib/build/lib/nabu/preproc/__init__.py +0 -7
  1449. build/lib/build/lib/build/lib/nabu/preproc/alignment.py +0 -11
  1450. build/lib/build/lib/build/lib/nabu/preproc/ccd.py +0 -161
  1451. build/lib/build/lib/build/lib/nabu/preproc/ccd_cuda.py +0 -169
  1452. build/lib/build/lib/build/lib/nabu/preproc/ctf.py +0 -361
  1453. build/lib/build/lib/build/lib/nabu/preproc/ctf_cuda.py +0 -142
  1454. build/lib/build/lib/build/lib/nabu/preproc/distortion.py +0 -92
  1455. build/lib/build/lib/build/lib/nabu/preproc/double_flatfield.py +0 -212
  1456. build/lib/build/lib/build/lib/nabu/preproc/double_flatfield_cuda.py +0 -174
  1457. build/lib/build/lib/build/lib/nabu/preproc/double_flatfield_variable_region.py +0 -68
  1458. build/lib/build/lib/build/lib/nabu/preproc/flatfield.py +0 -448
  1459. build/lib/build/lib/build/lib/nabu/preproc/flatfield_cuda.py +0 -144
  1460. build/lib/build/lib/build/lib/nabu/preproc/flatfield_variable_region.py +0 -79
  1461. build/lib/build/lib/build/lib/nabu/preproc/phase.py +0 -425
  1462. build/lib/build/lib/build/lib/nabu/preproc/phase_cuda.py +0 -143
  1463. build/lib/build/lib/build/lib/nabu/preproc/shift.py +0 -95
  1464. build/lib/build/lib/build/lib/nabu/preproc/shift_cuda.py +0 -102
  1465. build/lib/build/lib/build/lib/nabu/preproc/tests/__init__.py +0 -1
  1466. build/lib/build/lib/build/lib/nabu/preproc/tests/test_ccd_corr.py +0 -59
  1467. build/lib/build/lib/build/lib/nabu/preproc/tests/test_ctf.py +0 -250
  1468. build/lib/build/lib/build/lib/nabu/preproc/tests/test_double_flatfield.py +0 -86
  1469. build/lib/build/lib/build/lib/nabu/preproc/tests/test_flatfield.py +0 -626
  1470. build/lib/build/lib/build/lib/nabu/preproc/tests/test_paganin.py +0 -67
  1471. build/lib/build/lib/build/lib/nabu/preproc/tests/test_vshift.py +0 -73
  1472. build/lib/build/lib/build/lib/nabu/processing/__init__.py +0 -0
  1473. build/lib/build/lib/build/lib/nabu/processing/convolution_cuda.py +0 -375
  1474. build/lib/build/lib/build/lib/nabu/processing/fft_base.py +0 -163
  1475. build/lib/build/lib/build/lib/nabu/processing/fft_cuda.py +0 -256
  1476. build/lib/build/lib/build/lib/nabu/processing/fft_opencl.py +0 -54
  1477. build/lib/build/lib/build/lib/nabu/processing/fftshift.py +0 -134
  1478. build/lib/build/lib/build/lib/nabu/processing/histogram.py +0 -286
  1479. build/lib/build/lib/build/lib/nabu/processing/histogram_cuda.py +0 -103
  1480. build/lib/build/lib/build/lib/nabu/processing/kernel_base.py +0 -126
  1481. build/lib/build/lib/build/lib/nabu/processing/medfilt_cuda.py +0 -159
  1482. build/lib/build/lib/build/lib/nabu/processing/muladd.py +0 -29
  1483. build/lib/build/lib/build/lib/nabu/processing/muladd_cuda.py +0 -68
  1484. build/lib/build/lib/build/lib/nabu/processing/padding_base.py +0 -71
  1485. build/lib/build/lib/build/lib/nabu/processing/padding_cuda.py +0 -75
  1486. build/lib/build/lib/build/lib/nabu/processing/padding_opencl.py +0 -77
  1487. build/lib/build/lib/build/lib/nabu/processing/processing_base.py +0 -123
  1488. build/lib/build/lib/build/lib/nabu/processing/roll_opencl.py +0 -64
  1489. build/lib/build/lib/build/lib/nabu/processing/rotation.py +0 -63
  1490. build/lib/build/lib/build/lib/nabu/processing/rotation_cuda.py +0 -66
  1491. build/lib/build/lib/build/lib/nabu/processing/tests/__init__.py +0 -0
  1492. build/lib/build/lib/build/lib/nabu/processing/tests/test_fft.py +0 -268
  1493. build/lib/build/lib/build/lib/nabu/processing/tests/test_fftshift.py +0 -71
  1494. build/lib/build/lib/build/lib/nabu/processing/tests/test_histogram.py +0 -55
  1495. build/lib/build/lib/build/lib/nabu/processing/tests/test_medfilt.py +0 -77
  1496. build/lib/build/lib/build/lib/nabu/processing/tests/test_muladd.py +0 -54
  1497. build/lib/build/lib/build/lib/nabu/processing/tests/test_padding.py +0 -247
  1498. build/lib/build/lib/build/lib/nabu/processing/tests/test_roll.py +0 -63
  1499. build/lib/build/lib/build/lib/nabu/processing/tests/test_rotation.py +0 -83
  1500. build/lib/build/lib/build/lib/nabu/processing/tests/test_transpose.py +0 -72
  1501. build/lib/build/lib/build/lib/nabu/processing/tests/test_unsharp.py +0 -106
  1502. build/lib/build/lib/build/lib/nabu/processing/transpose.py +0 -126
  1503. build/lib/build/lib/build/lib/nabu/processing/unsharp.py +0 -79
  1504. build/lib/build/lib/build/lib/nabu/processing/unsharp_cuda.py +0 -53
  1505. build/lib/build/lib/build/lib/nabu/processing/unsharp_opencl.py +0 -75
  1506. build/lib/build/lib/build/lib/nabu/reconstruction/__init__.py +0 -3
  1507. build/lib/build/lib/build/lib/nabu/reconstruction/cone.py +0 -241
  1508. build/lib/build/lib/build/lib/nabu/reconstruction/fbp.py +0 -124
  1509. build/lib/build/lib/build/lib/nabu/reconstruction/fbp_base.py +0 -391
  1510. build/lib/build/lib/build/lib/nabu/reconstruction/fbp_opencl.py +0 -78
  1511. build/lib/build/lib/build/lib/nabu/reconstruction/filtering.py +0 -220
  1512. build/lib/build/lib/build/lib/nabu/reconstruction/filtering_cuda.py +0 -103
  1513. build/lib/build/lib/build/lib/nabu/reconstruction/filtering_opencl.py +0 -111
  1514. build/lib/build/lib/build/lib/nabu/reconstruction/projection.py +0 -240
  1515. build/lib/build/lib/build/lib/nabu/reconstruction/reconstructor.py +0 -174
  1516. build/lib/build/lib/build/lib/nabu/reconstruction/reconstructor_cuda.py +0 -44
  1517. build/lib/build/lib/build/lib/nabu/reconstruction/rings.py +0 -248
  1518. build/lib/build/lib/build/lib/nabu/reconstruction/rings_cuda.py +0 -322
  1519. build/lib/build/lib/build/lib/nabu/reconstruction/sinogram.py +0 -467
  1520. build/lib/build/lib/build/lib/nabu/reconstruction/sinogram_cuda.py +0 -250
  1521. build/lib/build/lib/build/lib/nabu/reconstruction/sinogram_opencl.py +0 -40
  1522. build/lib/build/lib/build/lib/nabu/reconstruction/tests/__init__.py +0 -1
  1523. build/lib/build/lib/build/lib/nabu/reconstruction/tests/test_cone.py +0 -308
  1524. build/lib/build/lib/build/lib/nabu/reconstruction/tests/test_deringer.py +0 -220
  1525. build/lib/build/lib/build/lib/nabu/reconstruction/tests/test_fbp.py +0 -252
  1526. build/lib/build/lib/build/lib/nabu/reconstruction/tests/test_filtering.py +0 -133
  1527. build/lib/build/lib/build/lib/nabu/reconstruction/tests/test_halftomo.py +0 -100
  1528. build/lib/build/lib/build/lib/nabu/reconstruction/tests/test_projector.py +0 -164
  1529. build/lib/build/lib/build/lib/nabu/reconstruction/tests/test_reconstructor.py +0 -93
  1530. build/lib/build/lib/build/lib/nabu/reconstruction/tests/test_sino_normalization.py +0 -85
  1531. build/lib/build/lib/build/lib/nabu/resources/__init__.py +0 -0
  1532. build/lib/build/lib/build/lib/nabu/resources/cli/__init__.py +0 -0
  1533. build/lib/build/lib/build/lib/nabu/resources/cor.py +0 -5
  1534. build/lib/build/lib/build/lib/nabu/resources/dataset_analyzer.py +0 -469
  1535. build/lib/build/lib/build/lib/nabu/resources/gpu.py +0 -169
  1536. build/lib/build/lib/build/lib/nabu/resources/logger.py +0 -130
  1537. build/lib/build/lib/build/lib/nabu/resources/nxflatfield.py +0 -217
  1538. build/lib/build/lib/build/lib/nabu/resources/templates/__init__.py +0 -0
  1539. build/lib/build/lib/build/lib/nabu/resources/tests/__init__.py +0 -0
  1540. build/lib/build/lib/build/lib/nabu/resources/tests/test_nxflatfield.py +0 -104
  1541. build/lib/build/lib/build/lib/nabu/resources/tests/test_units.py +0 -47
  1542. build/lib/build/lib/build/lib/nabu/resources/utils.py +0 -174
  1543. build/lib/build/lib/build/lib/nabu/stitching/__init__.py +0 -0
  1544. build/lib/build/lib/build/lib/nabu/stitching/alignment.py +0 -184
  1545. build/lib/build/lib/build/lib/nabu/stitching/config.py +0 -1286
  1546. build/lib/build/lib/build/lib/nabu/stitching/definitions.py +0 -6
  1547. build/lib/build/lib/build/lib/nabu/stitching/frame_composition.py +0 -155
  1548. build/lib/build/lib/build/lib/nabu/stitching/overlap.py +0 -373
  1549. build/lib/build/lib/build/lib/nabu/stitching/sample_normalization.py +0 -60
  1550. build/lib/build/lib/build/lib/nabu/stitching/slurm_utils.py +0 -204
  1551. build/lib/build/lib/build/lib/nabu/stitching/tests/__init__.py +0 -0
  1552. build/lib/build/lib/build/lib/nabu/stitching/tests/test_alignment.py +0 -99
  1553. build/lib/build/lib/build/lib/nabu/stitching/tests/test_config.py +0 -226
  1554. build/lib/build/lib/build/lib/nabu/stitching/tests/test_frame_composition.py +0 -180
  1555. build/lib/build/lib/build/lib/nabu/stitching/tests/test_overlap.py +0 -98
  1556. build/lib/build/lib/build/lib/nabu/stitching/tests/test_sample_normalization.py +0 -49
  1557. build/lib/build/lib/build/lib/nabu/stitching/tests/test_slurm_utils.py +0 -146
  1558. build/lib/build/lib/build/lib/nabu/stitching/tests/test_utils.py +0 -21
  1559. build/lib/build/lib/build/lib/nabu/stitching/tests/test_z_stitching.py +0 -1183
  1560. build/lib/build/lib/build/lib/nabu/stitching/utils.py +0 -563
  1561. build/lib/build/lib/build/lib/nabu/stitching/z_stitching.py +0 -2279
  1562. build/lib/build/lib/build/lib/nabu/tests.py +0 -51
  1563. build/lib/build/lib/build/lib/nabu/testutils.py +0 -375
  1564. build/lib/build/lib/build/lib/nabu/thirdparty/__init__.py +0 -0
  1565. build/lib/build/lib/build/lib/nabu/thirdparty/algotom_convert_sino.py +0 -276
  1566. build/lib/build/lib/build/lib/nabu/thirdparty/pore3d_deringer_munch.py +0 -108
  1567. build/lib/build/lib/build/lib/nabu/thirdparty/tomocupy_remove_stripe.py +0 -586
  1568. build/lib/build/lib/build/lib/nabu/thirdparty/tomopy_phase.py +0 -239
  1569. build/lib/build/lib/build/lib/nabu/thirdparty/tomwer_load_flats_darks.py +0 -162
  1570. build/lib/build/lib/build/lib/nabu/utils.py +0 -836
  1571. build/lib/build/lib/doc/conf.py +0 -137
  1572. build/lib/build/lib/doc/create_conf_doc.py +0 -38
  1573. build/lib/build/lib/doc/get_mathjax.py +0 -34
  1574. build/lib/build/lib/nabu/__init__.py +0 -17
  1575. build/lib/build/lib/nabu/app/__init__.py +0 -0
  1576. build/lib/build/lib/nabu/app/bootstrap.py +0 -88
  1577. build/lib/build/lib/nabu/app/bootstrap_stitching.py +0 -69
  1578. build/lib/build/lib/nabu/app/cast_volume.py +0 -272
  1579. build/lib/build/lib/nabu/app/cli_configs.py +0 -626
  1580. build/lib/build/lib/nabu/app/compare_volumes.py +0 -94
  1581. build/lib/build/lib/nabu/app/composite_cor.py +0 -144
  1582. build/lib/build/lib/nabu/app/correct_rot.py +0 -70
  1583. build/lib/build/lib/nabu/app/create_distortion_map_from_poly.py +0 -153
  1584. build/lib/build/lib/nabu/app/diag_to_pix.py +0 -358
  1585. build/lib/build/lib/nabu/app/diag_to_rot.py +0 -449
  1586. build/lib/build/lib/nabu/app/double_flatfield.py +0 -143
  1587. build/lib/build/lib/nabu/app/generate_header.py +0 -261
  1588. build/lib/build/lib/nabu/app/histogram.py +0 -197
  1589. build/lib/build/lib/nabu/app/multicor.py +0 -90
  1590. build/lib/build/lib/nabu/app/nx_z_splitter.py +0 -125
  1591. build/lib/build/lib/nabu/app/parse_reconstruction_log.py +0 -151
  1592. build/lib/build/lib/nabu/app/prepare_weights_double.py +0 -163
  1593. build/lib/build/lib/nabu/app/reconstruct.py +0 -120
  1594. build/lib/build/lib/nabu/app/reconstruct_helical.py +0 -116
  1595. build/lib/build/lib/nabu/app/reduce_dark_flat.py +0 -181
  1596. build/lib/build/lib/nabu/app/rotate.py +0 -162
  1597. build/lib/build/lib/nabu/app/shrink_dataset.py +0 -98
  1598. build/lib/build/lib/nabu/app/stitching.py +0 -85
  1599. build/lib/build/lib/nabu/app/tests/test_reduce_dark_flat.py +0 -78
  1600. build/lib/build/lib/nabu/app/utils.py +0 -33
  1601. build/lib/build/lib/nabu/app/validator.py +0 -110
  1602. build/lib/build/lib/nabu/cuda/__init__.py +0 -0
  1603. build/lib/build/lib/nabu/cuda/convolution.py +0 -8
  1604. build/lib/build/lib/nabu/cuda/fft.py +0 -4
  1605. build/lib/build/lib/nabu/cuda/kernel.py +0 -97
  1606. build/lib/build/lib/nabu/cuda/medfilt.py +0 -6
  1607. build/lib/build/lib/nabu/cuda/padding.py +0 -6
  1608. build/lib/build/lib/nabu/cuda/processing.py +0 -75
  1609. build/lib/build/lib/nabu/cuda/tests/__init__.py +0 -1
  1610. build/lib/build/lib/nabu/cuda/utils.py +0 -331
  1611. build/lib/build/lib/nabu/estimation/__init__.py +0 -12
  1612. build/lib/build/lib/nabu/estimation/alignment.py +0 -578
  1613. build/lib/build/lib/nabu/estimation/cor.py +0 -1621
  1614. build/lib/build/lib/nabu/estimation/cor_sino.py +0 -183
  1615. build/lib/build/lib/nabu/estimation/distortion.py +0 -112
  1616. build/lib/build/lib/nabu/estimation/focus.py +0 -362
  1617. build/lib/build/lib/nabu/estimation/tests/__init__.py +0 -0
  1618. build/lib/build/lib/nabu/estimation/tests/test_alignment.py +0 -70
  1619. build/lib/build/lib/nabu/estimation/tests/test_cor.py +0 -472
  1620. build/lib/build/lib/nabu/estimation/tests/test_focus.py +0 -105
  1621. build/lib/build/lib/nabu/estimation/tests/test_tilt.py +0 -41
  1622. build/lib/build/lib/nabu/estimation/tests/test_translation.py +0 -78
  1623. build/lib/build/lib/nabu/estimation/tilt.py +0 -214
  1624. build/lib/build/lib/nabu/estimation/translation.py +0 -193
  1625. build/lib/build/lib/nabu/estimation/utils.py +0 -39
  1626. build/lib/build/lib/nabu/io/__init__.py +0 -2
  1627. build/lib/build/lib/nabu/io/cast_volume.py +0 -371
  1628. build/lib/build/lib/nabu/io/detector_distortion.py +0 -305
  1629. build/lib/build/lib/nabu/io/reader.py +0 -628
  1630. build/lib/build/lib/nabu/io/reader_helical.py +0 -114
  1631. build/lib/build/lib/nabu/io/tests/__init__.py +0 -0
  1632. build/lib/build/lib/nabu/io/tests/test_cast_volume.py +0 -339
  1633. build/lib/build/lib/nabu/io/tests/test_detector_distortion.py +0 -178
  1634. build/lib/build/lib/nabu/io/tests/test_writers.py +0 -187
  1635. build/lib/build/lib/nabu/io/tiffwriter_zmm.py +0 -99
  1636. build/lib/build/lib/nabu/io/utils.py +0 -263
  1637. build/lib/build/lib/nabu/io/writer.py +0 -892
  1638. build/lib/build/lib/nabu/misc/__init__.py +0 -0
  1639. build/lib/build/lib/nabu/misc/binning.py +0 -98
  1640. build/lib/build/lib/nabu/misc/fftshift.py +0 -6
  1641. build/lib/build/lib/nabu/misc/filters.py +0 -24
  1642. build/lib/build/lib/nabu/misc/fourier_filters.py +0 -152
  1643. build/lib/build/lib/nabu/misc/histogram.py +0 -6
  1644. build/lib/build/lib/nabu/misc/histogram_cuda.py +0 -8
  1645. build/lib/build/lib/nabu/misc/kernel_base.py +0 -4
  1646. build/lib/build/lib/nabu/misc/padding.py +0 -83
  1647. build/lib/build/lib/nabu/misc/padding_base.py +0 -6
  1648. build/lib/build/lib/nabu/misc/processing_base.py +0 -4
  1649. build/lib/build/lib/nabu/misc/rotation.py +0 -6
  1650. build/lib/build/lib/nabu/misc/rotation_cuda.py +0 -6
  1651. build/lib/build/lib/nabu/misc/tests/__init__.py +0 -1
  1652. build/lib/build/lib/nabu/misc/tests/test_binning.py +0 -48
  1653. build/lib/build/lib/nabu/misc/tests/test_interpolation.py +0 -70
  1654. build/lib/build/lib/nabu/misc/transpose.py +0 -6
  1655. build/lib/build/lib/nabu/misc/unsharp.py +0 -4
  1656. build/lib/build/lib/nabu/misc/unsharp_cuda.py +0 -6
  1657. build/lib/build/lib/nabu/misc/unsharp_opencl.py +0 -8
  1658. build/lib/build/lib/nabu/misc/utils.py +0 -117
  1659. build/lib/build/lib/nabu/opencl/__init__.py +0 -0
  1660. build/lib/build/lib/nabu/opencl/fft.py +0 -6
  1661. build/lib/build/lib/nabu/opencl/kernel.py +0 -135
  1662. build/lib/build/lib/nabu/opencl/memcpy.py +0 -35
  1663. build/lib/build/lib/nabu/opencl/padding.py +0 -6
  1664. build/lib/build/lib/nabu/opencl/processing.py +0 -62
  1665. build/lib/build/lib/nabu/opencl/tests/__init__.py +0 -0
  1666. build/lib/build/lib/nabu/opencl/utils.py +0 -292
  1667. build/lib/build/lib/nabu/pipeline/__init__.py +0 -0
  1668. build/lib/build/lib/nabu/pipeline/config.py +0 -265
  1669. build/lib/build/lib/nabu/pipeline/config_validators.py +0 -589
  1670. build/lib/build/lib/nabu/pipeline/datadump.py +0 -164
  1671. build/lib/build/lib/nabu/pipeline/dataset_validator.py +0 -211
  1672. build/lib/build/lib/nabu/pipeline/detector_distortion_provider.py +0 -20
  1673. build/lib/build/lib/nabu/pipeline/estimators.py +0 -1012
  1674. build/lib/build/lib/nabu/pipeline/fallback_utils.py +0 -149
  1675. build/lib/build/lib/nabu/pipeline/fullfield/__init__.py +0 -0
  1676. build/lib/build/lib/nabu/pipeline/fullfield/chunked.py +0 -849
  1677. build/lib/build/lib/nabu/pipeline/fullfield/chunked_cuda.py +0 -152
  1678. build/lib/build/lib/nabu/pipeline/fullfield/computations.py +0 -260
  1679. build/lib/build/lib/nabu/pipeline/fullfield/dataset_validator.py +0 -63
  1680. build/lib/build/lib/nabu/pipeline/fullfield/nabu_config.py +0 -590
  1681. build/lib/build/lib/nabu/pipeline/fullfield/processconfig.py +0 -825
  1682. build/lib/build/lib/nabu/pipeline/fullfield/reconstruction.py +0 -851
  1683. build/lib/build/lib/nabu/pipeline/helical/__init__.py +0 -0
  1684. build/lib/build/lib/nabu/pipeline/helical/dataset_validator.py +0 -19
  1685. build/lib/build/lib/nabu/pipeline/helical/fbp.py +0 -147
  1686. build/lib/build/lib/nabu/pipeline/helical/filtering.py +0 -246
  1687. build/lib/build/lib/nabu/pipeline/helical/gridded_accumulator.py +0 -575
  1688. build/lib/build/lib/nabu/pipeline/helical/helical_chunked_regridded.py +0 -1670
  1689. build/lib/build/lib/nabu/pipeline/helical/helical_chunked_regridded_cuda.py +0 -119
  1690. build/lib/build/lib/nabu/pipeline/helical/helical_reconstruction.py +0 -598
  1691. build/lib/build/lib/nabu/pipeline/helical/helical_utils.py +0 -42
  1692. build/lib/build/lib/nabu/pipeline/helical/nabu_config.py +0 -175
  1693. build/lib/build/lib/nabu/pipeline/helical/processconfig.py +0 -62
  1694. build/lib/build/lib/nabu/pipeline/helical/span_strategy.py +0 -483
  1695. build/lib/build/lib/nabu/pipeline/helical/tests/__init__.py +0 -0
  1696. build/lib/build/lib/nabu/pipeline/helical/tests/test_accumulator.py +0 -157
  1697. build/lib/build/lib/nabu/pipeline/helical/tests/test_pipeline_elements_full.py +0 -355
  1698. build/lib/build/lib/nabu/pipeline/helical/tests/test_strategy.py +0 -61
  1699. build/lib/build/lib/nabu/pipeline/helical/utils.py +0 -51
  1700. build/lib/build/lib/nabu/pipeline/helical/weight_balancer.py +0 -101
  1701. build/lib/build/lib/nabu/pipeline/params.py +0 -163
  1702. build/lib/build/lib/nabu/pipeline/processconfig.py +0 -210
  1703. build/lib/build/lib/nabu/pipeline/tests/test_chunk_reader.py +0 -78
  1704. build/lib/build/lib/nabu/pipeline/tests/test_estimators.py +0 -149
  1705. build/lib/build/lib/nabu/pipeline/utils.py +0 -116
  1706. build/lib/build/lib/nabu/pipeline/writer.py +0 -193
  1707. build/lib/build/lib/nabu/pipeline/xrdct/__init__.py +0 -0
  1708. build/lib/build/lib/nabu/preproc/__init__.py +0 -7
  1709. build/lib/build/lib/nabu/preproc/alignment.py +0 -11
  1710. build/lib/build/lib/nabu/preproc/ccd.py +0 -161
  1711. build/lib/build/lib/nabu/preproc/ccd_cuda.py +0 -169
  1712. build/lib/build/lib/nabu/preproc/ctf.py +0 -361
  1713. build/lib/build/lib/nabu/preproc/ctf_cuda.py +0 -142
  1714. build/lib/build/lib/nabu/preproc/distortion.py +0 -92
  1715. build/lib/build/lib/nabu/preproc/double_flatfield.py +0 -212
  1716. build/lib/build/lib/nabu/preproc/double_flatfield_cuda.py +0 -174
  1717. build/lib/build/lib/nabu/preproc/double_flatfield_variable_region.py +0 -68
  1718. build/lib/build/lib/nabu/preproc/flatfield.py +0 -448
  1719. build/lib/build/lib/nabu/preproc/flatfield_cuda.py +0 -144
  1720. build/lib/build/lib/nabu/preproc/flatfield_variable_region.py +0 -79
  1721. build/lib/build/lib/nabu/preproc/phase.py +0 -425
  1722. build/lib/build/lib/nabu/preproc/phase_cuda.py +0 -143
  1723. build/lib/build/lib/nabu/preproc/shift.py +0 -95
  1724. build/lib/build/lib/nabu/preproc/shift_cuda.py +0 -102
  1725. build/lib/build/lib/nabu/preproc/tests/__init__.py +0 -1
  1726. build/lib/build/lib/nabu/preproc/tests/test_ccd_corr.py +0 -59
  1727. build/lib/build/lib/nabu/preproc/tests/test_ctf.py +0 -250
  1728. build/lib/build/lib/nabu/preproc/tests/test_double_flatfield.py +0 -86
  1729. build/lib/build/lib/nabu/preproc/tests/test_flatfield.py +0 -626
  1730. build/lib/build/lib/nabu/preproc/tests/test_paganin.py +0 -67
  1731. build/lib/build/lib/nabu/preproc/tests/test_vshift.py +0 -73
  1732. build/lib/build/lib/nabu/processing/__init__.py +0 -0
  1733. build/lib/build/lib/nabu/processing/convolution_cuda.py +0 -375
  1734. build/lib/build/lib/nabu/processing/fft_base.py +0 -163
  1735. build/lib/build/lib/nabu/processing/fft_cuda.py +0 -256
  1736. build/lib/build/lib/nabu/processing/fft_opencl.py +0 -54
  1737. build/lib/build/lib/nabu/processing/fftshift.py +0 -134
  1738. build/lib/build/lib/nabu/processing/histogram.py +0 -286
  1739. build/lib/build/lib/nabu/processing/histogram_cuda.py +0 -103
  1740. build/lib/build/lib/nabu/processing/kernel_base.py +0 -126
  1741. build/lib/build/lib/nabu/processing/medfilt_cuda.py +0 -159
  1742. build/lib/build/lib/nabu/processing/muladd.py +0 -29
  1743. build/lib/build/lib/nabu/processing/muladd_cuda.py +0 -68
  1744. build/lib/build/lib/nabu/processing/padding_base.py +0 -71
  1745. build/lib/build/lib/nabu/processing/padding_cuda.py +0 -75
  1746. build/lib/build/lib/nabu/processing/padding_opencl.py +0 -77
  1747. build/lib/build/lib/nabu/processing/processing_base.py +0 -123
  1748. build/lib/build/lib/nabu/processing/roll_opencl.py +0 -64
  1749. build/lib/build/lib/nabu/processing/rotation.py +0 -63
  1750. build/lib/build/lib/nabu/processing/rotation_cuda.py +0 -66
  1751. build/lib/build/lib/nabu/processing/tests/__init__.py +0 -0
  1752. build/lib/build/lib/nabu/processing/tests/test_fft.py +0 -268
  1753. build/lib/build/lib/nabu/processing/tests/test_fftshift.py +0 -71
  1754. build/lib/build/lib/nabu/processing/tests/test_histogram.py +0 -55
  1755. build/lib/build/lib/nabu/processing/tests/test_medfilt.py +0 -77
  1756. build/lib/build/lib/nabu/processing/tests/test_muladd.py +0 -54
  1757. build/lib/build/lib/nabu/processing/tests/test_padding.py +0 -247
  1758. build/lib/build/lib/nabu/processing/tests/test_roll.py +0 -63
  1759. build/lib/build/lib/nabu/processing/tests/test_rotation.py +0 -83
  1760. build/lib/build/lib/nabu/processing/tests/test_transpose.py +0 -72
  1761. build/lib/build/lib/nabu/processing/tests/test_unsharp.py +0 -106
  1762. build/lib/build/lib/nabu/processing/transpose.py +0 -126
  1763. build/lib/build/lib/nabu/processing/unsharp.py +0 -79
  1764. build/lib/build/lib/nabu/processing/unsharp_cuda.py +0 -53
  1765. build/lib/build/lib/nabu/processing/unsharp_opencl.py +0 -75
  1766. build/lib/build/lib/nabu/reconstruction/__init__.py +0 -3
  1767. build/lib/build/lib/nabu/reconstruction/cone.py +0 -241
  1768. build/lib/build/lib/nabu/reconstruction/fbp.py +0 -124
  1769. build/lib/build/lib/nabu/reconstruction/fbp_base.py +0 -391
  1770. build/lib/build/lib/nabu/reconstruction/fbp_opencl.py +0 -78
  1771. build/lib/build/lib/nabu/reconstruction/filtering.py +0 -220
  1772. build/lib/build/lib/nabu/reconstruction/filtering_cuda.py +0 -103
  1773. build/lib/build/lib/nabu/reconstruction/filtering_opencl.py +0 -111
  1774. build/lib/build/lib/nabu/reconstruction/projection.py +0 -240
  1775. build/lib/build/lib/nabu/reconstruction/reconstructor.py +0 -174
  1776. build/lib/build/lib/nabu/reconstruction/reconstructor_cuda.py +0 -44
  1777. build/lib/build/lib/nabu/reconstruction/rings.py +0 -248
  1778. build/lib/build/lib/nabu/reconstruction/rings_cuda.py +0 -322
  1779. build/lib/build/lib/nabu/reconstruction/sinogram.py +0 -467
  1780. build/lib/build/lib/nabu/reconstruction/sinogram_cuda.py +0 -250
  1781. build/lib/build/lib/nabu/reconstruction/sinogram_opencl.py +0 -40
  1782. build/lib/build/lib/nabu/reconstruction/tests/__init__.py +0 -1
  1783. build/lib/build/lib/nabu/reconstruction/tests/test_cone.py +0 -308
  1784. build/lib/build/lib/nabu/reconstruction/tests/test_deringer.py +0 -220
  1785. build/lib/build/lib/nabu/reconstruction/tests/test_fbp.py +0 -252
  1786. build/lib/build/lib/nabu/reconstruction/tests/test_filtering.py +0 -133
  1787. build/lib/build/lib/nabu/reconstruction/tests/test_halftomo.py +0 -100
  1788. build/lib/build/lib/nabu/reconstruction/tests/test_projector.py +0 -164
  1789. build/lib/build/lib/nabu/reconstruction/tests/test_reconstructor.py +0 -93
  1790. build/lib/build/lib/nabu/reconstruction/tests/test_sino_normalization.py +0 -85
  1791. build/lib/build/lib/nabu/resources/__init__.py +0 -0
  1792. build/lib/build/lib/nabu/resources/cli/__init__.py +0 -0
  1793. build/lib/build/lib/nabu/resources/cor.py +0 -5
  1794. build/lib/build/lib/nabu/resources/dataset_analyzer.py +0 -469
  1795. build/lib/build/lib/nabu/resources/gpu.py +0 -169
  1796. build/lib/build/lib/nabu/resources/logger.py +0 -130
  1797. build/lib/build/lib/nabu/resources/nxflatfield.py +0 -217
  1798. build/lib/build/lib/nabu/resources/templates/__init__.py +0 -0
  1799. build/lib/build/lib/nabu/resources/tests/__init__.py +0 -0
  1800. build/lib/build/lib/nabu/resources/tests/test_nxflatfield.py +0 -104
  1801. build/lib/build/lib/nabu/resources/tests/test_units.py +0 -47
  1802. build/lib/build/lib/nabu/resources/utils.py +0 -174
  1803. build/lib/build/lib/nabu/stitching/__init__.py +0 -0
  1804. build/lib/build/lib/nabu/stitching/alignment.py +0 -184
  1805. build/lib/build/lib/nabu/stitching/config.py +0 -1286
  1806. build/lib/build/lib/nabu/stitching/definitions.py +0 -6
  1807. build/lib/build/lib/nabu/stitching/frame_composition.py +0 -155
  1808. build/lib/build/lib/nabu/stitching/overlap.py +0 -373
  1809. build/lib/build/lib/nabu/stitching/sample_normalization.py +0 -60
  1810. build/lib/build/lib/nabu/stitching/slurm_utils.py +0 -204
  1811. build/lib/build/lib/nabu/stitching/tests/__init__.py +0 -0
  1812. build/lib/build/lib/nabu/stitching/tests/test_alignment.py +0 -99
  1813. build/lib/build/lib/nabu/stitching/tests/test_config.py +0 -226
  1814. build/lib/build/lib/nabu/stitching/tests/test_frame_composition.py +0 -180
  1815. build/lib/build/lib/nabu/stitching/tests/test_overlap.py +0 -98
  1816. build/lib/build/lib/nabu/stitching/tests/test_sample_normalization.py +0 -49
  1817. build/lib/build/lib/nabu/stitching/tests/test_slurm_utils.py +0 -146
  1818. build/lib/build/lib/nabu/stitching/tests/test_utils.py +0 -21
  1819. build/lib/build/lib/nabu/stitching/tests/test_z_stitching.py +0 -1183
  1820. build/lib/build/lib/nabu/stitching/utils.py +0 -563
  1821. build/lib/build/lib/nabu/stitching/z_stitching.py +0 -2279
  1822. build/lib/build/lib/nabu/tests.py +0 -51
  1823. build/lib/build/lib/nabu/testutils.py +0 -375
  1824. build/lib/build/lib/nabu/thirdparty/__init__.py +0 -0
  1825. build/lib/build/lib/nabu/thirdparty/algotom_convert_sino.py +0 -276
  1826. build/lib/build/lib/nabu/thirdparty/pore3d_deringer_munch.py +0 -108
  1827. build/lib/build/lib/nabu/thirdparty/tomocupy_remove_stripe.py +0 -586
  1828. build/lib/build/lib/nabu/thirdparty/tomopy_phase.py +0 -239
  1829. build/lib/build/lib/nabu/thirdparty/tomwer_load_flats_darks.py +0 -162
  1830. build/lib/build/lib/nabu/utils.py +0 -836
  1831. build/lib/doc/conf.py +0 -137
  1832. build/lib/doc/create_conf_doc.py +0 -38
  1833. build/lib/doc/get_mathjax.py +0 -34
  1834. build/lib/nabu/__init__.py +0 -17
  1835. build/lib/nabu/app/__init__.py +0 -0
  1836. build/lib/nabu/app/bootstrap.py +0 -88
  1837. build/lib/nabu/app/bootstrap_stitching.py +0 -69
  1838. build/lib/nabu/app/cast_volume.py +0 -272
  1839. build/lib/nabu/app/cli_configs.py +0 -626
  1840. build/lib/nabu/app/compare_volumes.py +0 -94
  1841. build/lib/nabu/app/composite_cor.py +0 -144
  1842. build/lib/nabu/app/correct_rot.py +0 -70
  1843. build/lib/nabu/app/create_distortion_map_from_poly.py +0 -153
  1844. build/lib/nabu/app/diag_to_pix.py +0 -358
  1845. build/lib/nabu/app/diag_to_rot.py +0 -449
  1846. build/lib/nabu/app/double_flatfield.py +0 -143
  1847. build/lib/nabu/app/generate_header.py +0 -261
  1848. build/lib/nabu/app/histogram.py +0 -197
  1849. build/lib/nabu/app/multicor.py +0 -90
  1850. build/lib/nabu/app/nx_z_splitter.py +0 -125
  1851. build/lib/nabu/app/parse_reconstruction_log.py +0 -151
  1852. build/lib/nabu/app/prepare_weights_double.py +0 -163
  1853. build/lib/nabu/app/reconstruct.py +0 -120
  1854. build/lib/nabu/app/reconstruct_helical.py +0 -116
  1855. build/lib/nabu/app/reduce_dark_flat.py +0 -181
  1856. build/lib/nabu/app/rotate.py +0 -162
  1857. build/lib/nabu/app/shrink_dataset.py +0 -98
  1858. build/lib/nabu/app/stitching.py +0 -85
  1859. build/lib/nabu/app/tests/test_reduce_dark_flat.py +0 -78
  1860. build/lib/nabu/app/utils.py +0 -33
  1861. build/lib/nabu/app/validator.py +0 -110
  1862. build/lib/nabu/cuda/__init__.py +0 -0
  1863. build/lib/nabu/cuda/convolution.py +0 -8
  1864. build/lib/nabu/cuda/fft.py +0 -4
  1865. build/lib/nabu/cuda/kernel.py +0 -97
  1866. build/lib/nabu/cuda/medfilt.py +0 -6
  1867. build/lib/nabu/cuda/padding.py +0 -6
  1868. build/lib/nabu/cuda/processing.py +0 -75
  1869. build/lib/nabu/cuda/tests/__init__.py +0 -1
  1870. build/lib/nabu/cuda/utils.py +0 -331
  1871. build/lib/nabu/estimation/__init__.py +0 -12
  1872. build/lib/nabu/estimation/alignment.py +0 -578
  1873. build/lib/nabu/estimation/cor.py +0 -1621
  1874. build/lib/nabu/estimation/cor_sino.py +0 -183
  1875. build/lib/nabu/estimation/distortion.py +0 -112
  1876. build/lib/nabu/estimation/focus.py +0 -362
  1877. build/lib/nabu/estimation/tests/__init__.py +0 -0
  1878. build/lib/nabu/estimation/tests/test_alignment.py +0 -70
  1879. build/lib/nabu/estimation/tests/test_cor.py +0 -472
  1880. build/lib/nabu/estimation/tests/test_focus.py +0 -105
  1881. build/lib/nabu/estimation/tests/test_tilt.py +0 -41
  1882. build/lib/nabu/estimation/tests/test_translation.py +0 -78
  1883. build/lib/nabu/estimation/tilt.py +0 -214
  1884. build/lib/nabu/estimation/translation.py +0 -193
  1885. build/lib/nabu/estimation/utils.py +0 -39
  1886. build/lib/nabu/io/__init__.py +0 -2
  1887. build/lib/nabu/io/cast_volume.py +0 -371
  1888. build/lib/nabu/io/detector_distortion.py +0 -305
  1889. build/lib/nabu/io/reader.py +0 -628
  1890. build/lib/nabu/io/reader_helical.py +0 -114
  1891. build/lib/nabu/io/tests/__init__.py +0 -0
  1892. build/lib/nabu/io/tests/test_cast_volume.py +0 -339
  1893. build/lib/nabu/io/tests/test_detector_distortion.py +0 -178
  1894. build/lib/nabu/io/tests/test_writers.py +0 -187
  1895. build/lib/nabu/io/tiffwriter_zmm.py +0 -99
  1896. build/lib/nabu/io/utils.py +0 -263
  1897. build/lib/nabu/io/writer.py +0 -892
  1898. build/lib/nabu/misc/__init__.py +0 -0
  1899. build/lib/nabu/misc/binning.py +0 -98
  1900. build/lib/nabu/misc/fftshift.py +0 -6
  1901. build/lib/nabu/misc/filters.py +0 -24
  1902. build/lib/nabu/misc/fourier_filters.py +0 -152
  1903. build/lib/nabu/misc/histogram.py +0 -6
  1904. build/lib/nabu/misc/histogram_cuda.py +0 -8
  1905. build/lib/nabu/misc/kernel_base.py +0 -4
  1906. build/lib/nabu/misc/padding.py +0 -83
  1907. build/lib/nabu/misc/padding_base.py +0 -6
  1908. build/lib/nabu/misc/processing_base.py +0 -4
  1909. build/lib/nabu/misc/rotation.py +0 -6
  1910. build/lib/nabu/misc/rotation_cuda.py +0 -6
  1911. build/lib/nabu/misc/tests/__init__.py +0 -1
  1912. build/lib/nabu/misc/tests/test_binning.py +0 -48
  1913. build/lib/nabu/misc/tests/test_interpolation.py +0 -70
  1914. build/lib/nabu/misc/transpose.py +0 -6
  1915. build/lib/nabu/misc/unsharp.py +0 -4
  1916. build/lib/nabu/misc/unsharp_cuda.py +0 -6
  1917. build/lib/nabu/misc/unsharp_opencl.py +0 -8
  1918. build/lib/nabu/misc/utils.py +0 -117
  1919. build/lib/nabu/opencl/__init__.py +0 -0
  1920. build/lib/nabu/opencl/fft.py +0 -6
  1921. build/lib/nabu/opencl/kernel.py +0 -135
  1922. build/lib/nabu/opencl/memcpy.py +0 -35
  1923. build/lib/nabu/opencl/padding.py +0 -6
  1924. build/lib/nabu/opencl/processing.py +0 -62
  1925. build/lib/nabu/opencl/tests/__init__.py +0 -0
  1926. build/lib/nabu/opencl/utils.py +0 -292
  1927. build/lib/nabu/pipeline/__init__.py +0 -0
  1928. build/lib/nabu/pipeline/config.py +0 -265
  1929. build/lib/nabu/pipeline/config_validators.py +0 -589
  1930. build/lib/nabu/pipeline/datadump.py +0 -164
  1931. build/lib/nabu/pipeline/dataset_validator.py +0 -211
  1932. build/lib/nabu/pipeline/detector_distortion_provider.py +0 -20
  1933. build/lib/nabu/pipeline/estimators.py +0 -1012
  1934. build/lib/nabu/pipeline/fallback_utils.py +0 -149
  1935. build/lib/nabu/pipeline/fullfield/__init__.py +0 -0
  1936. build/lib/nabu/pipeline/fullfield/chunked.py +0 -849
  1937. build/lib/nabu/pipeline/fullfield/chunked_cuda.py +0 -152
  1938. build/lib/nabu/pipeline/fullfield/computations.py +0 -260
  1939. build/lib/nabu/pipeline/fullfield/dataset_validator.py +0 -63
  1940. build/lib/nabu/pipeline/fullfield/nabu_config.py +0 -590
  1941. build/lib/nabu/pipeline/fullfield/processconfig.py +0 -825
  1942. build/lib/nabu/pipeline/fullfield/reconstruction.py +0 -851
  1943. build/lib/nabu/pipeline/helical/__init__.py +0 -0
  1944. build/lib/nabu/pipeline/helical/dataset_validator.py +0 -19
  1945. build/lib/nabu/pipeline/helical/fbp.py +0 -147
  1946. build/lib/nabu/pipeline/helical/filtering.py +0 -246
  1947. build/lib/nabu/pipeline/helical/gridded_accumulator.py +0 -575
  1948. build/lib/nabu/pipeline/helical/helical_chunked_regridded.py +0 -1670
  1949. build/lib/nabu/pipeline/helical/helical_chunked_regridded_cuda.py +0 -119
  1950. build/lib/nabu/pipeline/helical/helical_reconstruction.py +0 -598
  1951. build/lib/nabu/pipeline/helical/helical_utils.py +0 -42
  1952. build/lib/nabu/pipeline/helical/nabu_config.py +0 -175
  1953. build/lib/nabu/pipeline/helical/processconfig.py +0 -62
  1954. build/lib/nabu/pipeline/helical/span_strategy.py +0 -483
  1955. build/lib/nabu/pipeline/helical/tests/__init__.py +0 -0
  1956. build/lib/nabu/pipeline/helical/tests/test_accumulator.py +0 -157
  1957. build/lib/nabu/pipeline/helical/tests/test_pipeline_elements_full.py +0 -355
  1958. build/lib/nabu/pipeline/helical/tests/test_strategy.py +0 -61
  1959. build/lib/nabu/pipeline/helical/utils.py +0 -51
  1960. build/lib/nabu/pipeline/helical/weight_balancer.py +0 -101
  1961. build/lib/nabu/pipeline/params.py +0 -163
  1962. build/lib/nabu/pipeline/processconfig.py +0 -210
  1963. build/lib/nabu/pipeline/tests/test_chunk_reader.py +0 -78
  1964. build/lib/nabu/pipeline/tests/test_estimators.py +0 -149
  1965. build/lib/nabu/pipeline/utils.py +0 -116
  1966. build/lib/nabu/pipeline/writer.py +0 -193
  1967. build/lib/nabu/pipeline/xrdct/__init__.py +0 -0
  1968. build/lib/nabu/preproc/__init__.py +0 -7
  1969. build/lib/nabu/preproc/alignment.py +0 -11
  1970. build/lib/nabu/preproc/ccd.py +0 -161
  1971. build/lib/nabu/preproc/ccd_cuda.py +0 -169
  1972. build/lib/nabu/preproc/ctf.py +0 -361
  1973. build/lib/nabu/preproc/ctf_cuda.py +0 -142
  1974. build/lib/nabu/preproc/distortion.py +0 -92
  1975. build/lib/nabu/preproc/double_flatfield.py +0 -212
  1976. build/lib/nabu/preproc/double_flatfield_cuda.py +0 -174
  1977. build/lib/nabu/preproc/double_flatfield_variable_region.py +0 -68
  1978. build/lib/nabu/preproc/flatfield.py +0 -448
  1979. build/lib/nabu/preproc/flatfield_cuda.py +0 -144
  1980. build/lib/nabu/preproc/flatfield_variable_region.py +0 -79
  1981. build/lib/nabu/preproc/phase.py +0 -425
  1982. build/lib/nabu/preproc/phase_cuda.py +0 -143
  1983. build/lib/nabu/preproc/shift.py +0 -95
  1984. build/lib/nabu/preproc/shift_cuda.py +0 -102
  1985. build/lib/nabu/preproc/tests/__init__.py +0 -1
  1986. build/lib/nabu/preproc/tests/test_ccd_corr.py +0 -59
  1987. build/lib/nabu/preproc/tests/test_ctf.py +0 -250
  1988. build/lib/nabu/preproc/tests/test_double_flatfield.py +0 -86
  1989. build/lib/nabu/preproc/tests/test_flatfield.py +0 -626
  1990. build/lib/nabu/preproc/tests/test_paganin.py +0 -67
  1991. build/lib/nabu/preproc/tests/test_vshift.py +0 -73
  1992. build/lib/nabu/processing/__init__.py +0 -0
  1993. build/lib/nabu/processing/convolution_cuda.py +0 -375
  1994. build/lib/nabu/processing/fft_base.py +0 -163
  1995. build/lib/nabu/processing/fft_cuda.py +0 -256
  1996. build/lib/nabu/processing/fft_opencl.py +0 -54
  1997. build/lib/nabu/processing/fftshift.py +0 -134
  1998. build/lib/nabu/processing/histogram.py +0 -286
  1999. build/lib/nabu/processing/histogram_cuda.py +0 -103
  2000. build/lib/nabu/processing/kernel_base.py +0 -126
  2001. build/lib/nabu/processing/medfilt_cuda.py +0 -159
  2002. build/lib/nabu/processing/muladd.py +0 -29
  2003. build/lib/nabu/processing/muladd_cuda.py +0 -68
  2004. build/lib/nabu/processing/padding_base.py +0 -71
  2005. build/lib/nabu/processing/padding_cuda.py +0 -75
  2006. build/lib/nabu/processing/padding_opencl.py +0 -77
  2007. build/lib/nabu/processing/processing_base.py +0 -123
  2008. build/lib/nabu/processing/roll_opencl.py +0 -64
  2009. build/lib/nabu/processing/rotation.py +0 -63
  2010. build/lib/nabu/processing/rotation_cuda.py +0 -66
  2011. build/lib/nabu/processing/tests/__init__.py +0 -0
  2012. build/lib/nabu/processing/tests/test_fft.py +0 -268
  2013. build/lib/nabu/processing/tests/test_fftshift.py +0 -71
  2014. build/lib/nabu/processing/tests/test_histogram.py +0 -55
  2015. build/lib/nabu/processing/tests/test_medfilt.py +0 -77
  2016. build/lib/nabu/processing/tests/test_muladd.py +0 -54
  2017. build/lib/nabu/processing/tests/test_padding.py +0 -247
  2018. build/lib/nabu/processing/tests/test_roll.py +0 -63
  2019. build/lib/nabu/processing/tests/test_rotation.py +0 -83
  2020. build/lib/nabu/processing/tests/test_transpose.py +0 -72
  2021. build/lib/nabu/processing/tests/test_unsharp.py +0 -106
  2022. build/lib/nabu/processing/transpose.py +0 -126
  2023. build/lib/nabu/processing/unsharp.py +0 -79
  2024. build/lib/nabu/processing/unsharp_cuda.py +0 -53
  2025. build/lib/nabu/processing/unsharp_opencl.py +0 -75
  2026. build/lib/nabu/reconstruction/__init__.py +0 -3
  2027. build/lib/nabu/reconstruction/cone.py +0 -241
  2028. build/lib/nabu/reconstruction/fbp.py +0 -124
  2029. build/lib/nabu/reconstruction/fbp_base.py +0 -391
  2030. build/lib/nabu/reconstruction/fbp_opencl.py +0 -78
  2031. build/lib/nabu/reconstruction/filtering.py +0 -220
  2032. build/lib/nabu/reconstruction/filtering_cuda.py +0 -103
  2033. build/lib/nabu/reconstruction/filtering_opencl.py +0 -111
  2034. build/lib/nabu/reconstruction/projection.py +0 -240
  2035. build/lib/nabu/reconstruction/reconstructor.py +0 -174
  2036. build/lib/nabu/reconstruction/reconstructor_cuda.py +0 -44
  2037. build/lib/nabu/reconstruction/rings.py +0 -248
  2038. build/lib/nabu/reconstruction/rings_cuda.py +0 -322
  2039. build/lib/nabu/reconstruction/sinogram.py +0 -467
  2040. build/lib/nabu/reconstruction/sinogram_cuda.py +0 -250
  2041. build/lib/nabu/reconstruction/sinogram_opencl.py +0 -40
  2042. build/lib/nabu/reconstruction/tests/__init__.py +0 -1
  2043. build/lib/nabu/reconstruction/tests/test_cone.py +0 -308
  2044. build/lib/nabu/reconstruction/tests/test_deringer.py +0 -220
  2045. build/lib/nabu/reconstruction/tests/test_fbp.py +0 -252
  2046. build/lib/nabu/reconstruction/tests/test_filtering.py +0 -133
  2047. build/lib/nabu/reconstruction/tests/test_halftomo.py +0 -100
  2048. build/lib/nabu/reconstruction/tests/test_projector.py +0 -164
  2049. build/lib/nabu/reconstruction/tests/test_reconstructor.py +0 -93
  2050. build/lib/nabu/reconstruction/tests/test_sino_normalization.py +0 -85
  2051. build/lib/nabu/resources/__init__.py +0 -0
  2052. build/lib/nabu/resources/cli/__init__.py +0 -0
  2053. build/lib/nabu/resources/cor.py +0 -5
  2054. build/lib/nabu/resources/dataset_analyzer.py +0 -469
  2055. build/lib/nabu/resources/gpu.py +0 -169
  2056. build/lib/nabu/resources/logger.py +0 -130
  2057. build/lib/nabu/resources/nxflatfield.py +0 -217
  2058. build/lib/nabu/resources/templates/__init__.py +0 -0
  2059. build/lib/nabu/resources/tests/__init__.py +0 -0
  2060. build/lib/nabu/resources/tests/test_nxflatfield.py +0 -104
  2061. build/lib/nabu/resources/tests/test_units.py +0 -47
  2062. build/lib/nabu/resources/utils.py +0 -174
  2063. build/lib/nabu/stitching/__init__.py +0 -0
  2064. build/lib/nabu/stitching/alignment.py +0 -184
  2065. build/lib/nabu/stitching/config.py +0 -1286
  2066. build/lib/nabu/stitching/definitions.py +0 -6
  2067. build/lib/nabu/stitching/frame_composition.py +0 -155
  2068. build/lib/nabu/stitching/overlap.py +0 -373
  2069. build/lib/nabu/stitching/sample_normalization.py +0 -60
  2070. build/lib/nabu/stitching/slurm_utils.py +0 -204
  2071. build/lib/nabu/stitching/tests/__init__.py +0 -0
  2072. build/lib/nabu/stitching/tests/test_alignment.py +0 -99
  2073. build/lib/nabu/stitching/tests/test_config.py +0 -226
  2074. build/lib/nabu/stitching/tests/test_frame_composition.py +0 -180
  2075. build/lib/nabu/stitching/tests/test_overlap.py +0 -98
  2076. build/lib/nabu/stitching/tests/test_sample_normalization.py +0 -49
  2077. build/lib/nabu/stitching/tests/test_slurm_utils.py +0 -146
  2078. build/lib/nabu/stitching/tests/test_utils.py +0 -21
  2079. build/lib/nabu/stitching/tests/test_z_stitching.py +0 -1183
  2080. build/lib/nabu/stitching/utils.py +0 -563
  2081. build/lib/nabu/stitching/z_stitching.py +0 -2279
  2082. build/lib/nabu/tests.py +0 -51
  2083. build/lib/nabu/testutils.py +0 -375
  2084. build/lib/nabu/thirdparty/__init__.py +0 -0
  2085. build/lib/nabu/thirdparty/algotom_convert_sino.py +0 -276
  2086. build/lib/nabu/thirdparty/pore3d_deringer_munch.py +0 -108
  2087. build/lib/nabu/thirdparty/tomocupy_remove_stripe.py +0 -586
  2088. build/lib/nabu/thirdparty/tomopy_phase.py +0 -239
  2089. build/lib/nabu/thirdparty/tomwer_load_flats_darks.py +0 -162
  2090. build/lib/nabu/utils.py +0 -836
  2091. nabu-2024.1.1.dist-info/RECORD +0 -2375
  2092. nabu-2024.1.1.dist-info/top_level.txt +0 -4
  2093. {build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/nabu/app → nabu/app/tests}/__init__.py +0 -0
  2094. {nabu-2024.1.1.dist-info → nabu-2024.1.2.dist-info}/LICENSE +0 -0
  2095. {nabu-2024.1.1.dist-info → nabu-2024.1.2.dist-info}/entry_points.txt +0 -0
@@ -1,1012 +0,0 @@
1
- """
2
- nabu.pipeline.estimators: helper classes/functions to estimate parameters of a dataset
3
- (center of rotation, detector tilt, etc).
4
- """
5
- import inspect
6
- import numpy as np
7
- import scipy.fft # pylint: disable=E0611
8
- from silx.io import get_data
9
- from typing import Union, Optional
10
- import math
11
- from numbers import Real
12
- from scipy import ndimage as nd
13
-
14
- from ..preproc.flatfield import FlatFieldDataUrls
15
- from ..estimation.cor import (
16
- CenterOfRotation,
17
- CenterOfRotationAdaptiveSearch,
18
- CenterOfRotationSlidingWindow,
19
- CenterOfRotationGrowingWindow,
20
- CenterOfRotationFourierAngles,
21
- CenterOfRotationOctaveAccurate,
22
- )
23
- from ..estimation.cor_sino import SinoCorInterface
24
- from ..estimation.tilt import CameraTilt
25
- from ..estimation.utils import is_fullturn_scan
26
- from ..resources.logger import LoggerOrPrint
27
- from ..resources.utils import extract_parameters
28
- from ..utils import check_supported, is_int
29
- from .params import tilt_methods
30
- from ..resources.dataset_analyzer import get_radio_pair
31
- from ..processing.rotation import Rotation
32
- from ..io.reader import ChunkReader
33
- from ..preproc.ccd import Log, CCDFilter
34
- from ..misc import fourier_filters
35
- from .params import cor_methods
36
- from ..io.reader import load_images_from_dataurl_dict
37
-
38
-
39
- def estimate_cor(method, dataset_info, do_flatfield=True, cor_options: Optional[Union[str, dict]] = None, logger=None):
40
- logger = LoggerOrPrint(logger)
41
- cor_options = cor_options or {}
42
- check_supported(method, list(cor_methods.keys()), "COR estimation method")
43
- method = cor_methods[method]
44
-
45
- # Extract CoR parameters from configuration file
46
- if isinstance(cor_options, str):
47
- try:
48
- cor_options = extract_parameters(cor_options, sep=";")
49
- except Exception as exc:
50
- msg = "Could not extract parameters from cor_options: %s" % (str(exc))
51
- logger.fatal(msg)
52
- raise ValueError(msg)
53
- elif isinstance(cor_options, dict):
54
- pass
55
- else:
56
- raise TypeError(f"cor_options_str is expected to be a dict or a str. {type(cor_options)} provided")
57
-
58
- # Dispatch. COR estimation is always expressed in absolute number of pixels (i.e. from the center of the first pixel column)
59
- if method in CORFinder.search_methods:
60
- cor_finder = CORFinder(
61
- method,
62
- dataset_info,
63
- do_flatfield=do_flatfield,
64
- cor_options=cor_options,
65
- logger=logger,
66
- )
67
- estimated_cor = cor_finder.find_cor()
68
- elif method in SinoCORFinder.search_methods:
69
- cor_finder = SinoCORFinder(
70
- method,
71
- dataset_info,
72
- slice_idx=cor_options.get("slice_idx", "middle"),
73
- subsampling=cor_options.get("subsampling", 10),
74
- do_flatfield=do_flatfield,
75
- cor_options=cor_options,
76
- logger=logger,
77
- )
78
- estimated_cor = cor_finder.find_cor()
79
- else:
80
- composite_options = update_func_kwargs(CompositeCORFinder, cor_options)
81
- for what in ["cor_options", "logger"]:
82
- composite_options.pop(what, None)
83
- cor_finder = CompositeCORFinder(
84
- dataset_info,
85
- cor_options=cor_options,
86
- logger=logger,
87
- **composite_options,
88
- )
89
- estimated_cor = cor_finder.find_cor()
90
- return estimated_cor
91
-
92
-
93
- class CORFinderBase:
94
- """
95
- A base class for CoR estimators.
96
- It does common tasks like data reading, flatfield, etc.
97
- """
98
-
99
- search_methods = {}
100
-
101
- def __init__(self, method, dataset_info, do_flatfield=True, cor_options=None, logger=None):
102
- """
103
- Initialize a CORFinder object.
104
-
105
- Parameters
106
- ----------
107
- dataset_info: `nabu.resources.dataset_analyzer.DatasetAnalyzer`
108
- Dataset information structure
109
- """
110
- check_supported(method, self.search_methods, "CoR estimation method")
111
- self.logger = LoggerOrPrint(logger)
112
- self.dataset_info = dataset_info
113
- self.do_flatfield = do_flatfield
114
- self.shape = dataset_info.radio_dims[::-1]
115
- self._init_cor_finder(method, cor_options)
116
-
117
- def _init_cor_finder(self, method, cor_options):
118
- self.method = method
119
- if not isinstance(cor_options, (type(None), dict)):
120
- raise TypeError(
121
- f"cor_options is expected to be an optional instance of dict. Get {cor_options} ({type(cor_options)}) instead"
122
- )
123
- self.cor_options = {}
124
- if isinstance(cor_options, dict):
125
- self.cor_options.update(cor_options)
126
-
127
- # tomotools internal meeting 07 feb 2024: Merge of options 'near_pos' and 'side'.
128
- # See [minutes](https://gitlab.esrf.fr/tomotools/minutes/-/blob/master/minutes-20240207.md?ref_type=heads)
129
-
130
- detector_width = self.dataset_info.radio_dims[0]
131
- default_lookup_side = "right" if self.dataset_info.is_halftomo else "center"
132
- near_init = self.cor_options.get("side", None)
133
-
134
- if near_init is None:
135
- near_init = default_lookup_side
136
-
137
- if near_init == "from_file":
138
- try:
139
- near_pos = self.dataset_info.dataset_scanner.estimated_cor_frm_motor # relative pos in pixels
140
- if isinstance(near_pos, Real):
141
- # near_pos += detector_width // 2 # Field in NX is relative.
142
- self.cor_options.update({"near_pos": int(near_pos)})
143
- else:
144
- near_init = default_lookup_side
145
- except:
146
- self.logger.warning(
147
- "COR estimation from motor position absent from NX file. Global search is performed."
148
- )
149
- near_init = default_lookup_side
150
- elif isinstance(near_init, Real):
151
- self.cor_options.update({"near_pos": int(near_init)})
152
- near_init = "near" # ???
153
- elif near_init == "near": # Legacy
154
- if not isinstance(self.cor_options["near_pos"], Real):
155
- self.logger.warning("Side option set to 'near' but no 'near_pos' option set.")
156
- self.logger.warning("Set side to right if HA, center otherwise.")
157
- near_init = default_lookup_side
158
- elif near_init in ("left", "right", "center", "all"):
159
- pass
160
- else:
161
- self.logger.warning(
162
- f"COR option 'side' received {near_init} and should be either 'from_file' (default), 'left', 'right', 'center', 'near' or a number."
163
- )
164
-
165
- if isinstance(self.cor_options.get("near_pos", None), Real):
166
- # Check validity of near_pos
167
- if np.abs(self.cor_options["near_pos"]) > detector_width / 2:
168
- self.logger.warning(
169
- f"Relative COR passed is greater than half the size of the detector. Did you enter a absolute COR position?"
170
- )
171
- self.logger.warning("Instead, the center of the detector is used.")
172
- self.cor_options["near_pos"] = 0
173
-
174
- # Set side from near_pos if passed.
175
- if self.cor_options["near_pos"] < 0.0:
176
- self.cor_options.update({"side": "left"})
177
- near_init = "left"
178
- else:
179
- self.cor_options.update({"side": "right"})
180
- near_init = "right"
181
-
182
- self.cor_options.update({"side": near_init})
183
-
184
- # At this stage : side is set to one of left, right, center near.
185
- # and near_pos to a numeric value.
186
-
187
- # if isinstance(self.cor_options["near_pos"], Real):
188
- # # estimated_cor_frm_motor value is supposed to be relative. Since the config documentation expects the "near_pos" options
189
- # # to be given as an absolute COR estimate, a conversion is needed.
190
- # self.cor_options["near_pos"] += detector_width // 2 # converted in absolute nb of pixels.
191
- # if not (isinstance(self.cor_options["near_pos"], Real) or self.cor_options["near_pos"] == "ignore"):
192
- # self.cor_options.update({"near_pos": "ignore"})
193
-
194
- # At this stage, cor_options["near_pos"] is either
195
- # - 'ignore':
196
- # - an (absolute) integer value (either the user-provided one if present or the NX one).
197
-
198
- cor_class = self.search_methods[method]["class"]
199
- self.cor_finder = cor_class(logger=self.logger, cor_options=self.cor_options)
200
-
201
- lookup_side = self.cor_options.get("side", default_lookup_side)
202
-
203
- # OctaveAccurate
204
- # if cor_class == CenterOfRotationOctaveAccurate:
205
- # lookup_side = "center"
206
- angles = self.dataset_info.rotation_angles
207
-
208
- self.cor_exec_args = []
209
- self.cor_exec_args.extend(self.search_methods[method].get("default_args", []))
210
-
211
- # CenterOfRotationSlidingWindow is the only class to have a mandatory argument ("side")
212
- # TODO - it would be more elegant to have it as a kwarg...
213
- if len(self.cor_exec_args) > 0:
214
- if cor_class in (CenterOfRotationSlidingWindow, CenterOfRotationOctaveAccurate):
215
- self.cor_exec_args[0] = lookup_side
216
- elif cor_class in (CenterOfRotationFourierAngles,):
217
- self.cor_exec_args[0] = angles
218
- self.cor_exec_args[1] = lookup_side
219
- #
220
- self.cor_exec_kwargs = update_func_kwargs(self.cor_finder.find_shift, self.cor_options)
221
-
222
-
223
- class CORFinder(CORFinderBase):
224
- """
225
- Find the Center of Rotation with methods based on two (180-degrees opposed) radios.
226
- """
227
-
228
- search_methods = {
229
- "centered": {
230
- "class": CenterOfRotation,
231
- },
232
- "global": {
233
- "class": CenterOfRotationAdaptiveSearch,
234
- "default_kwargs": {"low_pass": 1, "high_pass": 20},
235
- },
236
- "sliding-window": {
237
- "class": CenterOfRotationSlidingWindow,
238
- "default_args": ["center"],
239
- },
240
- "growing-window": {
241
- "class": CenterOfRotationGrowingWindow,
242
- },
243
- "octave-accurate": {
244
- "class": CenterOfRotationOctaveAccurate,
245
- "default_args": ["center"],
246
- },
247
- }
248
-
249
- def __init__(
250
- self, method, dataset_info, do_flatfield=True, cor_options=None, logger=None, radio_angles: tuple = (0.0, np.pi)
251
- ):
252
- """
253
- Initialize a CORFinder object.
254
-
255
- Parameters
256
- ----------
257
- dataset_info: `nabu.resources.dataset_analyzer.DatasetAnalyzer`
258
- Dataset information structure
259
- radio_angles: angles to use to find the cor
260
- """
261
- super().__init__(method, dataset_info, do_flatfield=do_flatfield, cor_options=cor_options, logger=logger)
262
- self._radio_angles = radio_angles
263
- self._init_radios()
264
- self._init_flatfield()
265
- self._apply_flatfield()
266
- self._apply_tilt()
267
-
268
- def _init_radios(self):
269
- self.radios, self._radios_indices = get_radio_pair(
270
- self.dataset_info, radio_angles=self._radio_angles, return_indices=True
271
- )
272
-
273
- def _init_flatfield(self):
274
- if not (self.do_flatfield):
275
- return
276
- self.flatfield = FlatFieldDataUrls(
277
- self.radios.shape,
278
- flats=self.dataset_info.flats,
279
- darks=self.dataset_info.darks,
280
- radios_indices=self._radios_indices,
281
- interpolation="linear",
282
- convert_float=True,
283
- )
284
-
285
- def _apply_flatfield(self):
286
- if not (self.do_flatfield):
287
- return
288
- self.flatfield.normalize_radios(self.radios)
289
-
290
- def _apply_tilt(self):
291
- tilt = self.dataset_info.detector_tilt
292
- if tilt is None:
293
- return
294
- self.logger.debug("COREstimator: applying detector tilt correction of %f degrees" % tilt)
295
- rot = Rotation(self.shape, tilt)
296
- for i in range(self.radios.shape[0]):
297
- self.radios[i] = rot.rotate(self.radios[i])
298
-
299
- def find_cor(self):
300
- """
301
- Find the center of rotation.
302
-
303
- Returns
304
- -------
305
- cor: float
306
- The estimated center of rotation for the current dataset.
307
- """
308
- self.logger.info("Estimating center of rotation")
309
- self.logger.debug("%s.find_shift(%s)" % (self.cor_finder.__class__.__name__, str(self.cor_exec_kwargs)))
310
- shift = self.cor_finder.find_shift(
311
- self.radios[0], np.fliplr(self.radios[1]), *self.cor_exec_args, **self.cor_exec_kwargs
312
- )
313
- return self.shape[1] / 2 + shift
314
-
315
-
316
- # alias
317
- COREstimator = CORFinder
318
-
319
-
320
- class SinoCORFinder(CORFinderBase):
321
- """
322
- A class for finding Center of Rotation based on 360 degrees sinograms.
323
- This class handles the steps of building the sinogram from raw radios.
324
- """
325
-
326
- search_methods = {
327
- "sino-coarse-to-fine": {
328
- "class": SinoCorInterface,
329
- },
330
- "sino-sliding-window": {
331
- "class": CenterOfRotationSlidingWindow,
332
- "default_args": ["right"],
333
- },
334
- "sino-growing-window": {
335
- "class": CenterOfRotationGrowingWindow,
336
- },
337
- "fourier-angles": {"class": CenterOfRotationFourierAngles, "default_args": [None, "center"]},
338
- }
339
-
340
- def __init__(
341
- self, method, dataset_info, slice_idx="middle", subsampling=10, do_flatfield=True, cor_options=None, logger=None
342
- ):
343
- """
344
- Initialize a SinoCORFinder object.
345
-
346
- Other parameters
347
- ----------------
348
- The following keys can be set in cor_options.
349
-
350
- slice_idx: int or str
351
- Which slice index to take for building the sinogram.
352
- For example slice_idx=0 means that we extract the first line of each projection.
353
- Value can also be "first", "top", "middle", "last", "bottom".
354
- subsampling: int, float
355
- subsampling strategy when building sinograms.
356
- As building the complete sinogram from raw projections might be tedious, the reading is done with subsampling.
357
- A positive integer value means the subsampling step (i.e `projections[::subsampling]`).
358
- A negative integer value means we take -subsampling projections in total.
359
- A float value indicates the angular step in DEGREES.
360
- """
361
- super().__init__(method, dataset_info, do_flatfield=do_flatfield, cor_options=cor_options, logger=logger)
362
- self._check_360()
363
- self._set_slice_idx(slice_idx)
364
- self._set_subsampling(subsampling)
365
- self._load_raw_sinogram()
366
- self._flatfield(do_flatfield)
367
- self._get_sinogram()
368
-
369
- def _check_360(self):
370
- if self.dataset_info.dataset_scanner.scan_range == 360:
371
- return
372
- if not is_fullturn_scan(self.dataset_info.rotation_angles):
373
- raise ValueError("Sinogram-based Center of Rotation estimation can only be used for 360 degrees scans")
374
-
375
- def _set_slice_idx(self, slice_idx):
376
- n_z = self.dataset_info.radio_dims[1]
377
- if isinstance(slice_idx, str):
378
- str_to_idx = {"top": 0, "first": 0, "middle": n_z // 2, "bottom": n_z - 1, "last": n_z - 1}
379
- check_supported(slice_idx, str_to_idx.keys(), "slice location")
380
- slice_idx = str_to_idx[slice_idx]
381
- self.slice_idx = slice_idx
382
-
383
- def _set_subsampling(self, subsampling):
384
- projs_idx = sorted(self.dataset_info.projections.keys())
385
- if is_int(subsampling):
386
- if subsampling < 0: # Total number of angles
387
- n_angles = -subsampling
388
- indices_float = np.linspace(projs_idx[0], projs_idx[-1], n_angles, endpoint=True)
389
- self.projs_indices = np.round(indices_float).astype(np.int32).tolist()
390
- else: # Subsampling step
391
- self.projs_indices = projs_idx[::subsampling]
392
- self.angles = self.dataset_info.rotation_angles[::subsampling]
393
- else: # Angular step
394
- raise NotImplementedError()
395
-
396
- def _load_raw_sinogram(self):
397
- if self.slice_idx is None:
398
- raise ValueError("Unknow slice index")
399
- # Subsample projections
400
- files = {}
401
- for idx in self.projs_indices:
402
- files[idx] = self.dataset_info.projections[idx]
403
- self.files = files
404
- self.data_reader = ChunkReader(
405
- self.files,
406
- sub_region=(None, None, self.slice_idx, self.slice_idx + 1),
407
- convert_float=True,
408
- )
409
- self.data_reader.load_files()
410
- self._radios = self.data_reader.files_data
411
-
412
- def _flatfield(self, do_flatfield):
413
- self.do_flatfield = bool(do_flatfield)
414
- if not self.do_flatfield:
415
- return
416
- flatfield = FlatFieldDataUrls(
417
- self._radios.shape,
418
- self.dataset_info.flats,
419
- self.dataset_info.darks,
420
- radios_indices=self.projs_indices,
421
- sub_region=(None, None, self.slice_idx, self.slice_idx + 1),
422
- )
423
- flatfield.normalize_radios(self._radios)
424
-
425
- def _get_sinogram(self):
426
- log = Log(self._radios.shape, clip_min=1e-6, clip_max=10.0)
427
- sinogram = self._radios[:, 0, :].copy()
428
- log.take_logarithm(sinogram)
429
- self.sinogram = sinogram
430
-
431
- @staticmethod
432
- def _split_sinogram(sinogram):
433
- n_a_2 = sinogram.shape[0] // 2
434
- img_1, img_2 = sinogram[:n_a_2], sinogram[n_a_2:]
435
- # "Handle" odd number of projections
436
- if img_2.shape[0] > img_1.shape[0]:
437
- img_2 = img_2[:-1, :]
438
- #
439
- return img_1, img_2
440
-
441
- def find_cor(self):
442
- self.logger.info("Estimating center of rotation")
443
- self.logger.debug("%s.find_shift(%s)" % (self.cor_finder.__class__.__name__, str(self.cor_exec_kwargs)))
444
- img_1, img_2 = self._split_sinogram(self.sinogram)
445
- shift = self.cor_finder.find_shift(img_1, np.fliplr(img_2), *self.cor_exec_args, **self.cor_exec_kwargs)
446
- return self.shape[1] / 2 + shift
447
-
448
-
449
- # alias
450
- SinoCOREstimator = SinoCORFinder
451
-
452
-
453
- class CompositeCORFinder(CORFinderBase):
454
- """
455
- Class and method to prepare sinogram and calculate COR
456
- The pseudo sinogram is built with shrinked radios taken every theta_interval degres
457
-
458
- Compared to first writing by Christian Nemoz:
459
- - gives the same result of the original octave script on the dataset sofar tested
460
- - The meaning of parameter n_subsampling_y (alias subsampling_y)is now the number of lines which are taken from
461
- every radio. This is more meaningful in terms of amout of collected information because it
462
- does not depend on the radio size. Moreover this is what was done in the octave script
463
- - The spike_threshold has been added with default to 0.04
464
- - The angular sampling is every 5 degree by default, as it is now the case also in the octave script
465
- - The finding of the optimal overlap is doing by looping over the possible overlap, according to the overlap.
466
- After a first testing phase, this part, which is the time consuming part, can be accelerated
467
- by several order of magnitude without modifing the final result
468
- """
469
-
470
- search_methods = {
471
- "composite-coarse-to-fine": {
472
- "class": CenterOfRotation, # Hack. Not used. Everything is done in the find_cor() func.
473
- }
474
- }
475
- _default_cor_options = {"low_pass": 0.4, "high_pass": 10, "side": "center", "near_pos": 0, "near_width": 20}
476
-
477
- def __init__(
478
- self,
479
- dataset_info,
480
- oversampling=4,
481
- theta_interval=5,
482
- n_subsampling_y=10,
483
- take_log=True,
484
- cor_options=None,
485
- spike_threshold=0.04,
486
- logger=None,
487
- norm_order=1,
488
- ):
489
- super().__init__(
490
- "composite-coarse-to-fine", dataset_info, do_flatfield=True, cor_options=cor_options, logger=logger
491
- )
492
- if norm_order not in [1, 2]:
493
- raise ValueError(
494
- f""" the norm order (nom_order parameter) must be either 1 or 2. You passed {norm_order}
495
- """
496
- )
497
-
498
- self.norm_order = norm_order
499
-
500
- self.dataset_info = dataset_info
501
- self.logger = LoggerOrPrint(logger)
502
-
503
- self.sx, self.sy = self.dataset_info.radio_dims
504
-
505
- default_cor_options = self._default_cor_options.copy()
506
- default_cor_options.update(self.cor_options)
507
- self.cor_options = default_cor_options
508
-
509
- # the algorithm can work for angular ranges larger than 1.2*pi
510
- # up to an arbitrarily number of turns as it is the case in helical scans
511
- self.spike_threshold = spike_threshold
512
- # the following line is necessary for multi-turns scan because the encoders is always
513
- # in the interval 0-360
514
- self.unwrapped_rotation_angles = np.unwrap(self.dataset_info.rotation_angles)
515
-
516
- self.angle_min = self.unwrapped_rotation_angles.min()
517
- self.angle_max = self.unwrapped_rotation_angles.max()
518
-
519
- if (self.angle_max - self.angle_min) < 1.2 * np.pi:
520
- useful_span = None
521
- raise ValueError(
522
- f"""Sinogram-based Center of Rotation estimation can only be used for scans over more than 180 degrees.
523
- Your angular span was barely above 180 degrees, it was in fact {((self.angle_max - self.angle_min)/np.pi):.2f} x 180
524
- and it is not considered to be enough by the discriminating condition which requires at least 1.2 half-turns
525
- """
526
- )
527
- else:
528
- useful_span = min(np.pi, (self.angle_max - self.angle_min) - np.pi)
529
- # readapt theta_interval accordingly if the span is smaller than pi
530
- if useful_span < np.pi:
531
- theta_interval = theta_interval * useful_span / np.pi
532
-
533
- # self._get_cor_options(cor_options)
534
-
535
- self.take_log = take_log
536
- self.ovs = oversampling
537
- self.theta_interval = theta_interval
538
-
539
- target_sampling_y = np.round(np.linspace(0, self.sy - 1, n_subsampling_y + 2)).astype(int)[1:-1]
540
-
541
- if self.spike_threshold is not None:
542
- # take also one line below and on above for each line
543
- # to provide appropriate margin
544
- self.sampling_y = np.zeros([3 * len(target_sampling_y)], "i")
545
- self.sampling_y[0::3] = np.maximum(0, target_sampling_y - 1)
546
- self.sampling_y[2::3] = np.minimum(self.sy - 1, target_sampling_y + 1)
547
- self.sampling_y[1::3] = target_sampling_y
548
-
549
- self.ccd_correction = CCDFilter((len(self.sampling_y), self.sx), median_clip_thresh=self.spike_threshold)
550
- else:
551
- self.sampling_y = target_sampling_y
552
-
553
- self.nproj = self.dataset_info.n_angles
554
-
555
- my_condition = np.less(self.unwrapped_rotation_angles + np.pi, self.angle_max) * np.less(
556
- self.unwrapped_rotation_angles, self.angle_min + useful_span
557
- )
558
-
559
- possibly_probed_angles = self.unwrapped_rotation_angles[my_condition]
560
- possibly_probed_indices = np.arange(len(self.unwrapped_rotation_angles))[my_condition]
561
-
562
- self.dproj = round(len(possibly_probed_angles) / np.rad2deg(useful_span) * self.theta_interval)
563
-
564
- self.probed_angles = possibly_probed_angles[:: self.dproj]
565
- self.probed_indices = possibly_probed_indices[:: self.dproj]
566
-
567
- self.absolute_indices = sorted(self.dataset_info.projections.keys())
568
-
569
- my_flats = load_images_from_dataurl_dict(self.dataset_info.flats)
570
-
571
- if my_flats is not None and len(list(my_flats.keys())):
572
- self.use_flat = True
573
- self.flatfield = FlatFieldDataUrls(
574
- (len(self.absolute_indices), self.sy, self.sx),
575
- self.dataset_info.flats,
576
- self.dataset_info.darks,
577
- radios_indices=self.absolute_indices,
578
- dtype=np.float64,
579
- )
580
- else:
581
- self.use_flat = False
582
-
583
- self.sx, self.sy = self.dataset_info.radio_dims
584
- self.mlog = Log((1,) + (self.sy, self.sx), clip_min=1e-6, clip_max=10.0)
585
- self.rcor_abs = round(self.sx / 2.0)
586
- self.cor_acc = round(self.sx / 2.0)
587
-
588
- self.nprobed = len(self.probed_angles)
589
-
590
- # initialize sinograms and radios arrays
591
- self.sino = np.zeros([2 * self.nprobed * n_subsampling_y, (self.sx - 1) * self.ovs + 1], "f")
592
- self._loaded = False
593
- self.high_pass = self.cor_options["high_pass"]
594
- img_filter = fourier_filters.get_bandpass_filter(
595
- (self.sino.shape[0] // 2, self.sino.shape[1]),
596
- cutoff_lowpass=self.cor_options["low_pass"] * self.ovs,
597
- cutoff_highpass=self.high_pass * self.ovs,
598
- use_rfft=False, # rfft changes the image dimensions lenghts to even if odd
599
- data_type=np.float64,
600
- )
601
-
602
- # we are interested in filtering only along the x dimension only
603
- img_filter[:] = img_filter[0]
604
- self.img_filter = img_filter
605
-
606
- def _oversample(self, radio):
607
- """oversampling in the horizontal direction"""
608
- if self.ovs == 1:
609
- return radio
610
- else:
611
- ovs_2D = [1, self.ovs]
612
- return oversample(radio, ovs_2D)
613
-
614
- def _get_cor_options(self, cor_options):
615
- default_dict = self._default_cor_options.copy()
616
- if self.dataset_info.is_halftomo:
617
- default_dict["side"] = "right"
618
-
619
- if cor_options is None or cor_options == "":
620
- cor_options = {}
621
- if isinstance(cor_options, str):
622
- try:
623
- cor_options = extract_parameters(cor_options, sep=";")
624
- except Exception as exc:
625
- msg = "Could not extract parameters from cor_options: %s" % (str(exc))
626
- self.logger.fatal(msg)
627
- raise ValueError(msg)
628
- default_dict.update(cor_options)
629
- cor_options = default_dict
630
-
631
- self.cor_options = cor_options
632
-
633
- def get_radio(self, image_num):
634
- # radio_dataset_idx = self.absolute_indices[image_num]
635
- radio_dataset_idx = image_num
636
- data_url = self.dataset_info.projections[radio_dataset_idx]
637
- radio = get_data(data_url).astype(np.float64)
638
- if self.use_flat:
639
- self.flatfield.normalize_single_radio(radio, radio_dataset_idx, dtype=radio.dtype)
640
- if self.take_log:
641
- self.mlog.take_logarithm(radio)
642
-
643
- radio = radio[self.sampling_y]
644
- if self.spike_threshold is not None:
645
- self.ccd_correction.median_clip_correction(radio, output=radio)
646
- radio = radio[1::3]
647
- return radio
648
-
649
- def get_sino(self, reload=False):
650
- """
651
- Build sinogram (composite image) from the radio files
652
- """
653
- if self._loaded and not reload:
654
- return self.sino
655
-
656
- sorting_indexes = np.argsort(self.unwrapped_rotation_angles)
657
-
658
- sorted_all_angles = self.unwrapped_rotation_angles[sorting_indexes]
659
- sorted_angle_indexes = np.arange(len(self.unwrapped_rotation_angles))[sorting_indexes]
660
-
661
- irad = 0
662
- for prob_a, prob_i in zip(self.probed_angles, self.probed_indices):
663
- radio1 = self.get_radio(self.absolute_indices[prob_i])
664
- other_angle = prob_a + np.pi
665
-
666
- insertion_point = np.searchsorted(sorted_all_angles, other_angle)
667
- if insertion_point > 0 and insertion_point < len(sorted_all_angles):
668
- other_i_l = sorted_angle_indexes[insertion_point - 1]
669
- other_i_h = sorted_angle_indexes[insertion_point]
670
- radio_l = self.get_radio(self.absolute_indices[other_i_l])
671
- radio_h = self.get_radio(self.absolute_indices[other_i_h])
672
- f = (other_angle - sorted_all_angles[insertion_point - 1]) / (
673
- sorted_all_angles[insertion_point] - sorted_all_angles[insertion_point - 1]
674
- )
675
- radio2 = (1 - f) * radio_l + f * radio_h
676
- else:
677
- if insertion_point == 0:
678
- other_i = sorted_angle_indexes[0]
679
- elif insertion_point == len(sorted_all_angles):
680
- other_i = sorted_angle_indexes[insertion_point - 1]
681
- radio2 = self.get_radio(self.absolute_indices[other_i])
682
-
683
- self.sino[irad : irad + radio1.shape[0], :] = self._oversample(radio1)
684
- self.sino[
685
- irad + self.nprobed * radio1.shape[0] : irad + self.nprobed * radio1.shape[0] + radio1.shape[0], :
686
- ] = self._oversample(radio2)
687
-
688
- irad = irad + radio1.shape[0]
689
-
690
- self.sino[np.isnan(self.sino)] = 0.0001 # ?
691
- return self.sino
692
-
693
- def find_cor(self, reload=False):
694
- self.logger.info("Estimating center of rotation")
695
- self.logger.debug("%s.find_shift(%s)" % (self.__class__.__name__, self.cor_options))
696
- self.sinogram = self.get_sino(reload=reload)
697
-
698
- dim_v, dim_h = self.sinogram.shape
699
- assert dim_v % 2 == 0, " this should not happen "
700
- dim_v = dim_v // 2
701
-
702
- radio1 = self.sinogram[:dim_v]
703
- radio2 = self.sinogram[dim_v:]
704
-
705
- orig_sy, orig_ovsd_sx = radio1.shape
706
-
707
- radio1 = scipy.fft.ifftn(
708
- scipy.fft.fftn(radio1, axes=(-2, -1)) * self.img_filter, axes=(-2, -1)
709
- ).real # TODO: convolute only along x
710
- radio2 = scipy.fft.ifftn(
711
- scipy.fft.fftn(radio2, axes=(-2, -1)) * self.img_filter, axes=(-2, -1)
712
- ).real # TODO: convolute only along x
713
-
714
- tmp_sy, ovsd_sx = radio1.shape
715
- assert orig_sy == tmp_sy and orig_ovsd_sx == ovsd_sx, "this should not happen"
716
-
717
- if self.cor_options["side"] == "center":
718
- overlap_min = max(round(ovsd_sx - ovsd_sx / 3), 4)
719
- overlap_max = min(round(ovsd_sx + ovsd_sx / 3), 2 * ovsd_sx - 4)
720
- elif self.cor_options["side"] == "right":
721
- overlap_min = max(4, self.ovs * self.high_pass * 3)
722
- overlap_max = ovsd_sx
723
- elif self.cor_options["side"] == "left":
724
- overlap_min = ovsd_sx
725
- overlap_max = min(2 * ovsd_sx - 4, 2 * ovsd_sx - self.ovs * self.ovs * self.high_pass * 3)
726
- elif self.cor_options["side"] == "all":
727
- overlap_min = max(4, self.ovs * self.high_pass * 3)
728
- overlap_max = min(2 * ovsd_sx - 4, 2 * ovsd_sx - self.ovs * self.ovs * self.high_pass * 3)
729
-
730
- elif self.cor_options["side"] == "near":
731
- near_pos = self.cor_options["near_pos"]
732
- near_width = self.cor_options["near_width"]
733
-
734
- overlap_min = max(4, ovsd_sx - 2 * self.ovs * (near_pos + near_width))
735
- overlap_max = min(2 * ovsd_sx - 4, ovsd_sx - 2 * self.ovs * (near_pos - near_width))
736
-
737
- else:
738
- message = f""" The cor options "side" can only have one of the three possible values ["","",""].
739
- But it has the value "{self.cor_options["side"]}" instead
740
- """
741
- raise ValueError(message)
742
-
743
- if overlap_min > overlap_max:
744
- message = f""" There is no safe search range in find_cor once the margins corresponding to the high_pass filter are discarded.
745
- Try reducing the low_pass parameter in cor_options
746
- """
747
- raise ValueError(message)
748
-
749
- self.logger.info(
750
- "looking for overlap from min %.2f and max %.2f\n" % (overlap_min / self.ovs, overlap_max / self.ovs)
751
- )
752
-
753
- best_overlap = overlap_min
754
- best_error = np.inf
755
-
756
- blurred_radio1 = nd.gaussian_filter(abs(radio1), [0, self.high_pass])
757
- blurred_radio2 = nd.gaussian_filter(abs(radio2), [0, self.high_pass])
758
-
759
- for z in range(int(overlap_min), int(overlap_max) + 1):
760
- if z <= ovsd_sx:
761
- my_z = z
762
- my_radio1 = radio1
763
- my_radio2 = radio2
764
- my_blurred_radio1 = blurred_radio1
765
- my_blurred_radio2 = blurred_radio2
766
- else:
767
- my_z = ovsd_sx - (z - ovsd_sx)
768
- my_radio1 = np.fliplr(radio1)
769
- my_radio2 = np.fliplr(radio2)
770
- my_blurred_radio1 = np.fliplr(blurred_radio1)
771
- my_blurred_radio2 = np.fliplr(blurred_radio2)
772
-
773
- common_left = np.fliplr(my_radio1[:, ovsd_sx - my_z :])[:, : -int(math.ceil(self.ovs * self.high_pass * 2))]
774
- # adopt a 'safe' margin considering high_pass value (possibly float)
775
- common_right = my_radio2[:, ovsd_sx - my_z : -int(math.ceil(self.ovs * self.high_pass * 2))]
776
-
777
- common_blurred_left = np.fliplr(my_blurred_radio1[:, ovsd_sx - my_z :])[
778
- :, : -int(math.ceil(self.ovs * self.high_pass * 2))
779
- ]
780
- # adopt a 'safe' margin considering high_pass value (possibly float)
781
- common_blurred_right = my_blurred_radio2[:, ovsd_sx - my_z : -int(math.ceil(self.ovs * self.high_pass * 2))]
782
-
783
- if common_right.size == 0:
784
- continue
785
-
786
- error = self.error_metric(common_right, common_left, common_blurred_right, common_blurred_left)
787
-
788
- min_error = min(best_error, error)
789
-
790
- if min_error == error:
791
- best_overlap = z
792
- best_error = min_error
793
- # self.logger.debug(
794
- # "testing an overlap of %.2f pixels, actual best overlap is %.2f pixels over %d\r"
795
- # % (z / self.ovs, best_overlap / self.ovs, ovsd_sx / self.ovs),
796
- # )
797
-
798
- offset = (ovsd_sx - best_overlap) / self.ovs / 2
799
- cor_abs = (self.sx - 1) / 2 + offset
800
-
801
- return cor_abs
802
-
803
- def error_metric(self, common_right, common_left, common_blurred_right, common_blurred_left):
804
- if self.norm_order == 2:
805
- return self.error_metric_l2(common_right, common_left)
806
- elif self.norm_order == 1:
807
- return self.error_metric_l1(common_right, common_left, common_blurred_right, common_blurred_left)
808
- else:
809
- assert False, "this cannot happen"
810
-
811
- def error_metric_l2(self, common_right, common_left):
812
- common = common_right - common_left
813
-
814
- tmp = np.linalg.norm(common)
815
- norm_diff2 = tmp * tmp
816
-
817
- norm_right = np.linalg.norm(common_right)
818
- norm_left = np.linalg.norm(common_left)
819
-
820
- res = norm_diff2 / (norm_right * norm_left)
821
-
822
- return res
823
-
824
- def error_metric_l1(self, common_right, common_left, common_blurred_right, common_blurred_left):
825
- common = (common_right - common_left) / (common_blurred_right + common_blurred_left)
826
-
827
- res = abs(common).mean()
828
-
829
- return res
830
-
831
-
832
- def oversample(radio, ovs_s):
833
- """oversampling an image in arbitrary directions.
834
- The first and last point of each axis will still remain as extremal points of the new axis.
835
- """
836
- result = np.zeros([(radio.shape[0] - 1) * ovs_s[0] + 1, (radio.shape[1] - 1) * ovs_s[1] + 1], "f")
837
-
838
- # Pre-initialisation: The original data falls exactly on the following strided positions in the new data array.
839
- result[:: ovs_s[0], :: ovs_s[1]] = radio
840
-
841
- for k in range(0, ovs_s[0]):
842
- # interpolation coefficient for axis 0
843
- g = k / ovs_s[0]
844
- for i in range(0, ovs_s[1]):
845
- if i == 0 and k == 0:
846
- # this case subset was already exactly matched from before the present double loop,
847
- # in the pre-initialisation line.
848
- continue
849
- # interpolation coefficent for axis 1
850
- f = i / ovs_s[1]
851
-
852
- # stop just a bit before cause we are not extending beyond the limits.
853
- # If we are exacly on a vertical or horizontal original line, then no shift will be applied,
854
- # and we will exploit the equality f+(1-f)=g+(1-g)=1 adding twice the same contribution with
855
- # interpolation factors which become dummies pour le coup.
856
- stop0 = -ovs_s[0] if k else None
857
- stop1 = -ovs_s[1] if i else None
858
-
859
- # Once again, we exploit the g+(1-g)=1 equality
860
- start0 = ovs_s[0] if k else 0
861
- start1 = ovs_s[1] if i else 0
862
-
863
- # and what is done below makes clear the corundum above.
864
- result[k :: ovs_s[0], i :: ovs_s[1]] = (1 - g) * (
865
- (1 - f) * result[0 : stop0 : ovs_s[0], 0 : stop1 : ovs_s[1]]
866
- + f * result[0 : stop0 : ovs_s[0], start1 :: ovs_s[1]]
867
- ) + g * (
868
- (1 - f) * result[start0 :: ovs_s[0], 0 : stop1 : ovs_s[1]]
869
- + f * result[start0 :: ovs_s[0], start1 :: ovs_s[1]]
870
- )
871
- return result
872
-
873
-
874
- # alias
875
- CompositeCOREstimator = CompositeCORFinder
876
-
877
-
878
- # Some heavily inelegant things going on here
879
- def get_default_kwargs(func):
880
- params = inspect.signature(func).parameters
881
- res = {}
882
- for param_name, param in params.items():
883
- if param.default != inspect._empty:
884
- res[param_name] = param.default
885
- return res
886
-
887
-
888
- def update_func_kwargs(func, options):
889
- res_options = get_default_kwargs(func)
890
- for option_name, option_val in options.items():
891
- if option_name in res_options:
892
- res_options[option_name] = option_val
893
- return res_options
894
-
895
-
896
- def get_class_name(class_object):
897
- return str(class_object).split(".")[-1].strip(">").strip("'").strip('"')
898
-
899
-
900
- class DetectorTiltEstimator:
901
- """
902
- Helper class for detector tilt estimation.
903
- It automatically chooses the right radios and performs flat-field.
904
- """
905
-
906
- default_tilt_method = "1d-correlation"
907
- # Given a tilt angle "a", the maximum deviation caused by the tilt (in pixels) is
908
- # N/2 * |sin(a)| where N is the number of pixels
909
- # We ignore tilts causing less than 0.25 pixel deviation: N/2*|sin(a)| < tilt_threshold
910
- tilt_threshold = 0.25
911
-
912
- def __init__(self, dataset_info, do_flatfield=True, logger=None, autotilt_options=None):
913
- """
914
- Initialize a detector tilt estimator helper.
915
-
916
- Parameters
917
- ----------
918
- dataset_info: `dataset_info` object
919
- Data structure with the dataset information.
920
- do_flatfield: bool, optional
921
- Whether to perform flat field on radios.
922
- logger: `Logger` object, optional
923
- Logger object
924
- autotilt_options: dict, optional
925
- named arguments to pass to the detector tilt estimator class.
926
- """
927
- self._set_params(dataset_info, do_flatfield, logger, autotilt_options)
928
- self.radios, self.radios_indices = get_radio_pair(dataset_info, radio_angles=(0.0, np.pi), return_indices=True)
929
- self._init_flatfield()
930
- self._apply_flatfield()
931
-
932
- def _set_params(self, dataset_info, do_flatfield, logger, autotilt_options):
933
- self.dataset_info = dataset_info
934
- self.do_flatfield = bool(do_flatfield)
935
- self.logger = LoggerOrPrint(logger)
936
- self._get_autotilt_options(autotilt_options)
937
-
938
- def _init_flatfield(self):
939
- if not (self.do_flatfield):
940
- return
941
- self.flatfield = FlatFieldDataUrls(
942
- self.radios.shape,
943
- flats=self.dataset_info.flats,
944
- darks=self.dataset_info.darks,
945
- radios_indices=self.radios_indices,
946
- interpolation="linear",
947
- convert_float=True,
948
- )
949
-
950
- def _apply_flatfield(self):
951
- if not (self.do_flatfield):
952
- return
953
- self.flatfield.normalize_radios(self.radios)
954
-
955
- def _get_autotilt_options(self, autotilt_options):
956
- if autotilt_options is None:
957
- self.autotilt_options = None
958
- return
959
- try:
960
- autotilt_options = extract_parameters(autotilt_options)
961
- except Exception as exc:
962
- msg = "Could not extract parameters from autotilt_options: %s" % (str(exc))
963
- self.logger.fatal(msg)
964
- raise ValueError(msg)
965
- self.autotilt_options = autotilt_options
966
- if "threshold" in autotilt_options:
967
- self.tilt_threshold = autotilt_options.pop("threshold")
968
-
969
- def find_tilt(self, tilt_method=None):
970
- """
971
- Find the detector tilt.
972
-
973
- Parameters
974
- ----------
975
- tilt_method: str, optional
976
- Which tilt estimation method to use.
977
- """
978
- if tilt_method is None:
979
- tilt_method = self.default_tilt_method
980
- check_supported(tilt_method, set(tilt_methods.values()), "tilt estimation method")
981
- self.logger.info("Estimating detector tilt angle")
982
- autotilt_params = {
983
- "roi_yxhw": None,
984
- "median_filt_shape": None,
985
- "padding_mode": None,
986
- "peak_fit_radius": 1,
987
- "high_pass": None,
988
- "low_pass": None,
989
- }
990
- autotilt_params.update(self.autotilt_options or {})
991
- self.logger.debug("%s(%s)" % ("CameraTilt", str(autotilt_params)))
992
-
993
- tilt_calc = CameraTilt()
994
- tilt_cor_position, camera_tilt = tilt_calc.compute_angle(
995
- self.radios[0], np.fliplr(self.radios[1]), method=tilt_method, **autotilt_params
996
- )
997
- self.logger.info("Estimated detector tilt angle: %f degrees" % camera_tilt)
998
- # Ignore too small tilts
999
- max_deviation = np.max(self.dataset_info.radio_dims) * np.abs(np.sin(np.deg2rad(camera_tilt)))
1000
- if self.dataset_info.is_halftomo:
1001
- max_deviation *= 2
1002
- if max_deviation < self.tilt_threshold:
1003
- self.logger.info(
1004
- "Estimated tilt angle (%.3f degrees) results in %.2f maximum pixels shift, which is below threshold (%.2f pixel). Ignoring the tilt, no correction will be done."
1005
- % (camera_tilt, max_deviation, self.tilt_threshold)
1006
- )
1007
- camera_tilt = None
1008
- return camera_tilt
1009
-
1010
-
1011
- # alias
1012
- TiltFinder = DetectorTiltEstimator