tomwer 1.4.0rc0__py3-none-any.whl → 1.4.0rc2__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 (52) hide show
  1. orangecontrib/tomwer/tutorials/test_cor.ows +3 -3
  2. orangecontrib/tomwer/widgets/reconstruction/AxisOW.py +6 -14
  3. orangecontrib/tomwer/widgets/reconstruction/NabuVolumeOW.py +4 -2
  4. tomwer/app/axis.py +0 -3
  5. tomwer/app/multipag.py +11 -3
  6. tomwer/core/process/reconstruction/axis/axis.py +27 -736
  7. tomwer/core/process/reconstruction/axis/mode.py +86 -24
  8. tomwer/core/process/reconstruction/axis/params.py +127 -138
  9. tomwer/core/process/reconstruction/axis/side.py +8 -0
  10. tomwer/core/process/reconstruction/nabu/nabuscores.py +17 -20
  11. tomwer/core/process/reconstruction/nabu/nabuslices.py +5 -1
  12. tomwer/core/process/reconstruction/saaxis/saaxis.py +4 -4
  13. tomwer/core/process/reconstruction/sadeltabeta/sadeltabeta.py +4 -4
  14. tomwer/core/process/reconstruction/tests/test_axis.py +1 -1
  15. tomwer/core/process/reconstruction/tests/test_utils.py +4 -4
  16. tomwer/core/process/reconstruction/utils/cor.py +8 -4
  17. tomwer/core/process/tests/test_nabu.py +1 -3
  18. tomwer/core/scan/nxtomoscan.py +2 -0
  19. tomwer/core/scan/scanbase.py +4 -4
  20. tomwer/core/scan/tests/test_process_registration.py +0 -18
  21. tomwer/gui/fonts.py +5 -0
  22. tomwer/gui/reconstruction/axis/AxisMainWindow.py +20 -9
  23. tomwer/gui/reconstruction/axis/AxisOptionsWidget.py +239 -79
  24. tomwer/gui/reconstruction/axis/AxisSettingsWidget.py +38 -17
  25. tomwer/gui/reconstruction/axis/AxisWidget.py +16 -8
  26. tomwer/gui/reconstruction/axis/CalculationWidget.py +40 -200
  27. tomwer/gui/reconstruction/axis/ControlWidget.py +10 -2
  28. tomwer/gui/reconstruction/axis/EstimatedCORWidget.py +394 -0
  29. tomwer/gui/reconstruction/axis/EstimatedCorComboBox.py +118 -0
  30. tomwer/gui/reconstruction/axis/InputWidget.py +11 -155
  31. tomwer/gui/reconstruction/saaxis/corrangeselector.py +19 -10
  32. tomwer/gui/reconstruction/scores/scoreplot.py +5 -2
  33. tomwer/gui/reconstruction/tests/test_nabu.py +8 -0
  34. tomwer/gui/stitching/z_stitching/fineestimation.py +1 -1
  35. tomwer/gui/tests/test_axis_gui.py +31 -15
  36. tomwer/synctools/stacks/reconstruction/axis.py +5 -23
  37. tomwer/synctools/stacks/reconstruction/dkrefcopy.py +1 -1
  38. tomwer/synctools/stacks/reconstruction/nabu.py +2 -2
  39. tomwer/synctools/stacks/reconstruction/normalization.py +1 -1
  40. tomwer/synctools/stacks/reconstruction/saaxis.py +1 -1
  41. tomwer/synctools/stacks/reconstruction/sadeltabeta.py +1 -1
  42. tomwer/tests/orangecontrib/tomwer/widgets/reconstruction/tests/test_axis.py +0 -16
  43. tomwer/tests/test_ewoks/test_single_node_execution.py +1 -1
  44. tomwer/tests/test_ewoks/test_workflows.py +1 -1
  45. tomwer/version.py +1 -1
  46. {tomwer-1.4.0rc0.dist-info → tomwer-1.4.0rc2.dist-info}/METADATA +2 -2
  47. {tomwer-1.4.0rc0.dist-info → tomwer-1.4.0rc2.dist-info}/RECORD +51 -48
  48. tomwer/core/process/tests/test_axis.py +0 -231
  49. {tomwer-1.4.0rc0.dist-info → tomwer-1.4.0rc2.dist-info}/LICENSE +0 -0
  50. {tomwer-1.4.0rc0.dist-info → tomwer-1.4.0rc2.dist-info}/WHEEL +0 -0
  51. {tomwer-1.4.0rc0.dist-info → tomwer-1.4.0rc2.dist-info}/entry_points.txt +0 -0
  52. {tomwer-1.4.0rc0.dist-info → tomwer-1.4.0rc2.dist-info}/top_level.txt +0 -0
@@ -18,7 +18,7 @@ orangecontrib/tomwer/tutorials/simple_slice_reconstruction.ows,sha256=O9Bnunjh0Q
18
18
  orangecontrib/tomwer/tutorials/simple_slice_reconstruction_on_slurm.ows,sha256=t-fwTMCvqQV17AIZWM0lSCmjC6loLEHNZSFmAADF9xY,6584
19
19
  orangecontrib/tomwer/tutorials/simple_volume_local_reconstruction.ows,sha256=BBxkMX98PjDZsgxiVz4i-xPFw4WMdzif2YPnRQfONP4,5945
20
20
  orangecontrib/tomwer/tutorials/simple_volume_to_slurm_reconstruction.ows,sha256=TxVvFAfuV-HCIq9k_J45w9VtHDhLfmsN6wWuTNVYnPI,9163
21
- orangecontrib/tomwer/tutorials/test_cor.ows,sha256=GZqk7O_tIALY90FCjsqj9c_5MiaLEHyEadx6ZlvncrY,2578
21
+ orangecontrib/tomwer/tutorials/test_cor.ows,sha256=tlpNXVRRhGQR5yGMvWvVR5DqVyl1G3f8hSQ8u17hmLU,2464
22
22
  orangecontrib/tomwer/tutorials/using_saaxis_to_find_cor.ows,sha256=TUZNkXEsQyj7Qra1GEb4IhGFDWv3uJzqXbp3P04jwbs,5192
23
23
  orangecontrib/tomwer/tutorials/volume_casting_on_slurm.ows,sha256=yKa6pvd4UB6XDDlj_o7T8Md6bI8aQJXMCUnxyecdXbc,7568
24
24
  orangecontrib/tomwer/tutorials/id16b/ID16b_full_volume.ows,sha256=eSxYxrZ-0WKsmDqXivsHxND7SR2dSwdgG6Wcjbr06Ew,1727
@@ -148,12 +148,12 @@ orangecontrib/tomwer/widgets/other/icons/PythonScript.svg,sha256=-8O2mNwRmyVdFvp
148
148
  orangecontrib/tomwer/widgets/other/icons/hub.png,sha256=wnKSaxw2WnBkSQjI86aLZfdmKvV31Vputq1zukQIrXk,1122
149
149
  orangecontrib/tomwer/widgets/other/icons/hub.svg,sha256=9EYoBKY-P-cO17nM48OPA9VDZSCbyGtrMRc80BGHflk,3735
150
150
  orangecontrib/tomwer/widgets/other/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
