nabu 2024.1.6__tar.gz → 2024.1.7__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (301) hide show
  1. {nabu-2024.1.6/nabu.egg-info → nabu-2024.1.7}/PKG-INFO +1 -1
  2. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/__init__.py +1 -1
  3. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/pipeline/fullfield/chunked.py +11 -8
  4. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/pipeline/fullfield/dataset_validator.py +5 -1
  5. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/pipeline/fullfield/processconfig.py +1 -1
  6. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/pipeline/helical/tests/test_accumulator.py +2 -1
  7. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/pipeline/processconfig.py +4 -1
  8. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/processing/tests/test_fftshift.py +1 -0
  9. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/reconstruction/tests/test_deringer.py +3 -3
  10. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/reconstruction/tests/test_halftomo.py +2 -1
  11. {nabu-2024.1.6 → nabu-2024.1.7/nabu.egg-info}/PKG-INFO +1 -1
  12. {nabu-2024.1.6 → nabu-2024.1.7}/nabu.egg-info/top_level.txt +1 -0
  13. {nabu-2024.1.6 → nabu-2024.1.7}/LICENSE +0 -0
  14. {nabu-2024.1.6 → nabu-2024.1.7}/README.md +0 -0
  15. {nabu-2024.1.6 → nabu-2024.1.7}/doc/conf.py +0 -0
  16. {nabu-2024.1.6 → nabu-2024.1.7}/doc/create_conf_doc.py +0 -0
  17. {nabu-2024.1.6 → nabu-2024.1.7}/doc/get_mathjax.py +0 -0
  18. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/app/__init__.py +0 -0
  19. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/app/bootstrap.py +0 -0
  20. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/app/bootstrap_stitching.py +0 -0
  21. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/app/cast_volume.py +0 -0
  22. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/app/cli_configs.py +0 -0
  23. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/app/compare_volumes.py +0 -0
  24. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/app/composite_cor.py +0 -0
  25. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/app/correct_rot.py +0 -0
  26. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/app/create_distortion_map_from_poly.py +0 -0
  27. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/app/diag_to_pix.py +0 -0
  28. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/app/diag_to_rot.py +0 -0
  29. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/app/double_flatfield.py +0 -0
  30. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/app/generate_header.py +0 -0
  31. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/app/histogram.py +0 -0
  32. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/app/multicor.py +0 -0
  33. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/app/nx_z_splitter.py +0 -0
  34. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/app/parse_reconstruction_log.py +0 -0
  35. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/app/prepare_weights_double.py +0 -0
  36. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/app/reconstruct.py +0 -0
  37. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/app/reconstruct_helical.py +0 -0
  38. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/app/reduce_dark_flat.py +0 -0
  39. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/app/rotate.py +0 -0
  40. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/app/shrink_dataset.py +0 -0
  41. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/app/stitching.py +0 -0
  42. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/app/tests/__init__.py +0 -0
  43. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/app/tests/test_reduce_dark_flat.py +0 -0
  44. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/app/utils.py +0 -0
  45. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/app/validator.py +0 -0
  46. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/cuda/__init__.py +0 -0
  47. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/cuda/convolution.py +0 -0
  48. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/cuda/fft.py +0 -0
  49. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/cuda/kernel.py +0 -0
  50. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/cuda/medfilt.py +0 -0
  51. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/cuda/padding.py +0 -0
  52. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/cuda/processing.py +0 -0
  53. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/cuda/src/ElementOp.cu +0 -0
  54. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/cuda/src/backproj.cu +0 -0
  55. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/cuda/src/backproj_polar.cu +0 -0
  56. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/cuda/src/boundary.h +0 -0
  57. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/cuda/src/convolution.cu +0 -0
  58. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/cuda/src/dfi_fftshift.cu +0 -0
  59. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/cuda/src/flatfield.cu +0 -0
  60. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/cuda/src/fourier_wavelets.cu +0 -0
  61. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/cuda/src/halftomo.cu +0 -0
  62. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/cuda/src/helical_padding.cu +0 -0
  63. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/cuda/src/histogram.cu +0 -0
  64. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/cuda/src/interpolation.cu +0 -0
  65. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/cuda/src/medfilt.cu +0 -0
  66. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/cuda/src/normalization.cu +0 -0
  67. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/cuda/src/padding.cu +0 -0
  68. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/cuda/src/proj.cu +0 -0
  69. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/cuda/src/rotation.cu +0 -0
  70. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/cuda/src/transpose.cu +0 -0
  71. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/cuda/tests/__init__.py +0 -0
  72. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/cuda/utils.py +0 -0
  73. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/estimation/__init__.py +0 -0
  74. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/estimation/alignment.py +0 -0
  75. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/estimation/cor.py +0 -0
  76. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/estimation/cor_sino.py +0 -0
  77. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/estimation/distortion.py +0 -0
  78. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/estimation/focus.py +0 -0
  79. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/estimation/tests/__init__.py +0 -0
  80. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/estimation/tests/test_alignment.py +0 -0
  81. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/estimation/tests/test_cor.py +0 -0
  82. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/estimation/tests/test_focus.py +0 -0
  83. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/estimation/tests/test_tilt.py +0 -0
  84. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/estimation/tests/test_translation.py +0 -0
  85. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/estimation/tilt.py +0 -0
  86. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/estimation/translation.py +0 -0
  87. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/estimation/utils.py +0 -0
  88. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/io/__init__.py +0 -0
  89. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/io/cast_volume.py +0 -0
  90. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/io/detector_distortion.py +0 -0
  91. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/io/reader.py +0 -0
  92. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/io/reader_helical.py +0 -0
  93. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/io/tests/__init__.py +0 -0
  94. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/io/tests/test_cast_volume.py +0 -0
  95. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/io/tests/test_detector_distortion.py +0 -0
  96. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/io/tests/test_writers.py +0 -0
  97. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/io/tiffwriter_zmm.py +0 -0
  98. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/io/utils.py +0 -0
  99. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/io/writer.py +0 -0
  100. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/misc/__init__.py +0 -0
  101. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/misc/binning.py +0 -0
  102. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/misc/fftshift.py +0 -0
  103. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/misc/filters.py +0 -0
  104. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/misc/fourier_filters.py +0 -0
  105. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/misc/histogram.py +0 -0
  106. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/misc/histogram_cuda.py +0 -0
  107. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/misc/kernel_base.py +0 -0
  108. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/misc/padding.py +0 -0
  109. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/misc/padding_base.py +0 -0
  110. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/misc/processing_base.py +0 -0
  111. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/misc/rotation.py +0 -0
  112. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/misc/rotation_cuda.py +0 -0
  113. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/misc/tests/__init__.py +0 -0
  114. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/misc/tests/test_binning.py +0 -0
  115. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/misc/tests/test_interpolation.py +0 -0
  116. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/misc/transpose.py +0 -0
  117. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/misc/unsharp.py +0 -0
  118. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/misc/unsharp_cuda.py +0 -0
  119. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/misc/unsharp_opencl.py +0 -0
  120. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/misc/utils.py +0 -0
  121. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/opencl/__init__.py +0 -0
  122. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/opencl/fft.py +0 -0
  123. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/opencl/kernel.py +0 -0
  124. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/opencl/memcpy.py +0 -0
  125. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/opencl/padding.py +0 -0
  126. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/opencl/processing.py +0 -0
  127. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/opencl/src/ElementOp.cl +0 -0
  128. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/opencl/src/backproj.cl +0 -0
  129. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/opencl/src/fftshift.cl +0 -0
  130. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/opencl/src/halftomo.cl +0 -0
  131. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/opencl/src/padding.cl +0 -0
  132. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/opencl/src/roll.cl +0 -0
  133. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/opencl/src/transpose.cl +0 -0
  134. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/opencl/tests/__init__.py +0 -0
  135. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/opencl/utils.py +0 -0
  136. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/pipeline/__init__.py +0 -0
  137. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/pipeline/config.py +0 -0
  138. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/pipeline/config_validators.py +0 -0
  139. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/pipeline/datadump.py +0 -0
  140. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/pipeline/dataset_validator.py +0 -0
  141. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/pipeline/detector_distortion_provider.py +0 -0
  142. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/pipeline/estimators.py +0 -0
  143. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/pipeline/fallback_utils.py +0 -0
  144. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/pipeline/fullfield/__init__.py +0 -0
  145. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/pipeline/fullfield/chunked_cuda.py +0 -0
  146. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/pipeline/fullfield/computations.py +0 -0
  147. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/pipeline/fullfield/nabu_config.py +0 -0
  148. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/pipeline/fullfield/reconstruction.py +0 -0
  149. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/pipeline/helical/__init__.py +0 -0
  150. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/pipeline/helical/dataset_validator.py +0 -0
  151. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/pipeline/helical/fbp.py +0 -0
  152. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/pipeline/helical/filtering.py +0 -0
  153. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/pipeline/helical/gridded_accumulator.py +0 -0
  154. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/pipeline/helical/helical_chunked_regridded.py +0 -0
  155. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/pipeline/helical/helical_chunked_regridded_cuda.py +0 -0
  156. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/pipeline/helical/helical_reconstruction.py +0 -0
  157. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/pipeline/helical/helical_utils.py +0 -0
  158. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/pipeline/helical/nabu_config.py +0 -0
  159. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/pipeline/helical/processconfig.py +0 -0
  160. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/pipeline/helical/span_strategy.py +0 -0
  161. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/pipeline/helical/tests/__init__.py +0 -0
  162. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/pipeline/helical/tests/test_pipeline_elements_full.py +0 -0
  163. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/pipeline/helical/tests/test_strategy.py +0 -0
  164. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/pipeline/helical/utils.py +0 -0
  165. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/pipeline/helical/weight_balancer.py +0 -0
  166. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/pipeline/params.py +0 -0
  167. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/pipeline/tests/test_chunk_reader.py +0 -0
  168. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/pipeline/tests/test_estimators.py +0 -0
  169. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/pipeline/utils.py +0 -0
  170. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/pipeline/writer.py +0 -0
  171. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/pipeline/xrdct/__init__.py +0 -0
  172. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/preproc/__init__.py +0 -0
  173. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/preproc/alignment.py +0 -0
  174. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/preproc/ccd.py +0 -0
  175. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/preproc/ccd_cuda.py +0 -0
  176. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/preproc/ctf.py +0 -0
  177. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/preproc/ctf_cuda.py +0 -0
  178. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/preproc/distortion.py +0 -0
  179. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/preproc/double_flatfield.py +0 -0
  180. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/preproc/double_flatfield_cuda.py +0 -0
  181. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/preproc/double_flatfield_variable_region.py +0 -0
  182. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/preproc/flatfield.py +0 -0
  183. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/preproc/flatfield_cuda.py +0 -0
  184. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/preproc/flatfield_variable_region.py +0 -0
  185. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/preproc/phase.py +0 -0
  186. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/preproc/phase_cuda.py +0 -0
  187. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/preproc/shift.py +0 -0
  188. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/preproc/shift_cuda.py +0 -0
  189. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/preproc/tests/__init__.py +0 -0
  190. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/preproc/tests/test_ccd_corr.py +0 -0
  191. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/preproc/tests/test_ctf.py +0 -0
  192. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/preproc/tests/test_double_flatfield.py +0 -0
  193. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/preproc/tests/test_flatfield.py +0 -0
  194. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/preproc/tests/test_paganin.py +0 -0
  195. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/preproc/tests/test_vshift.py +0 -0
  196. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/processing/__init__.py +0 -0
  197. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/processing/convolution_cuda.py +0 -0
  198. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/processing/fft_base.py +0 -0
  199. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/processing/fft_cuda.py +0 -0
  200. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/processing/fft_opencl.py +0 -0
  201. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/processing/fftshift.py +0 -0
  202. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/processing/histogram.py +0 -0
  203. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/processing/histogram_cuda.py +0 -0
  204. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/processing/kernel_base.py +0 -0
  205. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/processing/medfilt_cuda.py +0 -0
  206. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/processing/muladd.py +0 -0
  207. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/processing/muladd_cuda.py +0 -0
  208. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/processing/padding_base.py +0 -0
  209. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/processing/padding_cuda.py +0 -0
  210. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/processing/padding_opencl.py +0 -0
  211. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/processing/processing_base.py +0 -0
  212. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/processing/roll_opencl.py +0 -0
  213. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/processing/rotation.py +0 -0
  214. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/processing/rotation_cuda.py +0 -0
  215. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/processing/tests/__init__.py +0 -0
  216. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/processing/tests/test_fft.py +0 -0
  217. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/processing/tests/test_histogram.py +0 -0
  218. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/processing/tests/test_medfilt.py +0 -0
  219. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/processing/tests/test_muladd.py +0 -0
  220. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/processing/tests/test_padding.py +0 -0
  221. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/processing/tests/test_roll.py +0 -0
  222. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/processing/tests/test_rotation.py +0 -0
  223. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/processing/tests/test_transpose.py +0 -0
  224. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/processing/tests/test_unsharp.py +0 -0
  225. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/processing/transpose.py +0 -0
  226. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/processing/unsharp.py +0 -0
  227. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/processing/unsharp_cuda.py +0 -0
  228. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/processing/unsharp_opencl.py +0 -0
  229. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/reconstruction/__init__.py +0 -0
  230. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/reconstruction/cone.py +0 -0
  231. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/reconstruction/fbp.py +0 -0
  232. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/reconstruction/fbp_base.py +0 -0
  233. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/reconstruction/fbp_opencl.py +0 -0
  234. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/reconstruction/filtering.py +0 -0
  235. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/reconstruction/filtering_cuda.py +0 -0
  236. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/reconstruction/filtering_opencl.py +0 -0
  237. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/reconstruction/projection.py +0 -0
  238. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/reconstruction/reconstructor.py +0 -0
  239. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/reconstruction/reconstructor_cuda.py +0 -0
  240. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/reconstruction/rings.py +0 -0
  241. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/reconstruction/rings_cuda.py +0 -0
  242. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/reconstruction/sinogram.py +0 -0
  243. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/reconstruction/sinogram_cuda.py +0 -0
  244. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/reconstruction/sinogram_opencl.py +0 -0
  245. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/reconstruction/tests/__init__.py +0 -0
  246. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/reconstruction/tests/test_cone.py +0 -0
  247. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/reconstruction/tests/test_fbp.py +0 -0
  248. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/reconstruction/tests/test_filtering.py +0 -0
  249. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/reconstruction/tests/test_projector.py +0 -0
  250. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/reconstruction/tests/test_reconstructor.py +0 -0
  251. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/reconstruction/tests/test_sino_normalization.py +0 -0
  252. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/resources/__init__.py +0 -0
  253. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/resources/cli/__init__.py +0 -0
  254. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/resources/cor.py +0 -0
  255. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/resources/dataset_analyzer.py +0 -0
  256. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/resources/gpu.py +0 -0
  257. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/resources/logger.py +0 -0
  258. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/resources/nxflatfield.py +0 -0
  259. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/resources/templates/__init__.py +0 -0
  260. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/resources/templates/bm05_pag.conf +0 -0
  261. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/resources/templates/id16_ctf.conf +0 -0
  262. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/resources/templates/id16_holo.conf +0 -0
  263. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/resources/templates/id19_pag.conf +0 -0
  264. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/resources/tests/__init__.py +0 -0
  265. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/resources/tests/test_nxflatfield.py +0 -0
  266. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/resources/tests/test_units.py +0 -0
  267. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/resources/utils.py +0 -0
  268. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/stitching/__init__.py +0 -0
  269. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/stitching/alignment.py +0 -0
  270. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/stitching/config.py +0 -0
  271. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/stitching/definitions.py +0 -0
  272. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/stitching/frame_composition.py +0 -0
  273. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/stitching/overlap.py +0 -0
  274. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/stitching/sample_normalization.py +0 -0
  275. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/stitching/slurm_utils.py +0 -0
  276. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/stitching/tests/__init__.py +0 -0
  277. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/stitching/tests/test_alignment.py +0 -0
  278. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/stitching/tests/test_config.py +0 -0
  279. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/stitching/tests/test_frame_composition.py +0 -0
  280. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/stitching/tests/test_overlap.py +0 -0
  281. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/stitching/tests/test_sample_normalization.py +0 -0
  282. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/stitching/tests/test_slurm_utils.py +0 -0
  283. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/stitching/tests/test_utils.py +0 -0
  284. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/stitching/tests/test_z_stitching.py +0 -0
  285. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/stitching/utils.py +0 -0
  286. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/stitching/z_stitching.py +0 -0
  287. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/tests.py +0 -0
  288. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/testutils.py +0 -0
  289. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/thirdparty/__init__.py +0 -0
  290. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/thirdparty/algotom_convert_sino.py +0 -0
  291. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/thirdparty/pore3d_deringer_munch.py +0 -0
  292. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/thirdparty/tomocupy_remove_stripe.py +0 -0
  293. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/thirdparty/tomopy_phase.py +0 -0
  294. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/thirdparty/tomwer_load_flats_darks.py +0 -0
  295. {nabu-2024.1.6 → nabu-2024.1.7}/nabu/utils.py +0 -0
  296. {nabu-2024.1.6 → nabu-2024.1.7}/nabu.egg-info/SOURCES.txt +0 -0
  297. {nabu-2024.1.6 → nabu-2024.1.7}/nabu.egg-info/dependency_links.txt +0 -0
  298. {nabu-2024.1.6 → nabu-2024.1.7}/nabu.egg-info/entry_points.txt +0 -0
  299. {nabu-2024.1.6 → nabu-2024.1.7}/nabu.egg-info/requires.txt +0 -0
  300. {nabu-2024.1.6 → nabu-2024.1.7}/pyproject.toml +0 -0
  301. {nabu-2024.1.6 → nabu-2024.1.7}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: nabu
