nabu 2024.1.0rc4__tar.gz → 2024.1.2__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.0rc4/nabu.egg-info → nabu-2024.1.2}/PKG-INFO +1 -1
  2. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/__init__.py +1 -1
  3. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/app/cast_volume.py +11 -2
  4. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/app/multicor.py +24 -2
  5. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/io/cast_volume.py +13 -5
  6. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/io/utils.py +2 -2
  7. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/stitching/config.py +2 -2
  8. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/stitching/tests/test_z_stitching.py +0 -1
  9. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/stitching/z_stitching.py +6 -4
  10. {nabu-2024.1.0rc4 → nabu-2024.1.2/nabu.egg-info}/PKG-INFO +1 -1
  11. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu.egg-info/requires.txt +1 -1
  12. {nabu-2024.1.0rc4 → nabu-2024.1.2}/pyproject.toml +1 -1
  13. {nabu-2024.1.0rc4 → nabu-2024.1.2}/LICENSE +0 -0
  14. {nabu-2024.1.0rc4 → nabu-2024.1.2}/README.md +0 -0
  15. {nabu-2024.1.0rc4 → nabu-2024.1.2}/doc/conf.py +0 -0
  16. {nabu-2024.1.0rc4 → nabu-2024.1.2}/doc/create_conf_doc.py +0 -0
  17. {nabu-2024.1.0rc4 → nabu-2024.1.2}/doc/get_mathjax.py +0 -0
  18. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/app/__init__.py +0 -0
  19. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/app/bootstrap.py +0 -0
  20. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/app/bootstrap_stitching.py +0 -0
  21. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/app/cli_configs.py +0 -0
  22. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/app/compare_volumes.py +0 -0
  23. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/app/composite_cor.py +0 -0
  24. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/app/correct_rot.py +0 -0
  25. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/app/create_distortion_map_from_poly.py +0 -0
  26. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/app/diag_to_pix.py +0 -0
  27. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/app/diag_to_rot.py +0 -0
  28. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/app/double_flatfield.py +0 -0
  29. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/app/generate_header.py +0 -0
  30. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/app/histogram.py +0 -0
  31. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/app/nx_z_splitter.py +0 -0
  32. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/app/parse_reconstruction_log.py +0 -0
  33. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/app/prepare_weights_double.py +0 -0
  34. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/app/reconstruct.py +0 -0
  35. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/app/reconstruct_helical.py +0 -0
  36. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/app/reduce_dark_flat.py +0 -0
  37. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/app/rotate.py +0 -0
  38. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/app/shrink_dataset.py +0 -0
  39. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/app/stitching.py +0 -0
  40. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/app/tests/__init__.py +0 -0
  41. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/app/tests/test_reduce_dark_flat.py +0 -0
  42. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/app/utils.py +0 -0
  43. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/app/validator.py +0 -0
  44. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/cuda/__init__.py +0 -0
  45. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/cuda/convolution.py +0 -0
  46. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/cuda/fft.py +0 -0
  47. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/cuda/kernel.py +0 -0
  48. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/cuda/medfilt.py +0 -0
  49. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/cuda/padding.py +0 -0
  50. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/cuda/processing.py +0 -0
  51. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/cuda/src/ElementOp.cu +0 -0
  52. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/cuda/src/backproj.cu +0 -0
  53. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/cuda/src/backproj_polar.cu +0 -0
  54. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/cuda/src/boundary.h +0 -0
  55. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/cuda/src/convolution.cu +0 -0
  56. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/cuda/src/dfi_fftshift.cu +0 -0
  57. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/cuda/src/flatfield.cu +0 -0
  58. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/cuda/src/fourier_wavelets.cu +0 -0
  59. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/cuda/src/halftomo.cu +0 -0
  60. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/cuda/src/helical_padding.cu +0 -0
  61. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/cuda/src/histogram.cu +0 -0
  62. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/cuda/src/interpolation.cu +0 -0
  63. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/cuda/src/medfilt.cu +0 -0
  64. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/cuda/src/normalization.cu +0 -0
  65. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/cuda/src/padding.cu +0 -0
  66. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/cuda/src/proj.cu +0 -0
  67. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/cuda/src/rotation.cu +0 -0
  68. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/cuda/src/transpose.cu +0 -0
  69. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/cuda/tests/__init__.py +0 -0
  70. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/cuda/utils.py +0 -0
  71. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/estimation/__init__.py +0 -0
  72. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/estimation/alignment.py +0 -0
  73. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/estimation/cor.py +0 -0
  74. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/estimation/cor_sino.py +0 -0
  75. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/estimation/distortion.py +0 -0
  76. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/estimation/focus.py +0 -0
  77. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/estimation/tests/__init__.py +0 -0
  78. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/estimation/tests/test_alignment.py +0 -0
  79. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/estimation/tests/test_cor.py +0 -0
  80. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/estimation/tests/test_focus.py +0 -0
  81. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/estimation/tests/test_tilt.py +0 -0
  82. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/estimation/tests/test_translation.py +0 -0
  83. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/estimation/tilt.py +0 -0
  84. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/estimation/translation.py +0 -0
  85. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/estimation/utils.py +0 -0
  86. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/io/__init__.py +0 -0
  87. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/io/detector_distortion.py +0 -0
  88. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/io/reader.py +0 -0
  89. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/io/reader_helical.py +0 -0
  90. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/io/tests/__init__.py +0 -0
  91. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/io/tests/test_cast_volume.py +0 -0
  92. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/io/tests/test_detector_distortion.py +0 -0
  93. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/io/tests/test_writers.py +0 -0
  94. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/io/tiffwriter_zmm.py +0 -0
  95. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/io/writer.py +0 -0
  96. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/misc/__init__.py +0 -0
  97. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/misc/binning.py +0 -0
  98. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/misc/fftshift.py +0 -0
  99. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/misc/filters.py +0 -0
  100. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/misc/fourier_filters.py +0 -0
  101. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/misc/histogram.py +0 -0
  102. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/misc/histogram_cuda.py +0 -0
  103. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/misc/kernel_base.py +0 -0
  104. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/misc/padding.py +0 -0
  105. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/misc/padding_base.py +0 -0
  106. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/misc/processing_base.py +0 -0
  107. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/misc/rotation.py +0 -0
  108. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/misc/rotation_cuda.py +0 -0
  109. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/misc/tests/__init__.py +0 -0
  110. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/misc/tests/test_binning.py +0 -0
  111. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/misc/tests/test_interpolation.py +0 -0
  112. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/misc/transpose.py +0 -0
  113. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/misc/unsharp.py +0 -0
  114. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/misc/unsharp_cuda.py +0 -0
  115. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/misc/unsharp_opencl.py +0 -0
  116. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/misc/utils.py +0 -0
  117. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/opencl/__init__.py +0 -0
  118. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/opencl/fft.py +0 -0
  119. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/opencl/kernel.py +0 -0
  120. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/opencl/memcpy.py +0 -0
  121. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/opencl/padding.py +0 -0
  122. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/opencl/processing.py +0 -0
  123. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/opencl/src/ElementOp.cl +0 -0
  124. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/opencl/src/backproj.cl +0 -0
  125. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/opencl/src/fftshift.cl +0 -0
  126. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/opencl/src/halftomo.cl +0 -0
  127. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/opencl/src/padding.cl +0 -0
  128. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/opencl/src/roll.cl +0 -0
  129. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/opencl/src/transpose.cl +0 -0
  130. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/opencl/tests/__init__.py +0 -0
  131. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/opencl/utils.py +0 -0
  132. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/pipeline/__init__.py +0 -0
  133. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/pipeline/config.py +0 -0
  134. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/pipeline/config_validators.py +0 -0
  135. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/pipeline/datadump.py +0 -0
  136. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/pipeline/dataset_validator.py +0 -0
  137. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/pipeline/detector_distortion_provider.py +0 -0
  138. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/pipeline/estimators.py +0 -0
  139. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/pipeline/fallback_utils.py +0 -0
  140. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/pipeline/fullfield/__init__.py +0 -0
  141. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/pipeline/fullfield/chunked.py +0 -0
  142. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/pipeline/fullfield/chunked_cuda.py +0 -0
  143. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/pipeline/fullfield/computations.py +0 -0
  144. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/pipeline/fullfield/dataset_validator.py +0 -0
  145. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/pipeline/fullfield/nabu_config.py +0 -0
  146. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/pipeline/fullfield/processconfig.py +0 -0
  147. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/pipeline/fullfield/reconstruction.py +0 -0
  148. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/pipeline/helical/__init__.py +0 -0
  149. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/pipeline/helical/dataset_validator.py +0 -0
  150. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/pipeline/helical/fbp.py +0 -0
  151. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/pipeline/helical/filtering.py +0 -0
  152. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/pipeline/helical/gridded_accumulator.py +0 -0
  153. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/pipeline/helical/helical_chunked_regridded.py +0 -0
  154. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/pipeline/helical/helical_chunked_regridded_cuda.py +0 -0
  155. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/pipeline/helical/helical_reconstruction.py +0 -0
  156. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/pipeline/helical/helical_utils.py +0 -0
  157. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/pipeline/helical/nabu_config.py +0 -0
  158. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/pipeline/helical/processconfig.py +0 -0
  159. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/pipeline/helical/span_strategy.py +0 -0
  160. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/pipeline/helical/tests/__init__.py +0 -0
  161. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/pipeline/helical/tests/test_accumulator.py +0 -0
  162. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/pipeline/helical/tests/test_pipeline_elements_full.py +0 -0
  163. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/pipeline/helical/tests/test_strategy.py +0 -0
  164. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/pipeline/helical/utils.py +0 -0
  165. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/pipeline/helical/weight_balancer.py +0 -0
  166. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/pipeline/params.py +0 -0
  167. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/pipeline/processconfig.py +0 -0
  168. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/pipeline/tests/test_chunk_reader.py +0 -0
  169. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/pipeline/tests/test_estimators.py +0 -0
  170. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/pipeline/utils.py +0 -0
  171. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/pipeline/writer.py +0 -0
  172. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/pipeline/xrdct/__init__.py +0 -0
  173. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/preproc/__init__.py +0 -0
  174. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/preproc/alignment.py +0 -0
  175. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/preproc/ccd.py +0 -0
  176. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/preproc/ccd_cuda.py +0 -0
  177. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/preproc/ctf.py +0 -0
  178. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/preproc/ctf_cuda.py +0 -0
  179. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/preproc/distortion.py +0 -0
  180. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/preproc/double_flatfield.py +0 -0
  181. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/preproc/double_flatfield_cuda.py +0 -0
  182. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/preproc/double_flatfield_variable_region.py +0 -0
  183. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/preproc/flatfield.py +0 -0
  184. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/preproc/flatfield_cuda.py +0 -0
  185. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/preproc/flatfield_variable_region.py +0 -0
  186. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/preproc/phase.py +0 -0
  187. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/preproc/phase_cuda.py +0 -0
  188. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/preproc/shift.py +0 -0
  189. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/preproc/shift_cuda.py +0 -0
  190. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/preproc/tests/__init__.py +0 -0
  191. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/preproc/tests/test_ccd_corr.py +0 -0
  192. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/preproc/tests/test_ctf.py +0 -0
  193. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/preproc/tests/test_double_flatfield.py +0 -0
  194. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/preproc/tests/test_flatfield.py +0 -0
  195. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/preproc/tests/test_paganin.py +0 -0
  196. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/preproc/tests/test_vshift.py +0 -0
  197. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/processing/__init__.py +0 -0
  198. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/processing/convolution_cuda.py +0 -0
  199. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/processing/fft_base.py +0 -0
  200. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/processing/fft_cuda.py +0 -0
  201. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/processing/fft_opencl.py +0 -0
  202. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/processing/fftshift.py +0 -0
  203. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/processing/histogram.py +0 -0
  204. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/processing/histogram_cuda.py +0 -0
  205. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/processing/kernel_base.py +0 -0
  206. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/processing/medfilt_cuda.py +0 -0
  207. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/processing/muladd.py +0 -0
  208. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/processing/muladd_cuda.py +0 -0
  209. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/processing/padding_base.py +0 -0
  210. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/processing/padding_cuda.py +0 -0
  211. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/processing/padding_opencl.py +0 -0
  212. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/processing/processing_base.py +0 -0
  213. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/processing/roll_opencl.py +0 -0
  214. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/processing/rotation.py +0 -0
  215. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/processing/rotation_cuda.py +0 -0
  216. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/processing/tests/__init__.py +0 -0
  217. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/processing/tests/test_fft.py +0 -0
  218. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/processing/tests/test_fftshift.py +0 -0
  219. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/processing/tests/test_histogram.py +0 -0
  220. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/processing/tests/test_medfilt.py +0 -0
  221. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/processing/tests/test_muladd.py +0 -0
  222. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/processing/tests/test_padding.py +0 -0
  223. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/processing/tests/test_roll.py +0 -0
  224. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/processing/tests/test_rotation.py +0 -0
  225. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/processing/tests/test_transpose.py +0 -0
  226. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/processing/tests/test_unsharp.py +0 -0
  227. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/processing/transpose.py +0 -0
  228. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/processing/unsharp.py +0 -0
  229. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/processing/unsharp_cuda.py +0 -0
  230. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/processing/unsharp_opencl.py +0 -0
  231. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/reconstruction/__init__.py +0 -0
  232. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/reconstruction/cone.py +0 -0
  233. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/reconstruction/fbp.py +0 -0
  234. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/reconstruction/fbp_base.py +0 -0
  235. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/reconstruction/fbp_opencl.py +0 -0
  236. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/reconstruction/filtering.py +0 -0
  237. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/reconstruction/filtering_cuda.py +0 -0
  238. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/reconstruction/filtering_opencl.py +0 -0
  239. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/reconstruction/projection.py +0 -0
  240. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/reconstruction/reconstructor.py +0 -0
  241. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/reconstruction/reconstructor_cuda.py +0 -0
  242. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/reconstruction/rings.py +0 -0
  243. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/reconstruction/rings_cuda.py +0 -0
  244. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/reconstruction/sinogram.py +0 -0
  245. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/reconstruction/sinogram_cuda.py +0 -0
  246. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/reconstruction/sinogram_opencl.py +0 -0
  247. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/reconstruction/tests/__init__.py +0 -0
  248. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/reconstruction/tests/test_cone.py +0 -0
  249. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/reconstruction/tests/test_deringer.py +0 -0
  250. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/reconstruction/tests/test_fbp.py +0 -0
  251. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/reconstruction/tests/test_filtering.py +0 -0
  252. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/reconstruction/tests/test_halftomo.py +0 -0
  253. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/reconstruction/tests/test_projector.py +0 -0
  254. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/reconstruction/tests/test_reconstructor.py +0 -0
  255. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/reconstruction/tests/test_sino_normalization.py +0 -0
  256. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/resources/__init__.py +0 -0
  257. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/resources/cli/__init__.py +0 -0
  258. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/resources/cor.py +0 -0
  259. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/resources/dataset_analyzer.py +0 -0
  260. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/resources/gpu.py +0 -0
  261. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/resources/logger.py +0 -0
  262. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/resources/nxflatfield.py +0 -0
  263. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/resources/templates/__init__.py +0 -0
  264. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/resources/templates/bm05_pag.conf +0 -0
  265. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/resources/templates/id16_ctf.conf +0 -0
  266. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/resources/templates/id16_holo.conf +0 -0
  267. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/resources/templates/id19_pag.conf +0 -0
  268. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/resources/tests/__init__.py +0 -0
  269. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/resources/tests/test_nxflatfield.py +0 -0
  270. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/resources/tests/test_units.py +0 -0
  271. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/resources/utils.py +0 -0
  272. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/stitching/__init__.py +0 -0
  273. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/stitching/alignment.py +0 -0
  274. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/stitching/definitions.py +0 -0
  275. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/stitching/frame_composition.py +0 -0
  276. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/stitching/overlap.py +0 -0
  277. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/stitching/sample_normalization.py +0 -0
  278. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/stitching/slurm_utils.py +0 -0
  279. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/stitching/tests/__init__.py +0 -0
  280. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/stitching/tests/test_alignment.py +0 -0
  281. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/stitching/tests/test_config.py +0 -0
  282. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/stitching/tests/test_frame_composition.py +0 -0
  283. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/stitching/tests/test_overlap.py +0 -0
  284. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/stitching/tests/test_sample_normalization.py +0 -0
  285. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/stitching/tests/test_slurm_utils.py +0 -0
  286. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/stitching/tests/test_utils.py +0 -0
  287. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/stitching/utils.py +0 -0
  288. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/tests.py +0 -0
  289. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/testutils.py +0 -0
  290. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/thirdparty/__init__.py +0 -0
  291. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/thirdparty/algotom_convert_sino.py +0 -0
  292. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/thirdparty/pore3d_deringer_munch.py +0 -0
  293. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/thirdparty/tomocupy_remove_stripe.py +0 -0
  294. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/thirdparty/tomopy_phase.py +0 -0
  295. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/thirdparty/tomwer_load_flats_darks.py +0 -0
  296. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu/utils.py +0 -0
  297. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu.egg-info/SOURCES.txt +0 -0
  298. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu.egg-info/dependency_links.txt +0 -0
  299. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu.egg-info/entry_points.txt +0 -0
  300. {nabu-2024.1.0rc4 → nabu-2024.1.2}/nabu.egg-info/top_level.txt +0 -0
  301. {nabu-2024.1.0rc4 → nabu-2024.1.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: nabu
3
- Version: 2024.1.0rc4
3
+ Version: 2024.1.2
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.0-rc4"
1
+ __version__ = "2024.1.2"
2
2
  __nabu_modules__ = [
3
3
  "app",
4
4
  "cuda",
@@ -228,11 +228,20 @@ def main(argv=None):
228
228
 
229
229
  # get rescale_min_percentile and rescale_min_percentile
230
230
  rescale_min_percentile = options.rescale_min_percentile
231
+
232
+ def clean_percentiles_str(percentile):
233
+ # remove ' char
234
+ percentile = percentile.rstrip("'").lstrip("'")
235
+ # remove " char
236
+ percentile = percentile.rstrip('"').lstrip('"')
237
+ # remove % char
238
+ return percentile.rstrip("%")
239
+
231
240
  if isinstance(rescale_min_percentile, str):
232
- rescale_min_percentile = float(rescale_min_percentile.rstrip("%"))
241
+ rescale_min_percentile = float(clean_percentiles_str(rescale_min_percentile))
233
242
  rescale_max_percentile = options.rescale_max_percentile
234
243
  if isinstance(rescale_min_percentile, str):
235
- rescale_max_percentile = float(rescale_max_percentile.rstrip("%"))
244
+ rescale_max_percentile = float(clean_percentiles_str(rescale_max_percentile))
236
245
  assert rescale_min_percentile is not None, "rescale_min_percentile should be an int"
237
246
  assert rescale_max_percentile is not None, "rescale_max_percentile should be an int"
238
247
 
@@ -60,12 +60,12 @@ def main():
60
60
  cors = get_user_cors(args["cor"])
61
61
 
62
62
  all_recs = []
63
+ rec_instance = pipeline.reconstruction
63
64
 
64
65
  for cor in cors:
65
66
  # Re-configure with new CoR
66
67
  pipeline.processing_options["reconstruction"]["rotation_axis_position"] = cor
67
68
  pipeline.processing_options["save"]["file_prefix"] = file_prefix + "_%.03f" % cor
68
- pipeline.reconstruction.reset_rot_center(cor)
69
69
  pipeline._init_writer(create_subfolder=False, single_output_file_initialized=False)
70
70
 
71
71
  # Get sinogram into contiguous array
@@ -73,8 +73,30 @@ def main():
73
73
  # For now: transfer to host... not optimal
74
74
  sino = pipeline._d_radios[:, pipeline._d_radios.shape[1] // 2, :].get() # pylint: disable=E1136
75
75
 
76
+ if pipeline.process_config.do_halftomo:
77
+ # re-initialize FBP object, because in half-tomography the output slice size is a function of CoR
78
+ options = pipeline.processing_options["reconstruction"]
79
+ rec_instance = pipeline.FBPClass(
80
+ sino.shape,
81
+ angles=options["angles"],
82
+ rot_center=cor,
83
+ filter_name=options["fbp_filter_type"] or "none",
84
+ halftomo=options["enable_halftomo"],
85
+ # slice_roi=self.process_config.rec_roi,
86
+ padding_mode=options["padding_type"],
87
+ extra_options={
88
+ "scale_factor": 1.0 / options["voxel_size_cm"][0],
89
+ "axis_correction": options["axis_correction"],
90
+ "centered_axis": options["centered_axis"],
91
+ "clip_outer_circle": options["clip_outer_circle"],
92
+ "filter_cutoff": options["fbp_filter_cutoff"],
93
+ },
94
+ )
95
+ else:
96
+ pipeline.reconstruction.reset_rot_center(cor)
97
+
76
98
  # Run reconstruction
77
- rec = pipeline.reconstruction.fbp(sino)
99
+ rec = rec_instance.fbp(sino)
78
100
  # if return_all_recs:
79
101
  # all_recs.append(rec)
80
102
  rec_3D = view_as_images_stack(rec) # writer wants 3D data
@@ -74,7 +74,7 @@ def get_default_output_volume(
74
74
  volume_basename=input_volume.get_volume_basename(),
75
75
  )
76
76
  else:
77
- raise NotImplementedError
77
+ raise NotImplementedError(f"output volume format {output_type} is not handled")
78
78
  elif isinstance(input_volume, (HDF5Volume, MultiTIFFVolume)):
79
79
  if output_type == "hdf5":
80
80
  data_file_parent_path, data_file_name = os.path.split(input_volume.data_url.file_path())
@@ -121,9 +121,9 @@ def get_default_output_volume(
121
121
  )
122
122
  )
123
123
  else:
124
- raise NotImplementedError
124
+ raise NotImplementedError(f"output volume format {output_type} is not handled")
125
125
  else:
126
- raise NotImplementedError
126
+ raise NotImplementedError(f"input volume format {input_volume} is not handled")
127
127
 
128
128
 
129
129
  def cast_volume(
@@ -167,6 +167,12 @@ def cast_volume(
167
167
  if not isinstance(output_volume, VolumeBase):
168
168
  raise TypeError(f"output_volume is expected to be a {VolumeBase}. {type(output_volume)} provided")
169
169
 
170
+ try:
171
+ output_data_type = numpy.dtype(
172
+ output_data_type
173
+ ) # User friendly API in case user provides np.uint16 e.g. (see issue #482)
174
+ except Exception:
175
+ pass
170
176
  if not isinstance(output_data_type, numpy.dtype):
171
177
  raise TypeError(f"output_data_type is expected to be a {numpy.dtype}. {type(output_data_type)} provided")
172
178
 
@@ -326,7 +332,7 @@ def find_histogram(volume: VolumeBase, scan: Optional[TomoScanBase] = None) -> O
326
332
  )
327
333
 
328
334
 
329
- def _get_hst_saturations(hist, bins, rescale_min_percentile, rescale_max_percentile):
335
+ def _get_hst_saturations(hist, bins, rescale_min_percentile: numpy.float32, rescale_max_percentile: numpy.float32):
330
336
  hist_cum = numpy.cumsum(hist)
331
337
  bin_index_min = numpy.searchsorted(hist_cum, numpy.percentile(hist_cum, rescale_min_percentile))
332
338
  bin_index_max = numpy.searchsorted(hist_cum, numpy.percentile(hist_cum, rescale_max_percentile))
@@ -360,4 +366,6 @@ def _min_max_from_histo(url: DataUrl, rescale_min_percentile: int, rescale_max_p
360
366
  else:
361
367
  bins = histogram[1]
362
368
  hist = histogram[0]
363
- return _get_hst_saturations(hist, bins, rescale_min_percentile, rescale_max_percentile)
369
+ return _get_hst_saturations(
370
+ hist, bins, numpy.float32(rescale_min_percentile), numpy.float32(rescale_max_percentile)
371
+ )
@@ -201,7 +201,7 @@ class EntryReader(_BaseReader):
201
201
  """Context manager used to read a bliss node"""
202
202
 
203
203
  def __enter__(self):
204
- self._file_handler = HDF5File(filename=self._url.file_path(), mode="r")
204
+ self._file_handler = HDF5File(self._url.file_path(), mode="r")
205
205
  if self._url.data_path() == "":
206
206
  entry = self._file_handler
207
207
  else:
@@ -215,7 +215,7 @@ class DatasetReader(_BaseReader):
215
215
  """Context manager used to read a bliss node"""
216
216
 
217
217
  def __enter__(self):
218
- self._file_handler = HDF5File(filename=self._url.file_path(), mode="r")
218
+ self._file_handler = HDF5File(self._url.file_path(), mode="r")
219
219
  entry = self._file_handler[self._url.data_path()]
220
220
  if not isinstance(entry, h5py.Dataset):
221
221
  raise ValueError("Data path ({}) should point to a dataset (h5py.Dataset)".format(self._url.path()))
@@ -710,12 +710,12 @@ class StitchingConfiguration:
710
710
  "type": "optional",
711
711
  },
712
712
  SLURM_PREPROCESSING_COMMAND: {
713
- "default": "'/scisoft/tomotools_env/activate.sh stable'",
713
+ "default": "",
714
714
  "help": "python virtual environment to use",
715
715
  "type": "optional",
716
716
  },
717
717
  SLURM_MODULES_TO_LOADS: {
718
- "default": "",
718
+ "default": "tomotools/stable",
719
719
  "help": "module to load",
720
720
  "type": "optional",
721
721
  },
@@ -726,7 +726,6 @@ def test_get_overlap_areas():
726
726
 
727
727
  def test_frame_flip(tmp_path):
728
728
  """check it with some NXtomo fliped"""
729
- pytest.skip(reason="Broken test")
730
729
  ref_frame_width = 280
731
730
  n_proj = 10
732
731
  raw_frame_width = 100
@@ -1223,7 +1223,9 @@ class PreProcessZStitcher(ZStitcher):
1223
1223
 
1224
1224
  # first save the NXtomo entry without the frame
1225
1225
  # dicttonx will fail if the folder does not exists
1226
- os.makedirs(os.path.dirname(self.configuration.output_file_path), exist_ok=True)
1226
+ dir_name = os.path.dirname(self.configuration.output_file_path)
1227
+ if dir_name not in (None, ""):
1228
+ os.makedirs(dir_name, exist_ok=True)
1227
1229
  nx_tomo.save(
1228
1230
  file_path=self.configuration.output_file_path,
1229
1231
  data_path=self.configuration.output_data_path,
@@ -1256,7 +1258,7 @@ class PreProcessZStitcher(ZStitcher):
1256
1258
 
1257
1259
  output_dtype = get_output_data_type()
1258
1260
  # append frames ("instrument/detactor/data" dataset)
1259
- with HDF5File(filename=self.configuration.output_file_path, mode="a") as h5f:
1261
+ with HDF5File(self.configuration.output_file_path, mode="a") as h5f:
1260
1262
  # note: nx_tomo.save already handles the possible overwrite conflict by removing
1261
1263
  # self.configuration.output_file_path or raising an error
1262
1264
 
@@ -1832,7 +1834,7 @@ class PostProcessZStitcher(ZStitcher):
1832
1834
  def __enter__(self):
1833
1835
  # handle the specific case of HDF5. Goal: avoid getting the full stitched volume in memory
1834
1836
  if isinstance(self._volume, HDF5Volume):
1835
- self.__file_handler = HDF5File(filename=self._volume.data_url.file_path(), mode="a")
1837
+ self.__file_handler = HDF5File(self._volume.data_url.file_path(), mode="a")
1836
1838
  # if need to delete an existing dataset
1837
1839
  if self._volume.overwrite and self._volume.data_path in self.__file_handler:
1838
1840
  try:
@@ -1900,7 +1902,7 @@ class PostProcessZStitcher(ZStitcher):
1900
1902
  if volume.data is not None:
1901
1903
  data = volume.data
1902
1904
  elif isinstance(volume, HDF5Volume):
1903
- file_handler = HDF5File(filename=volume.data_url.file_path(), mode="r")
1905
+ file_handler = HDF5File(volume.data_url.file_path(), mode="r")
1904
1906
  dataset = file_handler[volume.data_url.data_path()]
1905
1907
  data = dataset
1906
1908
  self.__file_handlers.append(file_handler)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: nabu
3
- Version: 2024.1.0rc4
3
+ Version: 2024.1.2
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>
@@ -2,7 +2,7 @@ numpy>1.9.0
2
2
  scipy
3
3
  h5py>=3.0
4
4
  silx>=0.15.0
5
- tomoscan>=2.0.0a7
5
+ tomoscan>=2.0.4
6
6
  psutil
7
7
  pytest
8
8
  tifffile
@@ -53,7 +53,7 @@ dependencies = [
53
53
  "scipy",
54
54
  "h5py>=3.0",
55
55
  "silx >= 0.15.0",
56
- "tomoscan >= 2.0.0a7",
56
+ "tomoscan >= 2.0.4",
57
57
  "psutil",
58
58
  "pytest",
59
59
  "tifffile",
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