151
- orangecontrib/tomwer/widgets/reconstruction/AxisOW.py,sha256=wgQgq82Ls5tcCSOoOBywI2SbVVMsSk9U3Uw4JXhfz1M,21799
151
+ orangecontrib/tomwer/widgets/reconstruction/AxisOW.py,sha256=6OqPwKOiChmC6bI2-0O5pmTgMfGi_ndL2t_k-6uY1sg,21481
152
152
  orangecontrib/tomwer/widgets/reconstruction/CastNabuVolumeOW.py,sha256=E9hTJH_WfMsbOpKsGworVkqc16kWIRL1ajZbpnT_IAI,7614
153
153
  orangecontrib/tomwer/widgets/reconstruction/DarkRefAndCopyOW.py,sha256=Xd0HwZLMHSCBQ0nqr0q69n9z5p2-ziEXjyOxY4lRU4Q,9741
154
154
  orangecontrib/tomwer/widgets/reconstruction/NabuHelicalPrepareWeightsDoubleOW.py,sha256=NjMC0BEmPhDZ795Q-yyL81-hluAyGE8MRiq8xMdqAqY,6233
155
155
  orangecontrib/tomwer/widgets/reconstruction/NabuOW.py,sha256=DK37PoJtHDUnSBKCRmTKwPdrPfxmK1tgiD3MVFmk2zI,9830
156
- orangecontrib/tomwer/widgets/reconstruction/NabuVolumeOW.py,sha256=O50-Rto21GhOVq_TbJryJJ8pqVjLm6CZHu0ovbcrpwY,17138
156
+ orangecontrib/tomwer/widgets/reconstruction/NabuVolumeOW.py,sha256=nkBvq4_jagIWb6iGxA-xj-fjzv4rtP9SsQ4lmX-im0k,17184
157
157
  orangecontrib/tomwer/widgets/reconstruction/SAAxisOW.py,sha256=LrWwicK_bSjWP5MO5C7stetsbdPBTLbi7iFDrTI7WAY,17365
158
158
  orangecontrib/tomwer/widgets/reconstruction/SADeltaBetaOW.py,sha256=AtkhHV2W5dlZkDKdOza-sCRMb8Ot_V83xeXpmXn8uZg,14166
159
159
  orangecontrib/tomwer/widgets/reconstruction/SinoNormOW.py,sha256=nBVG6DcZv-cHRLfHtJN7gEqbahMVkt_n5tbm98I5RDg,9445
@@ -220,9 +220,9 @@ orangecontrib/tomwer/widgets/visualization/tests/__init__.py,sha256=47DEQpj8HBSa
220
220
  tomwer/__init__.py,sha256=GeLSeY4__z-HQZu1y4ptZ5Y1OeXFvG8kuEwWXhkeaMA,360
221
221
  tomwer/__main__.py,sha256=7tCADiS4u7k1PCxFhlRAcYSIOpxQTGUTx8sCEQ-hi1E,8707
222
222
  tomwer/utils.py,sha256=7h7dEgKAEUmQ43jkULvC1B9Adl55nkCty-SEKUKCl4U,7008
223
- tomwer/version.py,sha256=5hVAmas58xdUxQsA3IFjUFiHS0BWs-VL8c4jSBtHe-Y,4383
223
+ tomwer/version.py,sha256=Vs2f0crFymGdC8vYgisbt6gSSnsw9ui4Jb9RGNnGg2U,4383
224
224
  tomwer/app/__init__.py,sha256=RYMB2YhbQaoMXC8W-oOyfZ_Y1vmHD7L13YkKeAMuShM,85
225
- tomwer/app/axis.py,sha256=NHV_4Mg509l3QxhK4UbFIIbH2HCzw_0HX8uOWl5evZ8,6015
225
+ tomwer/app/axis.py,sha256=BJNuwMOjw1vS2w-9sKxltIgWMEWAPetnK2sAOFmXoZg,5880
226
226
  tomwer/app/canvas.py,sha256=sM368nniUwbQXLA-oNCg1iNwMMol_ZGTKbiw8WsC4yw,1539
227
227
  tomwer/app/darkref.py,sha256=SnSKtLa6K1jmHfyqQfsuhJ7EC4g04ejTrhJa9pzC4S8,276
228
228
  tomwer/app/darkrefpatch.py,sha256=Zzl1zdBHEDgAPd5J7agaaK1GN3uQjxePRRCaLpXL6A8,285
@@ -231,7 +231,7 @@ tomwer/app/imagekeyeditor.py,sha256=jGv1JPoKykVkGQB1V1momAzYl-w8ToqdEtZHosh2TXk,
231
231
  tomwer/app/imagekeyupgrader.py,sha256=l2tOhbvNpwJTekpMCDYiQxqlMuAl7D0C5BuahPWwojg,3364
232
232
  tomwer/app/intensitynormalization.py,sha256=Q22HRWJ4SuuUvAr7Et9h8IKILT-Yh-PY-yp3q6CTkpI,6660
233
233
  tomwer/app/multicor.py,sha256=6cud0C3Jistpe4YDxs0JvBuobEuBY5Kghqp28DrUJ2c,10053
234
- tomwer/app/multipag.py,sha256=KuHYBrLVRZU_D7I5wVeMfggFFyYXBRYv3GIUKIo_UKA,12903
234
+ tomwer/app/multipag.py,sha256=Ic2b1Qnx0ojDtoxc3P8p-7U-ixBytA919iAatgI_j3c,13141
235
235
  tomwer/app/nabuapp.py,sha256=cQNcIcAEv1urMpMABQWCQOy_ODi2A9Wr5hK2-KGB2C0,7697
236
236
  tomwer/app/nxtomoeditor.py,sha256=rldxrVCIUludQGEbTx0YzNf4SvG3PZ7q5PnNuVdiuko,3013
237
237
  tomwer/app/patchrawdarkflat.py,sha256=P3PQbcEaXGSljB-QSeCpn1yM1fYLXlcyx7wcxhBs3n8,3898
@@ -320,10 +320,11 @@ tomwer/core/process/reconstruction/output.py,sha256=_8kF_qhkXMW8f_u7xAi0u0KZLsD4
320
320
  tomwer/core/process/reconstruction/paramsbase.py,sha256=6PjFcO0yYs_apgv2MImGSDLsBgQ7UeK2TSBLz28HYgc,6344
321
321
  tomwer/core/process/reconstruction/axis/__init__.py,sha256=VSQkN6M6JvM_c55OiboNyJUW8Zs1wkkQgv1JYmzvIr8,80
322
322
  tomwer/core/process/reconstruction/axis/anglemode.py,sha256=4IFrqYSeWEMs14GZHipr1u9Njm2fLhF7qJHq9_kWfeY,537
323
- tomwer/core/process/reconstruction/axis/axis.py,sha256=hGdckpTaASHk4Bbldff_8uci3N6dG2MClpbNdlzhamw,41567
324
- tomwer/core/process/reconstruction/axis/mode.py,sha256=T_18HvLjOCRGGK78bGhlRT1spBp9RMWv8_VSx1It9-k,6948
325
- tomwer/core/process/reconstruction/axis/params.py,sha256=I9Fw33Wq5JaI5OJHPa36HNRsw9UOVN-vwUqDPsPL8Vw,27594
323
+ tomwer/core/process/reconstruction/axis/axis.py,sha256=rTQzjQlqYosc1QOtAKa9YayVIY9cMYo2xQRkYuVXz_k,17470
324
+ tomwer/core/process/reconstruction/axis/mode.py,sha256=Bp3Kz5fK9lIZdDvGlc3AAFoDo6d4fqezV37cX9lPiBI,9541
325
+ tomwer/core/process/reconstruction/axis/params.py,sha256=yabw4l2TDyssc0xwXS_WQ7n3hEoDtAJtl_chDr_BAhw,28276
326
326
  tomwer/core/process/reconstruction/axis/projectiontype.py,sha256=U8ZZA2o3tONpUkzWLL-MXTahtJGJMQofpJOVkuDNc8Q,184
327
+ tomwer/core/process/reconstruction/axis/side.py,sha256=Za583OSve-8JX7mLo6-2XrwQ3DPTlSmWQCHq7Zzbb98,139
327
328
  tomwer/core/process/reconstruction/darkref/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
328
329
  tomwer/core/process/reconstruction/darkref/darkrefs.py,sha256=Yf9cYE7YXNbpGzHN5srcIklIl5t1n4n1A1aCPAYJhTE,19402
329
330
  tomwer/core/process/reconstruction/darkref/darkrefscopy.py,sha256=D0i__aTsEvfJg_Crkd6U265rUfrLuJ6PzbLO_wIoX8I,12970
@@ -333,8 +334,8 @@ tomwer/core/process/reconstruction/nabu/__init__.py,sha256=47DEQpj8HBSa-_TImW-5J
333
334
  tomwer/core/process/reconstruction/nabu/castvolume.py,sha256=4VEVnJxWfG8_Ku2uhUSQAgGfvP_08mXswmC3bHU7E4M,9317
334
335
  tomwer/core/process/reconstruction/nabu/helical.py,sha256=gauUkoPiShvnvMQrCQXv28g0yLe-GceML5kYMSXmNIg,1997
335
336
  tomwer/core/process/reconstruction/nabu/nabucommon.py,sha256=s1KxEzHQJ09JEWP3_EvKFe51k1boi_a8YRlbs3TppdE,23338
336
- tomwer/core/process/reconstruction/nabu/nabuscores.py,sha256=3gJkiaALzoCymntensThGJ8Rg9u4uIbKKLkfAcnbipg,25452
337
- tomwer/core/process/reconstruction/nabu/nabuslices.py,sha256=Jn2SXta9W22zcdKL9oW6o1LgB6bOIDM8vtmmWoJi0xg,34754
337
+ tomwer/core/process/reconstruction/nabu/nabuscores.py,sha256=SftxwaQlxN79m9b3-QhY-ROX674Y4lAXGblZfP--pMo,25251
338
+ tomwer/core/process/reconstruction/nabu/nabuslices.py,sha256=WWvq4cx6-lklUILOEMPCjDG_r8oy-QsuCI7hGaseiAw,34919
338
339
  tomwer/core/process/reconstruction/nabu/nabuvolume.py,sha256=O9d3PUvkk5r-YNEcOfzyPSx5DT1pu8wGXWXpQ0GhWnw,20556
339
340
  tomwer/core/process/reconstruction/nabu/plane.py,sha256=366gWprWw8Rlob8jsMn753CqgudruvvVauU0ihH2lU4,400
340
341
  tomwer/core/process/reconstruction/nabu/settings.py,sha256=3AJpxVQbJziw4v6F26Ppz8Q9vc9ZNepTWygqpCAbIEM,955
@@ -348,24 +349,24 @@ tomwer/core/process/reconstruction/normalization/normalization.py,sha256=lG9eqfz
348
349
  tomwer/core/process/reconstruction/normalization/params.py,sha256=WNCuA5A5EuiWJjvKqY309Eiaa7THocgnG7owkQFHdyc,3418
349
350
  tomwer/core/process/reconstruction/saaxis/__init__.py,sha256=ZEOu0nZWlMyBoX_A64yeEjVflE5x4iWSpYLTgs45g0o,137
350
351
  tomwer/core/process/reconstruction/saaxis/params.py,sha256=E16GiHpSXh28p6BIsSaWMY9y2K-yMRRhXtFf6stUFRA,4204
351
- tomwer/core/process/reconstruction/saaxis/saaxis.py,sha256=YqrY4OQxsM1DiDzlymjOKoBVxYwBcmCWaiFFsY1uK9M,30711
352
+ tomwer/core/process/reconstruction/saaxis/saaxis.py,sha256=KIqv94mNMRWs-sm4cLgRKQ-RoOZLuRACDSknk5-_0gU,30733
352
353
  tomwer/core/process/reconstruction/sadeltabeta/__init__.py,sha256=WDYJxfqPnz5IeLPCX5W8UEO8-Z-NSH79gkqp2DZn1bM,162
353
354
  tomwer/core/process/reconstruction/sadeltabeta/params.py,sha256=ziAlTtQLy4EItIprFxDOm2Td1emHpSpnQb58niF1tI0,2691
354
- tomwer/core/process/reconstruction/sadeltabeta/sadeltabeta.py,sha256=tmztsCL6-hYrARCxwTv2gJChXS0OcSckvXMeoxtPDyo,29592
355
+ tomwer/core/process/reconstruction/sadeltabeta/sadeltabeta.py,sha256=L01nI67Fhu0_mWMhncOEiFaItQirzbIbMJ0TYBFgIaE,29603
355
356
  tomwer/core/process/reconstruction/scores/__init__.py,sha256=aTWranL8RRGSMKOSDkkjhaqWisgZdP9Xgx7GoFhLwJo,282
356
357
  tomwer/core/process/reconstruction/scores/params.py,sha256=V6oOz6my6EghBeRC4L3-7fH6xWu29Pi4RsOVKQXXvT4,6148
357
358
  tomwer/core/process/reconstruction/scores/scores.py,sha256=xbmUSiGWCq8Ux4E3rIjqE6ZGUy5I-k7n3HXxrgqXX8E,5888
358
359
  tomwer/core/process/reconstruction/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
359
- tomwer/core/process/reconstruction/tests/test_axis.py,sha256=YpzibUw4rdZY7s-Tn2ovAOt0I5BoRIbq7ULsDH3Zf40,1684
360
+ tomwer/core/process/reconstruction/tests/test_axis.py,sha256=qIEae6yaxEfOJBZB5H9shwECKxhWKm9fFbNtxzRjD84,1684
360
361
  tomwer/core/process/reconstruction/tests/test_axis_params.py,sha256=DSZ73nr4vom12ZFwdqoYBMvCqTx9k1a0xEDq8NsEqzo,1614
361
362
  tomwer/core/process/reconstruction/tests/test_darkref.py,sha256=KkdZ4epw9fYOPT3ebgX14eq611ySRRo8OZb9hocOfUs,1105
362
363
  tomwer/core/process/reconstruction/tests/test_darkref_copy.py,sha256=Cl8qLAMZxLHDJp2oMDusr6q2WfALIg6mpbvuGyJJY7M,6090
363
364
  tomwer/core/process/reconstruction/tests/test_paramsbase.py,sha256=n9x9BZV4I9uF7DM5QjCelfxaAzWQ6vx9N9BsjysW6RU,1505
364
365
  tomwer/core/process/reconstruction/tests/test_saaxis.py,sha256=yaxm2Iob6jhSxMdiHP-B093HOoKb6rfBoqPVxOsGMgU,2972
365
366
  tomwer/core/process/reconstruction/tests/test_sadeltabeta.py,sha256=24JRMIocNYLMdX_xFgOCUUo_VA61BPzz3HTaRTzDFhE,1232
366
- tomwer/core/process/reconstruction/tests/test_utils.py,sha256=8tg5XmVdy6xMDnOeqYf3Ze6LdK4LcMm1ow3zdvy_sJc,1006
367
+ tomwer/core/process/reconstruction/tests/test_utils.py,sha256=o_w8Bkk3T0btLCAan2UPq9U45y9vfh8ihyaHnZ7fEb0,1006
367
368
  tomwer/core/process/reconstruction/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
368
- tomwer/core/process/reconstruction/utils/cor.py,sha256=HeaZRYXPtfpJJ03HSw6Orb2KIcQtVpWZmSBKvkOojBs,368
369
+ tomwer/core/process/reconstruction/utils/cor.py,sha256=8zxkfTKj0HJNbytB-XzlMLCn8P_L9qOYuXfjQrAW1KM,532
369
370
  tomwer/core/process/script/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
370
371
  tomwer/core/process/script/python.py,sha256=WGNim6pcaf2ARg4Y2j-7uOY4ES-mYyPg5vwlewkqvzI,2712
371
372
  tomwer/core/process/script/tests/test_script.py,sha256=1uku23G5_6JEjohI53FZyLpTjkmfsdGrwX__5Mr3DBg,1024
@@ -374,13 +375,12 @@ tomwer/core/process/stitching/metadataholder.py,sha256=QWo04TRsGFg1MdydLvuuK1C2I
374
375
  tomwer/core/process/stitching/nabustitcher.py,sha256=DQTmCqOvcei9S9eu-H9NoVXBcBQf6DRxYOJO2Nn50QY,8129
375
376
  tomwer/core/process/stitching/tests/test_metadataholder.py,sha256=E9jgvtwdbcF9tgWS3uqHppHf8ff0aCvjROrLAFVZSpQ,631
376
377
  tomwer/core/process/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
377
- tomwer/core/process/tests/test_axis.py,sha256=tVyDopoPK6mPHCIOkNNHri1DLT7BfLbbLwxTgv-CCI8,8227
378
378
  tomwer/core/process/tests/test_conditions.py,sha256=FBmBn3fvMW2H27ZLVnyYyS1bnfCb9v86WnWDw46WbMo,2140
379
379
  tomwer/core/process/tests/test_dark_and_flat.py,sha256=qLfx3YkZr6_XbTITxULerv7jCv8z7idCXsRKIsJXdMw,14121
380
380
  tomwer/core/process/tests/test_data_listener.py,sha256=R8aNlDvNbrm7ziZtcKE5cB-fiJHSsABZZI3Polv5P-w,2373
381
381
  tomwer/core/process/tests/test_data_transfer.py,sha256=y_W9uZc6GOt1kZRMQMF-b-0zGVDj7nWi-aRaoSg0okM,14095
382
382
  tomwer/core/process/tests/test_data_watcher.py,sha256=BNKkcUtfyqea_Tu8gwAymNVFE_xw1wtyJfLfSTubccg,1815
383
- tomwer/core/process/tests/test_nabu.py,sha256=nOyH_3vvsy6g-igFG0fbY3ghUmkaE_-2Jlttpcnj87E,18083
383
+ tomwer/core/process/tests/test_nabu.py,sha256=gOYQ5ujQh86g39g539kjhfu8odpZXy60gvGQBoNPi5E,18049
384
384
  tomwer/core/process/tests/test_normalization.py,sha256=0rpTiQfSGpaCEzYvyJX_Qt3cHWSHcVwMagpyyfI0cdU,2698
385
385
  tomwer/core/process/tests/test_timer.py,sha256=PGcYSQJ55ysj2J8bh7RZtboRL4zLoOk4mB_0CGjDuBU,1704
386
386
  tomwer/core/process/visualization/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -406,15 +406,15 @@ tomwer/core/scan/edfscan.py,sha256=hsFzpYyPIrvsLM61J9aDmpdVskMTFO94fNcF3HEG_iI,2
406
406
  tomwer/core/scan/futurescan.py,sha256=chXjteQ4_6cSyFBoCil-DeHkHGGzM-xb21xJRYLEfhI,213
407
407
  tomwer/core/scan/hdf5scan.py,sha256=rQ-WtbOIgNtnMxA2kC23fEAcJIJIKboAv7UQColkrBg,966
408
408
  tomwer/core/scan/helicalmetadata.py,sha256=JRBxqHkyTe5f3FDlbIeDfN31P6Ms48SqGiFRXHuZ8sw,472
409
- tomwer/core/scan/nxtomoscan.py,sha256=iw6RneKKXZ5u6whN_yghYMoR4fisvYMpJTVMoarxYIE,18768
410
- tomwer/core/scan/scanbase.py,sha256=FWnsW2j78PrVpxW5wUKu4s7Ce3YBU8PEoKkA_aSnSm0,28490
409
+ tomwer/core/scan/nxtomoscan.py,sha256=H-qSuRiO8orBV5EJBkg5uhUDAJOG2oF1nj5o13MO1xw,18913
410
+ tomwer/core/scan/scanbase.py,sha256=TMfoQHJgaWTNJfjXiOVYDLT58A03T-O-8MDOM6bwt3E,28514
411
411
  tomwer/core/scan/scanfactory.py,sha256=-bF0Ru9bn8bnGk4MKXhbt5Oli19qN1WvFPDMtqw81BA,9116
412
412
  tomwer/core/scan/scantype.py,sha256=pQjWuCy_014uK5cdb8pFAkE_EPHJvPdSo3NM8aWTo58,137
413
413
  tomwer/core/scan/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
414
414
  tomwer/core/scan/tests/test_edf.py,sha256=JI7wH5emdjlYl08OhmjIO_8mui7rHa-aRCUwmkCRyys,830
415
415
  tomwer/core/scan/tests/test_future_scan.py,sha256=tsF9p57dCOmW0fPyl6BP2lLSo0rRYRF6hSF-kryLMDM,848
416
416
  tomwer/core/scan/tests/test_nxtomoscan.py,sha256=w2mNuCsfWMl1b9jP_-vkTDkCD_z9oM02yx42f6-DzY8,4751
417
- tomwer/core/scan/tests/test_process_registration.py,sha256=AJw9QyPlobRu7KbDtdN2HafuzNqJNh4_an0nZMuFcto,2595
417
+ tomwer/core/scan/tests/test_process_registration.py,sha256=g4Toef92SjxCBUE82MTbjonFJpc3PQqfpF6FSCarN5U,1988
418
418
  tomwer/core/scan/tests/test_scan.py,sha256=mHFPi2Tc7Z2_5rWvAp3YmObVSTB5yi-sTkHm1iOJlDo,12228
419
419
  tomwer/core/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
420
420
  tomwer/core/tests/test_scanutils.py,sha256=xWwd1nycVDWmFaIaL2gQ_xxrUMhVCARaNHI2SxT9NOI,844
@@ -454,6 +454,7 @@ tomwer/core/volume/volumebase.py,sha256=ZfdBsFGn0Ksml-0AO_OtljjRh2eeeMx2A5WBJbGk
454
454
  tomwer/core/volume/volumefactory.py,sha256=pffuz8LC0QEwGitqt7BS5gGGJcEcmisdVVTx9HISEEk,6626
455
455
  tomwer/core/volume/tests/test_volumes.py,sha256=3nizQCB__xTWCQeZ9MhsG9R5V3e5URqQIcBWVKx9FkQ,781
456
456
  tomwer/gui/__init__.py,sha256=OfM3Lqb0upMvLzigT35R010BS8vmqgsvAQsNWJRLxmo,100
457
+ tomwer/gui/fonts.py,sha256=nacsUIwMyB4TBNT4FdgoxFCODtrB7oJXzmjGzLF8EDk,134
457
458
  tomwer/gui/icons.py,sha256=J-12uD8qrGUk3h5sCq9CfOvwcfuNhFc96vIfOPQorSg,11388
458
459
  tomwer/gui/illustrations.py,sha256=RS5dswvKGqBIyXamm4pNFq7HeSGOE2jNanF3WQj206s,3975
459
460
  tomwer/gui/imagefromfile.py,sha256=bJPoQUc-DEzwiBTkTOttsc7BC-xZrfYOMqdiFK5rZEo,4106
@@ -539,14 +540,16 @@ tomwer/gui/edit/tests/test_dkrf_patch.py,sha256=L0fO2nqqK74EOIZTPQKjO03qsAiXbqjj
539
540
  tomwer/gui/edit/tests/test_image_key_editor.py,sha256=6sIGM_DjU_KjspnVKB2UDhWh_BLDhYP8rS6U1fAZXkk,4647
540
541
  tomwer/gui/edit/tests/test_nx_editor.py,sha256=iEm8th1ahclnLhNHVHtdvQQvazX2znteYTJUGeEfXpw,13865
541
542
  tomwer/gui/reconstruction/__init__.py,sha256=Hbmaar65YftLApEuTwzGfQbTzRJXNbrsH11T2dRPdrw,96
542
- tomwer/gui/reconstruction/axis/AxisMainWindow.py,sha256=P17Q4HYVKMbNpPJUUFuFrVvPhaSc8wpUKLnXNqzZnbg,9241
543
- tomwer/gui/reconstruction/axis/AxisOptionsWidget.py,sha256=dg_dc8dBHGGKpa2Vx8SqK1prI0P3wcgDXLMHx9IcQQ8,5322
544
- tomwer/gui/reconstruction/axis/AxisSettingsWidget.py,sha256=tx48exSnVxSjzDYGnhCRDXBG_mW7pbKEctVLMLOu0bQ,27352
545
- tomwer/gui/reconstruction/axis/AxisWidget.py,sha256=Op_HlIJPInycXto7lIYGlJZVNG7wyfEA7F2asmgD_fg,19517
546
- tomwer/gui/reconstruction/axis/CalculationWidget.py,sha256=FwbcwJKahHmXG5tetTbM2AG2FhXHXxlWwnwy26RzIPA,14674
543
+ tomwer/gui/reconstruction/axis/AxisMainWindow.py,sha256=7w2LhdQ1pa8vU9U-XTA3ohGQfYKk5ETZ79s_xl4Zxx8,9641
544
+ tomwer/gui/reconstruction/axis/AxisOptionsWidget.py,sha256=M47xflZ68KkTDg8tksFt8n7ZFVIr8tJxstlPyG4Odq0,12168
545
+ tomwer/gui/reconstruction/axis/AxisSettingsWidget.py,sha256=7GpHteE2j9RUo-jUQoJdXJ-GnIi9VnY13Lveq3mvd1M,28120
546
+ tomwer/gui/reconstruction/axis/AxisWidget.py,sha256=nkORZHLo8D3Sk8j-8QVr9l3Qse66s-Nv-tB6kCkSMTY,19794
547
+ tomwer/gui/reconstruction/axis/CalculationWidget.py,sha256=F8z4V5xhoWVQ5sQPVwUv3fsTxIPu4vhlReBTgnnCG0g,8476
547
548
  tomwer/gui/reconstruction/axis/CompareImages.py,sha256=jqzlMBU_tfIdR1yHuZa8Avt8Te0EPBkjI6R4TY6kIlw,11425
548
- tomwer/gui/reconstruction/axis/ControlWidget.py,sha256=W3oYAs7b79oqeMrk1_i4GEu8_oHrqN32eFz4EtpXxVU,10417
549
- tomwer/gui/reconstruction/axis/InputWidget.py,sha256=gQTp9L9t370SFRSETkx3Sm1sD1FtBY9vAKwzN2e3F2U,19109
549
+ tomwer/gui/reconstruction/axis/ControlWidget.py,sha256=DsBPFIEZCva-JPUFxORjkAnoYfgb5udfJ71W-fCwgRY,10686
550
+ tomwer/gui/reconstruction/axis/EstimatedCORWidget.py,sha256=dL9SCjPEZ7MQLGZP0gZARb-rxD8YYSl-gcFyuN14jwg,17081
551
+ tomwer/gui/reconstruction/axis/EstimatedCorComboBox.py,sha256=Hq8o6X5-iVMqltGcpy2E5OpCP5nNV353Mepsf_R7zVY,4434
552
+ tomwer/gui/reconstruction/axis/InputWidget.py,sha256=UhEWL3aJG56PfkI7DKw-sBd6hDsRJ2NnQ0XN0nBmM6g,13052
550
553
  tomwer/gui/reconstruction/axis/ManualFramesSelection.py,sha256=b7-OjYyLuMQxG19AuvUNdwhSV5ewwfC4s9Yn8-6yZLQ,6481
551
554
  tomwer/gui/reconstruction/axis/__init__.py,sha256=0YJJmL_suumgRcTA-uUNt6HStVM96ST3SJei7domThk,104
552
555
  tomwer/gui/reconstruction/darkref/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -578,7 +581,7 @@ tomwer/gui/reconstruction/normalization/__init__.py,sha256=47DEQpj8HBSa-_TImW-5J
578
581
  tomwer/gui/reconstruction/normalization/intensity.py,sha256=zyOQTIBnYjbru7EFvuKvXCHWFrRIA6oTri8PTCqvzdo,32589
579
582
  tomwer/gui/reconstruction/normalization/test/test_intensity.py,sha256=CP9GxvaR7QrVfU6VHyDY_4OkK-oNwh13XJ1tYs5Lebo,3420
580
583
  tomwer/gui/reconstruction/saaxis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
581
- tomwer/gui/reconstruction/saaxis/corrangeselector.py,sha256=5ZC4Nh1du93pP6PrCXZcZoZ9hICyp-NWDvS0Z3mQo2k,31472
584
+ tomwer/gui/reconstruction/saaxis/corrangeselector.py,sha256=v-3JDRNrvhuq1t_qrOqSj1KkFsvld3Z831IDQeCE888,31797
582
585
  tomwer/gui/reconstruction/saaxis/dimensionwidget.py,sha256=JXokxJxUlMVug5UxZVoXgP8J902V-ahkoDvrq2q_X4Q,7905
583
586
  tomwer/gui/reconstruction/saaxis/saaxis.py,sha256=dIZ2MTj4CqhipqjR8663DK7Ft70r0U0xSnLC4OPrCkc,20098
584
587
  tomwer/gui/reconstruction/saaxis/sliceselector.py,sha256=NMKCVc2x2cMrPxm801M3hl2qCXtxuvIWTjxyUx1mRxE,10883
@@ -586,10 +589,10 @@ tomwer/gui/reconstruction/sadeltabeta/__init__.py,sha256=74VkZ1KfTqXmfQReLkjJenv
586
589
  tomwer/gui/reconstruction/sadeltabeta/saadeltabeta.py,sha256=xSdfITKB8gtOMwhQ5Rpeg-bre9vqt-arRdWt9jsrxbM,19448
587
590
  tomwer/gui/reconstruction/scores/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
588
591
  tomwer/gui/reconstruction/scores/control.py,sha256=SVWMruB--sa_LSM1oZhjoFM5ci1oQTe9XqXOyI8iR0U,1496
589
- tomwer/gui/reconstruction/scores/scoreplot.py,sha256=_4ZVv49Q4jy5zLOuzp-lJmgiFqVoRPwVqHRiRVK76cI,30767
592
+ tomwer/gui/reconstruction/scores/scoreplot.py,sha256=TCVG29UDq3w-5oo5QMXJ9IIx2-vMGVCLVJJpE7HAvS8,30917
590
593
  tomwer/gui/reconstruction/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
591
594
  tomwer/gui/reconstruction/tests/test_axis.py,sha256=h0u_tTnQp57rg4oFtwjGSYNw5IujoxydOpnvNd98INA,7498
592
- tomwer/gui/reconstruction/tests/test_nabu.py,sha256=I1Yx4j6gg6SA7pcIQ5Pz8nPRQHhLoscEwMapwjX39zk,13321
595
+ tomwer/gui/reconstruction/tests/test_nabu.py,sha256=MRSxOYRbiZQ4P3jvSj_YMQofK5y_IgHNIb6TmuLFqAc,13644
593
596
  tomwer/gui/reconstruction/tests/test_saaxis.py,sha256=XuIlhkdJXdnyYNStyhtmo3Qth4n8kz9z3pkz5XUyDWQ,6678
594
597
  tomwer/gui/reconstruction/tests/test_sadeltabeta.py,sha256=fqzVuqFR74aHvDujxrMgoFCI8qj8F6dQRpODOBbhCg0,4477
595
598
  tomwer/gui/samplemoved/__init__.py,sha256=jNA03mYWfP3_S1MRet6ijYe5DNCTK3Br7-5yrW3oEG4,8240
@@ -623,12 +626,12 @@ tomwer/gui/stitching/tests/test_preview.py,sha256=sQ0fh07e1oYgWwlB4tqHlOv9Qsf_-b
623
626
  tomwer/gui/stitching/tests/test_stitching_raw.py,sha256=Yh69Av36GMJdpxstaMGprjRogugh7jicSTgC2pSaSBs,3699
624
627
  tomwer/gui/stitching/tests/utils.py,sha256=SdKw4Q1PCPliR_Jh_eZK9Og_zAUp8HRxiuNz5wTjgKk,3217
625
628
  tomwer/gui/stitching/z_stitching/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
626
- tomwer/gui/stitching/z_stitching/fineestimation.py,sha256=nfomepoGhnzOF8lD6ZOMMcCoL-rZiUEEVW4e5xE_GPc,7948
629
+ tomwer/gui/stitching/z_stitching/fineestimation.py,sha256=FQ-xlEuoX2S--kx8h7J-Ouv4shPqDXS7OyR4x_IBjOU,7948
627
630
  tomwer/gui/stitching/z_stitching/tests/test_fine_estimation.py,sha256=vHR8e2jvq_mlV6621DDSMpVZ5khNhsfbTplCBgtGf_k,1207
628
631
  tomwer/gui/stitching/z_stitching/tests/test_raw_estimation.py,sha256=Xmc6qlQ_tw7aU9hp9Aa-9eK5ViE0wXIpS0CTPpSK_wQ,8343
629
632
  tomwer/gui/stitching/z_stitching/tests/test_stitching_window.py,sha256=UsNMB2gGkI8mafkzCe3rGdAQD18C87oSAZP9n1Uusl8,1441
630
633
  tomwer/gui/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
631
- tomwer/gui/tests/test_axis_gui.py,sha256=elesN-1_yYvrhVjrLXvgsbGdpjm8VTJco16P3POL8Kk,1216
634
+ tomwer/gui/tests/test_axis_gui.py,sha256=7Sz7LKTADuRCxaPYFGes22-0AItYwfrcd6kgk4XJQaM,1535
632
635
  tomwer/gui/tests/test_qfolder_dialog.py,sha256=hwN7uEDUYoGsHeJgjTvgMLV21umt_LTIemDsUTU2UvA,352
633
636
  tomwer/gui/utils/RangeWidget.py,sha256=HERjGePh_LxkJEELt2ZVOL_D8G_0xmaP4OotZlASPEo,1327
634
637
  tomwer/gui/utils/__init__.py,sha256=zRGvzYC0R676iDAjHIERQJlV4YgTcsXc3G34f6cUCK8,66
@@ -833,13 +836,13 @@ tomwer/synctools/stacks/processingstack.py,sha256=egB5kg5DesKkfzGhfcM9_ffozPFwBY
833
836
  tomwer/synctools/stacks/control/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
834
837
  tomwer/synctools/stacks/control/datalistener.py,sha256=XN40esWfSQPgsy9HHrjvd3imSg7gcTzZ2OJgAFEtbEs,3785
835
838
  tomwer/synctools/stacks/reconstruction/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
836
- tomwer/synctools/stacks/reconstruction/axis.py,sha256=KLKcabl8UHIeVgkO7nz3_8qMLLMXZ_fWswAjA_DX-QU,7511
839
+ tomwer/synctools/stacks/reconstruction/axis.py,sha256=yMqyElpL2c55sKjRTbZ3xLzIiev0I0-UTupfRn6IcsI,6922
837
840
  tomwer/synctools/stacks/reconstruction/castvolume.py,sha256=hyLW_M6uR81nUAk1ZvyyYMd3gvIcWfqKF7RSdUgVzmQ,6795
838
- tomwer/synctools/stacks/reconstruction/dkrefcopy.py,sha256=MS_D9OBuYc3HEPVYa7hI_y-WB_U4uAN0zXJvFYknz7A,6174
839
- tomwer/synctools/stacks/reconstruction/nabu.py,sha256=8FA5fU-zuip3FzY0BRGXGIIorctmVvoezEpLKMnahZc,6501
840
- tomwer/synctools/stacks/reconstruction/normalization.py,sha256=mDsvpQaPW6kZB0rKQxGDU8Mh4akhjfLwY2f1t-B3njs,4047
841
- tomwer/synctools/stacks/reconstruction/saaxis.py,sha256=-Sv2G6bvuXZiaKQ2sl4I1ea00NwA5ELJsVGvMmEr378,5811
842
- tomwer/synctools/stacks/reconstruction/sadeltabeta.py,sha256=Ha3B0wThas-H9KW3-2oM7vzs336m8HHQE2PRDXX8W6Y,5799
841
+ tomwer/synctools/stacks/reconstruction/dkrefcopy.py,sha256=bemmlZajyoT7hAvGeEfhEXuxIN1IwhgEwnYSe1htXKA,6171
842
+ tomwer/synctools/stacks/reconstruction/nabu.py,sha256=sSrxcUdn3B6u4gKtevlw5Vc5wI9Qf-mzCbOowT2W0zM,6495
843
+ tomwer/synctools/stacks/reconstruction/normalization.py,sha256=WSlx-aad8OhKI-2wZDe2pKzu9ht-446Yrwo0Z0cUaE0,4044
844
+ tomwer/synctools/stacks/reconstruction/saaxis.py,sha256=6HHfNfT4n6podzB_X88AjC7simiFAHpoi520nt3OexY,5808
845
+ tomwer/synctools/stacks/reconstruction/sadeltabeta.py,sha256=Oo0mczxv3-DxedpOybyMSUZAlcf65W8ZiCeTvPMHEas,5796
843
846
  tomwer/synctools/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
844
847
  tomwer/synctools/tests/test_darkRefs.py,sha256=1OgWaV-hgDmi4rkh0hxjCW_codBAnxNhp3KFyZAWFOI,14534
845
848
  tomwer/synctools/tests/test_foldertransfer.py,sha256=sfDJWPZv6UJNLWMGQj90L-e08lhMmydN3t7oEQSozV8,12724
@@ -876,7 +879,7 @@ tomwer/tests/orangecontrib/tomwer/widgets/edit/tests/test_image_key_editor.py,sh
876
879
  tomwer/tests/orangecontrib/tomwer/widgets/edit/tests/test_image_key_upgrader.py,sha256=YLtZ4o4FwQfXU0r1DzSXrAxFdgdeJV-EMOkTkmiwvzo,2211
877
880
  tomwer/tests/orangecontrib/tomwer/widgets/edit/tests/test_nxtomo_editor.py,sha256=s2FrggMMrasihr2b1ByOwjE0S1KWGTMZJN47HO0x44U,5374
878
881
  tomwer/tests/orangecontrib/tomwer/widgets/other/tests/test_pythonscript.py,sha256=pqllpHnX8WDo37lBs1DawHdLL9QE6YpqTvnGYKu6LIs,941
879
- tomwer/tests/orangecontrib/tomwer/widgets/reconstruction/tests/test_axis.py,sha256=LRMsE-6lunXtejnGpFpJUSihavjvk-XrsZBC3JBfO4I,7627
882
+ tomwer/tests/orangecontrib/tomwer/widgets/reconstruction/tests/test_axis.py,sha256=NaP1WbkQ4yhL3pn8IdkOuusUPmLBSH8nXQ8GIcLwUSc,7015
880
883
  tomwer/tests/orangecontrib/tomwer/widgets/reconstruction/tests/test_cast_volumeow.py,sha256=4urO8fmzwNUyaThujIOX7X37g-_DEtTerpirgMz_47o,1612
881
884
  tomwer/tests/orangecontrib/tomwer/widgets/reconstruction/tests/test_dark_refs_widget.py,sha256=qCiY4Gm_z6OsoLjVDLpHv4W1zCYNiBDT5QSCvLPzrOc,4925
882
885
  tomwer/tests/orangecontrib/tomwer/widgets/reconstruction/tests/test_delta_beta_selector.py,sha256=BJcjGemqzqwjqBVVCMLB_ASDWGtAyQUO6cl4m2N9m2E,407
@@ -899,11 +902,11 @@ tomwer/tests/orangecontrib/tomwer/widgets/visualization/tests/test_sinogram_view
899
902
  tomwer/tests/orangecontrib/tomwer/widgets/visualization/tests/test_slice_stackow.py,sha256=SvLWBXyfrCoEjcKoq3n5h0I9qe0iFz8DsbLEtL3k514,803
900
903
  tomwer/tests/orangecontrib/tomwer/widgets/visualization/tests/test_volume_viewerow.py,sha256=PjZI0EfFfxmR0bh-RS0gmvMrNg5tZllCWePQmnmD6oQ,810
901
904
  tomwer/tests/test_ewoks/test_conversion.py,sha256=a8cEWbErXiFCAkaapi0jeEoRKYxcFQCoa-Jr_u77_OM,3656
