tomwer 1.4.0rc0__py3-none-any.whl → 1.4.0rc1__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.
- orangecontrib/tomwer/tutorials/test_cor.ows +3 -3
- orangecontrib/tomwer/widgets/reconstruction/AxisOW.py +6 -14
- orangecontrib/tomwer/widgets/reconstruction/NabuVolumeOW.py +4 -2
- tomwer/app/axis.py +0 -3
- tomwer/app/multipag.py +11 -3
- tomwer/core/process/reconstruction/axis/axis.py +27 -736
- tomwer/core/process/reconstruction/axis/mode.py +86 -24
- tomwer/core/process/reconstruction/axis/params.py +127 -138
- tomwer/core/process/reconstruction/axis/side.py +8 -0
- tomwer/core/process/reconstruction/nabu/nabuscores.py +17 -20
- tomwer/core/process/reconstruction/nabu/nabuslices.py +5 -1
- tomwer/core/process/reconstruction/saaxis/saaxis.py +4 -4
- tomwer/core/process/reconstruction/sadeltabeta/sadeltabeta.py +4 -4
- tomwer/core/process/reconstruction/tests/test_axis.py +1 -1
- tomwer/core/process/reconstruction/tests/test_utils.py +4 -4
- tomwer/core/process/reconstruction/utils/cor.py +8 -4
- tomwer/core/process/tests/test_nabu.py +1 -3
- tomwer/core/scan/scanbase.py +4 -4
- tomwer/core/scan/tests/test_process_registration.py +0 -18
- tomwer/gui/fonts.py +5 -0
- tomwer/gui/reconstruction/axis/AxisMainWindow.py +20 -9
- tomwer/gui/reconstruction/axis/AxisOptionsWidget.py +239 -79
- tomwer/gui/reconstruction/axis/AxisSettingsWidget.py +38 -17
- tomwer/gui/reconstruction/axis/AxisWidget.py +16 -8
- tomwer/gui/reconstruction/axis/CalculationWidget.py +40 -200
- tomwer/gui/reconstruction/axis/ControlWidget.py +10 -2
- tomwer/gui/reconstruction/axis/EstimatedCORWidget.py +383 -0
- tomwer/gui/reconstruction/axis/EstimatedCorComboBox.py +118 -0
- tomwer/gui/reconstruction/axis/InputWidget.py +11 -155
- tomwer/gui/reconstruction/saaxis/corrangeselector.py +19 -10
- tomwer/gui/reconstruction/scores/scoreplot.py +5 -2
- tomwer/gui/reconstruction/tests/test_nabu.py +8 -0
- tomwer/gui/stitching/z_stitching/fineestimation.py +1 -1
- tomwer/gui/tests/test_axis_gui.py +31 -15
- tomwer/synctools/stacks/reconstruction/axis.py +5 -23
- tomwer/synctools/stacks/reconstruction/dkrefcopy.py +1 -1
- tomwer/synctools/stacks/reconstruction/nabu.py +2 -2
- tomwer/synctools/stacks/reconstruction/normalization.py +1 -1
- tomwer/synctools/stacks/reconstruction/saaxis.py +1 -1
- tomwer/synctools/stacks/reconstruction/sadeltabeta.py +1 -1
- tomwer/tests/orangecontrib/tomwer/widgets/reconstruction/tests/test_axis.py +0 -16
- tomwer/tests/test_ewoks/test_single_node_execution.py +1 -1
- tomwer/tests/test_ewoks/test_workflows.py +1 -1
- tomwer/version.py +1 -1
- {tomwer-1.4.0rc0.dist-info → tomwer-1.4.0rc1.dist-info}/METADATA +2 -2
- {tomwer-1.4.0rc0.dist-info → tomwer-1.4.0rc1.dist-info}/RECORD +50 -47
- tomwer/core/process/tests/test_axis.py +0 -231
- {tomwer-1.4.0rc0.dist-info → tomwer-1.4.0rc1.dist-info}/LICENSE +0 -0
- {tomwer-1.4.0rc0.dist-info → tomwer-1.4.0rc1.dist-info}/WHEEL +0 -0
- {tomwer-1.4.0rc0.dist-info → tomwer-1.4.0rc1.dist-info}/entry_points.txt +0 -0
- {tomwer-1.4.0rc0.dist-info → tomwer-1.4.0rc1.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=
|
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=
|
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=
|
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=
|
223
|
+
tomwer/version.py,sha256=j1oNp7eNg5mwm_5Q77iTFsL3OJijPmUGXya-gpg8TlM,4383
|
224
224
|
tomwer/app/__init__.py,sha256=RYMB2YhbQaoMXC8W-oOyfZ_Y1vmHD7L13YkKeAMuShM,85
|
225
|
-
tomwer/app/axis.py,sha256=
|
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=
|
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=
|
324
|
-
tomwer/core/process/reconstruction/axis/mode.py,sha256=
|
325
|
-
tomwer/core/process/reconstruction/axis/params.py,sha256=
|
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=
|
337
|
-
tomwer/core/process/reconstruction/nabu/nabuslices.py,sha256=
|
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=
|
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=
|
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=
|
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=
|
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=
|
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=
|
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
|
@@ -407,14 +407,14 @@ tomwer/core/scan/futurescan.py,sha256=chXjteQ4_6cSyFBoCil-DeHkHGGzM-xb21xJRYLEfh
|
|
407
407
|
tomwer/core/scan/hdf5scan.py,sha256=rQ-WtbOIgNtnMxA2kC23fEAcJIJIKboAv7UQColkrBg,966
|
408
408
|
tomwer/core/scan/helicalmetadata.py,sha256=JRBxqHkyTe5f3FDlbIeDfN31P6Ms48SqGiFRXHuZ8sw,472
|
409
409
|
tomwer/core/scan/nxtomoscan.py,sha256=iw6RneKKXZ5u6whN_yghYMoR4fisvYMpJTVMoarxYIE,18768
|
410
|
-
tomwer/core/scan/scanbase.py,sha256=
|
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=
|
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=
|
543
|
-
tomwer/gui/reconstruction/axis/AxisOptionsWidget.py,sha256=
|
544
|
-
tomwer/gui/reconstruction/axis/AxisSettingsWidget.py,sha256=
|
545
|
-
tomwer/gui/reconstruction/axis/AxisWidget.py,sha256=
|
546
|
-
tomwer/gui/reconstruction/axis/CalculationWidget.py,sha256=
|
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=
|
549
|
-
tomwer/gui/reconstruction/axis/
|
549
|
+
tomwer/gui/reconstruction/axis/ControlWidget.py,sha256=DsBPFIEZCva-JPUFxORjkAnoYfgb5udfJ71W-fCwgRY,10686
|
550
|
+
tomwer/gui/reconstruction/axis/EstimatedCORWidget.py,sha256=tcmedDyeJLl557ytCV5KS_RI6tMimYJmhN3QmWnsPAI,16666
|
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=
|
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=
|
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=
|
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=
|
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=
|
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=
|
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=
|
839
|
-
tomwer/synctools/stacks/reconstruction/nabu.py,sha256=
|
840
|
-
tomwer/synctools/stacks/reconstruction/normalization.py,sha256=
|
841
|
-
tomwer/synctools/stacks/reconstruction/saaxis.py,sha256
|
842
|
-
tomwer/synctools/stacks/reconstruction/sadeltabeta.py,sha256=
|
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=
|
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=
|
903
|
-
tomwer/tests/test_ewoks/test_workflows.py,sha256
|
904
|
-
tomwer-1.4.
|
905
|
-
tomwer-1.4.
|
906
|
-
tomwer-1.4.
|
907
|
-
tomwer-1.4.
|
908
|
-
tomwer-1.4.
|
909
|
-
tomwer-1.4.
|
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.0rc1.dist-info/LICENSE,sha256=62p1wL0n9WMTu8x2YDv0odYgTqeSvTd9mQ0v6Mq7lzE,1876
|
908
|
+
tomwer-1.4.0rc1.dist-info/METADATA,sha256=3QcO1MU_iJulld_cCeDiJAK0U4NWTU7tFLBqcRDD4_k,13406
|
909
|
+
tomwer-1.4.0rc1.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
|
910
|
+
tomwer-1.4.0rc1.dist-info/entry_points.txt,sha256=py3ZUWvGnWGc5c7Yhw_uBTm8Fmew0BDw3aQZnWMBNZI,500
|
911
|
+
tomwer-1.4.0rc1.dist-info/top_level.txt,sha256=Yz5zKh0FPiImtzHYcPuztG1AO8-6KEpUWgoChGbA0Ys,21
|
912
|
+
tomwer-1.4.0rc1.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()
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|