3
- Version: 2024.1.6
3
+ Version: 2024.1.7
4
4
  Summary: Nabu - Tomography software
5
5
  Author-email: Pierre Paleo <pierre.paleo@esrf.fr>, Henri Payno <henri.payno@esrf.fr>, Alessandro Mirone <mirone@esrf.fr>, Jérôme Lesaint <jerome.lesaint@esrf.fr>
6
6
  Maintainer-email: Pierre Paleo <pierre.paleo@esrf.fr>
@@ -1,4 +1,4 @@
1
- __version__ = "2024.1.6"
1
+ __version__ = "2024.1.7"
2
2
  __nabu_modules__ = [
3
3
  "app",
4
4
  "cuda",
@@ -548,7 +548,6 @@ class ChunkedPipeline:
548
548
 
549
549
  if options["method"] == "FBP":
550
550
  n_slices = self.n_slices
551
- radios_shape_for_sino_builder = self.radios_cropped_shape
552
551
  self.reconstruction = self.FBPClass(
553
552
  self.sinos_shape[1:],
554
553
  angles=options["angles"],
@@ -567,7 +566,6 @@ class ChunkedPipeline:
567
566
  )
568
567
 
569
568
  if options["method"] == "cone":
570
- radios_shape_for_sino_builder = self.radios_shape
571
569
  n_slices = self.n_slices + sum(self.margin[0])
572
570
  # For numerical stability, normalize all lengths with respect to detector pixel size
573
571
  pixel_size_m = self.dataset_info.pixel_size * 1e-6
@@ -586,8 +584,6 @@ class ChunkedPipeline:
586
584
  self._allocate_recs(*self.process_config.rec_shape, n_slices=n_slices)
587
585
  n_a, _, n_x = self.radios_cropped_shape
588
586
  self._tmp_sino = self._allocate_array((n_a, n_x), "f", name="tmp_sino")
589
- if options["method"] == "cone":
590
- self.sinos = self._allocate_array(self.sino_builder.output_shape, "f", name="sinos")
591
587
 
592
588
  @use_options("histogram", "histogram")
593
589
  def _init_histogram(self):
@@ -734,14 +730,21 @@ class ChunkedPipeline:
734
730
  """
735
731
  This reconstructs the entire sinograms stack at once
736
732
  """
737
- self.sino_builder.get_sinos(self.radios, output=self.sinos)
733
+
734
+ n_angles, n_z, n_x = self.radios.shape
735
+ # can't do a discontiguous single copy...
736
+ sinos_contig = self._allocate_array((n_z, n_angles, n_x), np.float32, "sinos_cone")
737
+ for i in range(n_z):
738
+ sinos_contig[i] = self.radios[:, i, :]
739
+ #
740
+
738
741
  z_min, z_max = self.sub_region_xz[2:]
739
- n_z = self.process_config.radio_shape(binning=True)[0]
742
+ n_z_tot = self.process_config.radio_shape(binning=True)[0]
740
743
 
741
744
  self.reconstruction.reconstruct( # pylint: disable=E1101
742
- self.sinos,
745
+ sinos_contig,
743
746
  output=self.recs,
744
- relative_z_position=((z_min + z_max) / self.process_config.binning_z / 2) - n_z / 2,
747
+ relative_z_position=((z_min + z_max) / self.process_config.binning_z / 2) - n_z_tot / 2,
745
748
  )
746
749
 
747
750
  @pipeline_step("histogram", "Computing histogram")
@@ -29,7 +29,7 @@ class FullFieldDatasetValidator(DatasetValidatorBase):
29
29
  def _check_slice_indices(self):
30
30
  nx, nz = self.dataset_info.radio_dims
31
31
  rec_params = self.rec_params
32
- if rec_params["enable_halftomo"]:
32
+ if self.is_halftomo:
33
33
  ny, nx = self._get_nx_ny()
34
34
  what = (("start_x", "end_x", nx), ("start_y", "end_y", nx), ("start_z", "end_z", nz))
35
35
  for start_name, end_name, numels in what:
@@ -61,3 +61,7 @@ class FullFieldDatasetValidator(DatasetValidatorBase):
61
61
  self.logger.warning(
62
62
  "Cone-beam reconstruction: 'sample_detector_dist' not provided, will use the one in dataset metadata"
63
63
  )
64
+ if self.is_halftomo:
65
+ err_msg = "Cone-beam reconstruction with half-acquisition is not supported yet"
66
+ self.logger.fatal(err_msg)
67
+ raise NotImplementedError(err_msg)
@@ -600,7 +600,7 @@ class ProcessConfig(ProcessConfigBase):
600
600
  )