902
- tomwer/tests/test_ewoks/test_single_node_execution.py,sha256=EedhvZzUJgPg6fAxMRSiw9kaPhtMEv7O_DWEd6JG9Wk,2816
903
- tomwer/tests/test_ewoks/test_workflows.py,sha256=-GJGzDo-4_W7urzeDvw9684Ib6grZw_pUDm115_LM0E,5084
904
- tomwer-1.4.0rc0.dist-info/LICENSE,sha256=62p1wL0n9WMTu8x2YDv0odYgTqeSvTd9mQ0v6Mq7lzE,1876
905
- tomwer-1.4.0rc0.dist-info/METADATA,sha256=IpP2Sdpz9FsLvfFlkFa9ALrulNWX2ex9ZjZIiEeY_1s,13404
906
- tomwer-1.4.0rc0.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
907
- tomwer-1.4.0rc0.dist-info/entry_points.txt,sha256=py3ZUWvGnWGc5c7Yhw_uBTm8Fmew0BDw3aQZnWMBNZI,500
908
- tomwer-1.4.0rc0.dist-info/top_level.txt,sha256=Yz5zKh0FPiImtzHYcPuztG1AO8-6KEpUWgoChGbA0Ys,21
909
- tomwer-1.4.0rc0.dist-info/RECORD,,
905
+ tomwer/tests/test_ewoks/test_single_node_execution.py,sha256=YBUHfiAnkciv_kjj7biC5fOs7c7ofNImM_azGMn4LZM,2813
906
+ tomwer/tests/test_ewoks/test_workflows.py,sha256=L0vNnfGpI6Soy8b_w6OjTMhLzUSutMFhWjPOe6kZO-E,5081
907
+ tomwer-1.4.0rc2.dist-info/LICENSE,sha256=62p1wL0n9WMTu8x2YDv0odYgTqeSvTd9mQ0v6Mq7lzE,1876
908
+ tomwer-1.4.0rc2.dist-info/METADATA,sha256=XrRzqu2ANWCR-0X9IFhU4OHEsTWf1L6gKTCLK7oiL5g,13406
909
+ tomwer-1.4.0rc2.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
910
+ tomwer-1.4.0rc2.dist-info/entry_points.txt,sha256=py3ZUWvGnWGc5c7Yhw_uBTm8Fmew0BDw3aQZnWMBNZI,500
911
+ tomwer-1.4.0rc2.dist-info/top_level.txt,sha256=Yz5zKh0FPiImtzHYcPuztG1AO8-6KEpUWgoChGbA0Ys,21
912
+ tomwer-1.4.0rc2.dist-info/RECORD,,
@@ -1,231 +0,0 @@
1
- # coding: utf-8
2
- from __future__ import annotations
3
-
4
- import os
5
- import shutil
6
- import tempfile
7
- import unittest
8
-
9
- import h5py
10
- from tomoscan.io import get_swmr_mode
11
- import numpy
12
- from silx.io.utils import h5py_read_dataset
13
-
14
- from tomwer.core.process.reconstruction.axis.mode import AxisMode
15
- from tomwer.core.process.reconstruction.axis.params import AxisRP
16
- from tomwer.core.process.task import Task
17
- from tomwer.core.scan.edfscan import EDFTomoScan
18
- from tomwer.core.scan.scanbase import TomwerScanBase
19
- from tomwer.core.utils.scanutils import MockEDF, MockNXtomo
20
-
21
- from ..reconstruction.axis.axis import AxisTask
22
-
23
-
24
- class TestAxisIO(unittest.TestCase):
25
- """Test inputs and outputs types of the handler functions"""
26
-
27
- @staticmethod
28
- def _random_calc(scan):
29
- return numpy.random.random()
30
-
31
- def setUp(self):
32
- self.scan_folder = tempfile.mkdtemp()
33
-
34
- self.scan = MockEDF.mockScan(
35
- scanID=self.scan_folder, nRadio=10, nRecons=1, nPagRecons=4, dim=10
36
- )
37
- self.recons_params = AxisRP()
38
-
39
- # set the axis url to be used
40
- projections = self.scan.projections
41
- urls = list(projections.values())
42
- self.scan.axis_params = AxisRP()
43
- self.scan.axis_params.axis_url_1 = urls[0]
44
- self.scan.axis_params.axis_url_2 = urls[1]
45
-
46
- def tearDown(self):
47
- shutil.rmtree(self.scan_folder)
48
-
49
- def testInputOutput(self):
50
- """Test that io using TomoBase instance work"""
51
- for input_type in (dict, TomwerScanBase):
52
- for serialize_output_data in (True, False):
53
- with self.subTest(
54
- serialize_output_data=serialize_output_data,
55
- input_type=input_type,
56
- ):
57
- input_obj = self.scan
58
- if input_obj is dict:
59
- input_obj = input_obj.to_dict()
60
- axis_process = AxisTask(
61
- inputs={
62
- "axis_params": self.recons_params,
63
- "data": input_obj,
64
- "serialize_output_data": serialize_output_data,
65
- }
66
- )
67
-
68
- # patch the axis process
69
- axis_process._CALCULATIONS_METHODS[AxisMode.centered] = (
70
- TestAxisIO._random_calc
71
- )
72
-
73
- axis_process.run()
74
- out = axis_process.outputs.data
75
- if serialize_output_data:
76
- self.assertTrue(isinstance(out, dict))
77
- else:
78
- self.assertTrue(isinstance(out, TomwerScanBase))
79
-
80
-
81
- class TestAxis(unittest.TestCase):
82
- """Test the axis process"""
83
-
84
- def setUp(self):
85
- self.recons_params = AxisRP()
86
- self.recons_params.mode = "centered"
87
-
88
- def test_process_saved_edf(self):
89
- """Test that if process is called, the tomwer.h5 file is created
90
- and is correctly saving information regarding the center of position
91
- """
92
- self.tempdir = tempfile.mkdtemp()
93
- mock = MockEDF(scan_path=self.tempdir, n_radio=10, n_ini_radio=10)
94
- scan = EDFTomoScan(mock.scan_path)
95
- self.recons_params.mode = "centered"
96
- axis_process = AxisTask(
97
- inputs={
98
- "data": scan,
99
- "axis_params": self.recons_params,
100
- "serialize_output_data": False,
101
- }
102
- )
103
-
104
- axis_process.run()
105
- self.assertTrue(os.path.exists(scan.process_file))
106
-
107
- with h5py.File(scan.process_file, "r", swmr=get_swmr_mode()) as h5f:
108
- self.assertTrue("entry" in h5f)
109
- self.assertTrue("tomwer_process_0" in h5f["entry"])
110
- group_axis = h5f["entry"]["tomwer_process_0"]
111
- self.assertTrue("configuration" in group_axis)
112
- self.assertTrue("program" in group_axis)
113
- self.assertTrue("results" in group_axis)
114
- self.assertTrue("center_of_rotation" in group_axis["results"])
115
- axis_value = h5py_read_dataset(group_axis["results"]["center_of_rotation"])
116
-
117
- processes = Task.get_processes_frm_type(
118
- process_file=scan.process_file, process_type=AxisTask, entry="entry"
119
- )
120
- self.assertEqual(len(processes), 1)
121
- self.assertEqual(processes[0].results["center_of_rotation"], axis_value)
122
-
123
- def test_process_saved_hdf5(self):
124
- """Test that if process is called, the tomwer.h5 file is created
125
- and is correctly saving information regarding the center of position
126
- """
127
- self.tempdir = tempfile.mkdtemp()
128
- dim = 10
129
- mock = MockNXtomo(
130
- scan_path=self.tempdir, n_proj=10, n_ini_proj=10, scan_range=180, dim=dim
131
- )
132
- mock.add_alignment_radio(index=10, angle=90)
133
- mock.add_alignment_radio(index=10, angle=0)
134
- scan = mock.scan
135
- self.recons_params.mode = "centered"
136
-
137
- # check data url take
138
- axis_process = AxisTask(
139
- inputs={
140
- "data": scan,
141
- "axis_params": self.recons_params,
142
- "serialize_output_data": False,
143
- }
144
- )
145
- axis_process.run()
146
- # make sure center of position has been computed
147
- self.assertTrue(os.path.exists(scan.process_file))
148
-
149
- with h5py.File(scan.process_file, "r", swmr=get_swmr_mode()) as h5f:
150
- self.assertTrue("entry" in h5f)
151
- self.assertTrue("tomwer_process_0" in h5f["entry"])
152
- group_axis = h5f["entry"]["tomwer_process_0"]
153
- self.assertTrue("configuration" in group_axis)
154
- self.assertTrue("program" in group_axis)
155
- self.assertTrue("results" in group_axis)
156
- self.assertTrue("center_of_rotation" in group_axis["results"])
157
- axis_value = h5py_read_dataset(group_axis["results"]["center_of_rotation"])
158
- self.assertTrue(-dim / 2 <= axis_value <= dim / 2)
159
- processes = Task.get_processes_frm_type(
160
- process_file=scan.process_file, process_type=AxisTask
161
- )
162
- self.assertEqual(len(processes), 1)
163
- self.assertEqual(processes[0].results["center_of_rotation"], axis_value)
164
-
165
-
166
- class TestAxisRP(unittest.TestCase):
167
- """Test the class used for AxisProcess configuration"""
168
-
169
- def setUp(self):
170
- self.axis_rp = AxisRP()
171
- self.tmp_folder = tempfile.mkdtemp()
172
-
173
- def tearDown(self):
174
- shutil.rmtree(self.tmp_folder)
175
-
176
-
177
- class TestSinogramAlgorithm(unittest.TestCase):
178
- def setUp(self) -> None:
179
- self.tmp_folder = tempfile.mkdtemp()
180
- dim = 512
181
- self.scan = MockNXtomo(
182
- scan_path=self.tmp_folder,
183
- n_proj=10,
184
- n_ini_proj=10,
185
- create_ini_dark=True,
186
- create_final_flat=True,
187
- scan_range=360,
188
- dim=dim,
189
- ).scan
190
-
191
- def tearDown(self):
192
- shutil.rmtree(self.tmp_folder)
193
-
194
- def test_growing_window_sinogram(self):
195
- recons_params = AxisRP()
196
- axis_process = AxisTask(
197
- inputs={"axis_params": recons_params, "data": self.scan}
198
- )
199
- recons_params.mode = AxisMode.growing_window_sinogram
200
- recons_params.use_sinogram = True
201
- recons_params.sinogram_subsampling = 1
202
- axis_process.run()
203
-
204
- def test_sliding_window(self):
205
- recons_params = AxisRP()
206
- axis_process = AxisTask(
207
- inputs={
208
- "axis_params": recons_params,
209
- "data": self.scan,
210
- "serialize_output_data": False,
211
- }
212
- )
213
- recons_params.mode = AxisMode.sliding_window_sinogram
214
- recons_params.side = "left"
215
- recons_params.sinogram_subsampling = 1
216
- recons_params.use_sinogram = True
217
- axis_process.run()
218
-
219
- def test_sino_coarse_to_fine(self):
220
- recons_params = AxisRP()
221
- axis_process = AxisTask(
222
- inputs={
223
- "axis_params": recons_params,
224
- "data": self.scan,
225
- "serialize_output_data": False,
226
- }
227
- )
228
- recons_params.mode = AxisMode.sino_coarse_to_fine
229
- recons_params.sinogram_subsampling = 1
230
- recons_params.sinogram_line = 2
231
- axis_process.run()