601
601
  if all([m is not None for m in mean_positions_xyz]):
602
602
  rec_options["position"] = mean_positions_xyz
603
- if rec_options["sample_detector_dist"] is None:
603
+ if rec_options["method"] == "cone" and rec_options["sample_detector_dist"] is None:
604
604
  rec_options["sample_detector_dist"] = self.dataset_info.distance # was checked to be not None earlier
605
605
 
606
606
  # New key
@@ -1,5 +1,5 @@
1
1
  from nabu.pipeline.helical import gridded_accumulator, span_strategy
2
- from nabu.testutils import get_data
2
+ from nabu.testutils import get_data, __do_long_tests__
3
3
 
4
4
  import pytest
5
5
  import numpy as np
@@ -49,6 +49,7 @@ def bootstrap(request):
49
49
  cls.rtol_regridded = 1.0e-6
50
50
 
51
51
 
52
+ @pytest.mark.skipif(not (__do_long_tests__), reason="need environment variable NABU_LONG_TESTS=1")
52
53
  @pytest.mark.usefixtures("bootstrap")
53
54
  class TestGriddedAccumulator:
54
55
  """
@@ -181,7 +181,10 @@ class ProcessConfigBase:
181
181
  #
182
182
  if isinstance(tilt, str): # auto-tilt
183
183
  self.tilt_estimator = DetectorTiltEstimator(
184
- self.dataset_info, logger=self.logger, autotilt_options=self.nabu_config["preproc"]["autotilt_options"]
184
+ self.dataset_info,
185
+ do_flatfield=self.nabu_config["preproc"]["flatfield"],
186
+ logger=self.logger,
187
+ autotilt_options=self.nabu_config["preproc"]["autotilt_options"],
185
188
  )
186
189
  tilt = self.tilt_estimator.find_tilt(tilt_method=tilt)
187
190
  self.dataset_info.detector_tilt = tilt
@@ -31,6 +31,7 @@ def bootstrap(request):
31
31
  cls.cu_ctx.pop()
32
32
 
33
33
 
34
+ @pytest.mark.skip(reason="OpenCL fftshift is a prototype")
34
35
  @pytest.mark.usefixtures("bootstrap")
35
36
  class TestFFTshift:
36
37
  def _do_test_fftshift(self, config, fftshift_cls):
@@ -1,7 +1,7 @@
1
1
  import numpy as np
2
2
  import pytest
3
3
  from nabu.reconstruction.rings_cuda import CudaSinoMeanDeringer
4
- from nabu.testutils import compare_arrays, get_data, generate_tests_scenarios, __do_long_tests__
4
+ from nabu.testutils import compare_arrays, get_data, generate_tests_scenarios, __do_long_tests__, __do_large_mem_tests__
5
5
  from nabu.reconstruction.rings import MunchDeringer, SinoMeanDeringer, VoDeringer, __has_algotom__
6
6
  from nabu.thirdparty.pore3d_deringer_munch import munchetal_filter
7
7
  from nabu.cuda.utils import __has_pycuda__, get_cuda_context
@@ -144,8 +144,8 @@ class TestMunchDeringer:
144
144
  # TODO check result. The generated test sinogram is "too synthetic" for this kind of deringer
145
145
 
146
146
  @pytest.mark.skipif(
147
- not (__have_tomocupy_deringer__),
148
- reason="Need cupy for this test",
147
+ not (__have_tomocupy_deringer__ and __do_large_mem_tests__),
148
+ reason="Need cupy for this test, and use NABU_LARGE_MEM_TESTS",
149
149
  )
150
150
  def test_cuda_vo_deringer(self):
151
151
  # Beware, this deringer seems to be buggy for "too-small" sinograms
@@ -3,10 +3,11 @@ import pytest
3
3
  from nabu.testutils import get_data, generate_tests_scenarios, compare_shifted_images
4
4
  from nabu.cuda.utils import get_cuda_context, __has_pycuda__, __has_cufft__
5
5
  from nabu.opencl.utils import get_opencl_context, __has_pyopencl__
6
+ from nabu.processing.fft_opencl import has_vkfft as has_vkfft_cl
6
7
  from nabu.thirdparty.algotom_convert_sino import extend_sinogram
7
8
 
8
9
  __has_pycuda__ = __has_pycuda__ and __has_cufft__ # need both for using Cuda backprojector
9
-
10
+ __has_pyopencl__ = __has_pyopencl__ and has_vkfft_cl()
10
11
 
11
12
  if __has_pycuda__:
12
13
  from nabu.reconstruction.fbp import CudaBackprojector
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: nabu
3
- Version: 2024.1.6
3
+ Version: 2024.1.7
4
4
  Summary: Nabu - Tomography software
5
5
  Author-email: Pierre Paleo <pierre.paleo@esrf.fr>, Henri Payno <henri.payno@esrf.fr>, Alessandro Mirone <mirone@esrf.fr>, Jérôme Lesaint <jerome.lesaint@esrf.fr>
6
6
  Maintainer-email: Pierre Paleo <pierre.paleo@esrf.fr>
@@ -1,3 +1,4 @@
1
+ build
1
2
  dist
2
3
  doc
3
4
  nabu
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes