tomwer 1.2.1__py3-none-any.whl → 1.3.12__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 (334) hide show
  1. orangecontrib/tomwer/tutorials/icat_publication.ows +58 -0
  2. orangecontrib/tomwer/widgets/__init__.py +11 -11
  3. orangecontrib/tomwer/widgets/control/DataDiscoveryOW.py +2 -2
  4. orangecontrib/tomwer/widgets/control/DataListOW.py +9 -7
  5. orangecontrib/tomwer/widgets/control/DataListenerOW.py +6 -6
  6. orangecontrib/tomwer/widgets/control/DataSelectorOW.py +21 -10
  7. orangecontrib/tomwer/widgets/control/DataValidatorOW.py +6 -6
  8. orangecontrib/tomwer/widgets/control/EDF2NXTomomillOW.py +24 -7
  9. orangecontrib/tomwer/widgets/control/EmailOW.py +4 -4
  10. orangecontrib/tomwer/widgets/control/NXTomomillMixIn.py +3 -3
  11. orangecontrib/tomwer/widgets/control/NXTomomillOW.py +64 -23
  12. orangecontrib/tomwer/widgets/control/NXtomoConcatenate.py +20 -8
  13. orangecontrib/tomwer/widgets/control/NotifierOW.py +1 -0
  14. orangecontrib/tomwer/widgets/control/SingleTomoObjOW.py +6 -6
  15. orangecontrib/tomwer/widgets/control/VolumeSelector.py +7 -4
  16. orangecontrib/tomwer/widgets/control/VolumeSymLinkOW.py +182 -182
  17. orangecontrib/tomwer/widgets/debugtools/DatasetGeneratorOW.py +5 -5
  18. orangecontrib/tomwer/widgets/edit/DarkFlatPatchOW.py +4 -4
  19. orangecontrib/tomwer/widgets/edit/ImageKeyEditorOW.py +3 -3
  20. orangecontrib/tomwer/widgets/edit/ImageKeyUpgraderOW.py +8 -1
  21. orangecontrib/tomwer/widgets/edit/NXtomoEditorOW.py +3 -3
  22. orangecontrib/tomwer/widgets/edit/test/test_nxtomo_editor.py +3 -3
  23. orangecontrib/tomwer/widgets/icat/PublishProcessedDataOW.py +115 -0
  24. orangecontrib/tomwer/widgets/icat/RawDataScreenshotCreatorOW.py +98 -0
  25. orangecontrib/tomwer/widgets/icat/SaveToGalleryAndPublishOW.py +129 -0
  26. orangecontrib/tomwer/widgets/icat/__init__.py +13 -0
  27. orangecontrib/tomwer/widgets/icat/icons/add_gallery.png +0 -0
  28. orangecontrib/tomwer/widgets/icat/icons/add_gallery.svg +82 -0
  29. orangecontrib/tomwer/widgets/icat/icons/publish_processed_data.png +0 -0
  30. orangecontrib/tomwer/widgets/icat/icons/publish_processed_data.svg +95 -0
  31. orangecontrib/tomwer/widgets/icat/icons/raw_screenshots.png +0 -0
  32. orangecontrib/tomwer/widgets/icat/icons/raw_screenshots.svg +143 -0
  33. orangecontrib/tomwer/widgets/icons/tomwer_data_portal.png +0 -0
  34. orangecontrib/tomwer/widgets/icons/tomwer_data_portal.svg +76 -0
  35. orangecontrib/tomwer/widgets/reconstruction/AxisOW.py +22 -20
  36. orangecontrib/tomwer/widgets/reconstruction/CastNabuVolumeOW.py +19 -3
  37. orangecontrib/tomwer/widgets/reconstruction/NabuHelicalPrepareWeightsDoubleOW.py +184 -169
  38. orangecontrib/tomwer/widgets/reconstruction/NabuOW.py +23 -0
  39. orangecontrib/tomwer/widgets/reconstruction/NabuVolumeOW.py +39 -5
  40. orangecontrib/tomwer/widgets/reconstruction/SAAxisOW.py +18 -22
  41. orangecontrib/tomwer/widgets/reconstruction/SADeltaBetaOW.py +18 -26
  42. orangecontrib/tomwer/widgets/reconstruction/SinoNormOW.py +15 -19
  43. orangecontrib/tomwer/widgets/visualization/DataViewerOW.py +9 -9
  44. orangecontrib/tomwer/widgets/visualization/DiffViewerOW.py +1 -1
  45. orangecontrib/tomwer/widgets/visualization/LivesliceOW.py +1 -1
  46. orangecontrib/tomwer/widgets/visualization/NXtomoMetadataViewerOW.py +3 -3
  47. orangecontrib/tomwer/widgets/visualization/SinogramViewerOW.py +0 -1
  48. orangecontrib/tomwer/widgets/visualization/VolumeViewerOW.py +3 -29
  49. tomwer/__main__.py +7 -64
  50. tomwer/app/axis.py +3 -3
  51. tomwer/app/canvas.py +8 -0
  52. tomwer/app/canvas_launcher/config.py +16 -14
  53. tomwer/app/canvas_launcher/environ.py +1 -0
  54. tomwer/app/canvas_launcher/mainwindow.py +4 -1
  55. tomwer/app/darkref.py +1 -1
  56. tomwer/app/darkrefpatch.py +1 -1
  57. tomwer/app/diffframe.py +3 -3
  58. tomwer/app/imagekeyeditor.py +5 -5
  59. tomwer/app/imagekeyupgrader.py +5 -5
  60. tomwer/app/intensitynormalization.py +14 -13
  61. tomwer/app/{saaxis.py → multicor.py} +3 -3
  62. tomwer/app/{sadeltabeta.py → multipag.py} +3 -3
  63. tomwer/app/nabuapp.py +0 -11
  64. tomwer/app/radiostack.py +6 -4
  65. tomwer/app/samplemoved.py +3 -2
  66. tomwer/app/scanviewer.py +4 -2
  67. tomwer/app/sinogramviewer.py +3 -2
  68. tomwer/app/slicestack.py +3 -2
  69. tomwer/app/zstitching.py +88 -6
  70. tomwer/core/cluster/cluster.py +26 -0
  71. tomwer/core/log/logger.py +7 -5
  72. tomwer/core/process/conditions/filters.py +1 -1
  73. tomwer/core/process/control/datalistener/datalistener.py +19 -14
  74. tomwer/core/process/control/datawatcher/edfdwprocess.py +0 -9
  75. tomwer/core/process/control/nxtomoconcatenate.py +13 -13
  76. tomwer/core/process/control/nxtomomill.py +92 -34
  77. tomwer/core/process/control/scantransfer.py +20 -43
  78. tomwer/core/process/control/scanvalidator.py +3 -2
  79. tomwer/core/process/control/test/test_concatenate_nxtomos.py +9 -9
  80. tomwer/core/process/control/test/test_email.py +4 -4
  81. tomwer/core/process/control/test/test_h52nx_process.py +59 -7
  82. tomwer/core/process/control/test/test_volume_link.py +64 -64
  83. tomwer/core/process/control/timer.py +1 -1
  84. tomwer/core/process/control/volumesymlink.py +200 -200
  85. tomwer/core/process/edit/darkflatpatch.py +14 -15
  86. tomwer/core/process/edit/imagekeyeditor.py +41 -39
  87. tomwer/core/process/icat/__init__.py +0 -0
  88. tomwer/core/process/icat/createscreenshots.py +100 -0
  89. tomwer/core/process/icat/gallery.py +377 -0
  90. tomwer/core/process/icat/icatbase.py +36 -0
  91. tomwer/core/process/icat/publish.py +228 -0
  92. tomwer/core/process/icat/screenshots.py +27 -0
  93. tomwer/core/process/output.py +52 -0
  94. tomwer/core/process/reconstruction/axis/axis.py +280 -69
  95. tomwer/core/process/reconstruction/axis/mode.py +163 -48
  96. tomwer/core/process/reconstruction/axis/params.py +29 -21
  97. tomwer/core/process/reconstruction/darkref/darkrefs.py +41 -127
  98. tomwer/core/process/reconstruction/darkref/darkrefscopy.py +4 -3
  99. tomwer/core/process/reconstruction/darkref/params.py +1 -1
  100. tomwer/core/process/reconstruction/nabu/castvolume.py +4 -4
  101. tomwer/core/process/reconstruction/nabu/helical.py +9 -5
  102. tomwer/core/process/reconstruction/nabu/nabucommon.py +71 -78
  103. tomwer/core/process/reconstruction/nabu/nabuscores.py +425 -53
  104. tomwer/core/process/reconstruction/nabu/nabuslices.py +114 -93
  105. tomwer/core/process/reconstruction/nabu/nabuvolume.py +54 -27
  106. tomwer/core/process/reconstruction/nabu/plane.py +9 -0
  107. tomwer/core/process/reconstruction/nabu/settings.py +2 -2
  108. tomwer/core/process/reconstruction/nabu/utils.py +164 -26
  109. tomwer/core/process/reconstruction/output.py +108 -0
  110. tomwer/core/process/reconstruction/saaxis/saaxis.py +238 -264
  111. tomwer/core/process/reconstruction/sadeltabeta/sadeltabeta.py +151 -87
  112. tomwer/core/process/reconstruction/scores/params.py +7 -4
  113. tomwer/core/process/reconstruction/scores/scores.py +13 -0
  114. tomwer/core/process/reconstruction/test/test_axis_params.py +2 -2
  115. tomwer/core/process/reconstruction/test/test_darkref.py +3 -3
  116. tomwer/core/process/reconstruction/test/test_darkref_copy.py +7 -7
  117. tomwer/core/process/reconstruction/test/test_saaxis.py +3 -4
  118. tomwer/core/process/reconstruction/test/test_sadeltabeta.py +2 -2
  119. tomwer/core/process/stitching/nabustitcher.py +13 -12
  120. tomwer/core/process/task.py +34 -26
  121. tomwer/core/process/test/test_axis.py +13 -12
  122. tomwer/core/process/test/test_dark_and_flat.py +10 -7
  123. tomwer/core/process/test/test_data_transfer.py +10 -8
  124. tomwer/core/process/test/test_nabu.py +14 -6
  125. tomwer/core/process/test/test_normalization.py +4 -4
  126. tomwer/core/scan/blissscan.py +3 -3
  127. tomwer/core/scan/edfscan.py +13 -10
  128. tomwer/core/scan/hdf5scan.py +19 -530
  129. tomwer/core/scan/nxtomoscan.py +534 -0
  130. tomwer/core/scan/scanbase.py +72 -44
  131. tomwer/core/scan/scanfactory.py +13 -13
  132. tomwer/core/scan/test/test_edf.py +2 -2
  133. tomwer/core/scan/test/test_future_scan.py +3 -3
  134. tomwer/core/scan/test/test_h5.py +18 -16
  135. tomwer/core/scan/test/test_process_registration.py +4 -40
  136. tomwer/core/scan/test/test_scan.py +5 -78
  137. tomwer/core/settings.py +22 -2
  138. tomwer/core/test/test_scanutils.py +8 -7
  139. tomwer/core/test/test_utils.py +35 -28
  140. tomwer/core/tomwer_object.py +1 -1
  141. tomwer/core/utils/__init__.py +0 -466
  142. tomwer/core/utils/deprecation.py +1 -1
  143. tomwer/core/utils/dictutils.py +14 -0
  144. tomwer/core/utils/lbsram.py +35 -0
  145. tomwer/core/utils/nxtomoutils.py +1 -1
  146. tomwer/core/utils/scanutils.py +6 -6
  147. tomwer/core/utils/spec.py +263 -0
  148. tomwer/core/volume/edfvolume.py +6 -6
  149. tomwer/core/volume/hdf5volume.py +6 -6
  150. tomwer/core/volume/jp2kvolume.py +6 -6
  151. tomwer/core/volume/rawvolume.py +6 -6
  152. tomwer/core/volume/tiffvolume.py +12 -12
  153. tomwer/core/volume/volumefactory.py +2 -2
  154. tomwer/gui/cluster/slurm.py +274 -65
  155. tomwer/gui/cluster/supervisor.py +12 -0
  156. tomwer/gui/cluster/test/test_cluster.py +14 -2
  157. tomwer/gui/cluster/test/test_supervisor.py +3 -3
  158. tomwer/gui/configuration/__init__.py +0 -0
  159. tomwer/gui/{reconstruction/nabu → configuration}/action.py +1 -32
  160. tomwer/gui/configuration/level.py +22 -0
  161. tomwer/gui/control/actions.py +54 -0
  162. tomwer/gui/control/datalist.py +83 -16
  163. tomwer/gui/control/datalistener.py +4 -16
  164. tomwer/gui/control/datawatcher/controlwidget.py +2 -4
  165. tomwer/gui/control/datawatcher/datawatcher.py +1 -24
  166. tomwer/gui/control/{email.py → emailnotifier.py} +9 -18
  167. tomwer/gui/control/history.py +2 -2
  168. tomwer/gui/control/observations.py +2 -2
  169. tomwer/gui/control/reducedarkflatselector.py +9 -9
  170. tomwer/gui/control/selectorwidgetbase.py +36 -9
  171. tomwer/gui/control/serie/seriecreator.py +5 -22
  172. tomwer/gui/control/test/test_email.py +1 -1
  173. tomwer/gui/control/test/test_scanvalidator.py +6 -5
  174. tomwer/gui/control/test/test_single_tomo_obj.py +3 -3
  175. tomwer/gui/control/tomoobjdisplaymode.py +8 -0
  176. tomwer/gui/debugtools/datasetgenerator.py +3 -3
  177. tomwer/gui/edit/dkrfpatch.py +20 -26
  178. tomwer/gui/edit/imagekeyeditor.py +11 -12
  179. tomwer/gui/edit/nxtomoeditor.py +111 -44
  180. tomwer/gui/edit/nxtomowarmer.py +7 -6
  181. tomwer/gui/edit/test/test_dkrf_patch.py +13 -13
  182. tomwer/gui/edit/test/test_image_key_editor.py +3 -3
  183. tomwer/gui/edit/test/test_nx_editor.py +40 -16
  184. tomwer/gui/icat/__init__.py +0 -0
  185. tomwer/gui/icat/createscreenshots.py +80 -0
  186. tomwer/gui/icat/gallery.py +214 -0
  187. tomwer/gui/icat/publish.py +187 -0
  188. tomwer/gui/imagefromfile.py +2 -2
  189. tomwer/gui/qfolderdialog.py +24 -1
  190. tomwer/gui/reconstruction/axis/CompareImages.py +88 -168
  191. tomwer/gui/reconstruction/axis/axis.py +171 -57
  192. tomwer/gui/reconstruction/axis/radioaxis.py +122 -257
  193. tomwer/gui/reconstruction/darkref/darkrefcopywidget.py +3 -2
  194. tomwer/gui/reconstruction/darkref/darkrefwidget.py +2 -1
  195. tomwer/gui/reconstruction/nabu/castvolume.py +14 -3
  196. tomwer/gui/reconstruction/nabu/check.py +9 -9
  197. tomwer/gui/reconstruction/nabu/helical.py +29 -12
  198. tomwer/gui/reconstruction/nabu/nabuconfig/base.py +2 -4
  199. tomwer/gui/reconstruction/nabu/nabuconfig/nabuconfig.py +2 -1
  200. tomwer/gui/reconstruction/nabu/nabuconfig/output.py +126 -35
  201. tomwer/gui/reconstruction/nabu/nabuconfig/phase.py +39 -32
  202. tomwer/gui/reconstruction/nabu/nabuconfig/preprocessing.py +222 -31
  203. tomwer/gui/reconstruction/nabu/nabuconfig/reconstruction.py +57 -27
  204. tomwer/gui/reconstruction/nabu/nabuflow.py +12 -20
  205. tomwer/gui/reconstruction/nabu/slices.py +10 -11
  206. tomwer/gui/reconstruction/nabu/volume.py +22 -10
  207. tomwer/gui/reconstruction/normalization/intensity.py +18 -48
  208. tomwer/gui/reconstruction/saaxis/corrangeselector.py +8 -24
  209. tomwer/gui/reconstruction/saaxis/dimensionwidget.py +1 -1
  210. tomwer/gui/reconstruction/saaxis/saaxis.py +9 -21
  211. tomwer/gui/reconstruction/sadeltabeta/saadeltabeta.py +45 -12
  212. tomwer/gui/reconstruction/scores/control.py +2 -9
  213. tomwer/gui/reconstruction/scores/scoreplot.py +13 -11
  214. tomwer/gui/reconstruction/test/test_axis.py +41 -16
  215. tomwer/gui/reconstruction/test/test_nabu.py +31 -9
  216. tomwer/gui/reconstruction/test/test_saaxis.py +3 -3
  217. tomwer/gui/reconstruction/test/test_sadeltabeta.py +12 -2
  218. tomwer/gui/settings.py +5 -28
  219. tomwer/gui/stackplot.py +2 -5
  220. tomwer/gui/stitching/action.py +49 -0
  221. tomwer/gui/stitching/config/axisparams.py +7 -24
  222. tomwer/gui/stitching/config/output.py +10 -8
  223. tomwer/gui/stitching/config/positionoveraxis.py +22 -23
  224. tomwer/gui/stitching/normalization.py +117 -0
  225. tomwer/gui/stitching/stitchandbackground.py +4 -6
  226. tomwer/gui/stitching/stitching.py +267 -45
  227. tomwer/gui/stitching/stitching_preview.py +62 -55
  228. tomwer/gui/stitching/stitching_raw.py +13 -12
  229. tomwer/gui/stitching/z_stitching/fineestimation.py +0 -60
  230. tomwer/gui/utils/buttons.py +112 -29
  231. tomwer/gui/utils/inputwidget.py +43 -25
  232. tomwer/gui/utils/lineselector/lineselector.py +1 -1
  233. tomwer/gui/utils/scandescription.py +4 -0
  234. tomwer/gui/utils/step.py +144 -0
  235. tomwer/gui/utils/unitsystem.py +2 -5
  236. tomwer/gui/utils/vignettes.py +176 -15
  237. tomwer/gui/visualization/dataviewer.py +48 -35
  238. tomwer/gui/visualization/diffviewer/diffviewer.py +7 -16
  239. tomwer/gui/visualization/diffviewer/shiftwidget.py +2 -5
  240. tomwer/gui/visualization/scanoverview.py +1 -1
  241. tomwer/gui/visualization/sinogramviewer.py +20 -36
  242. tomwer/gui/visualization/test/test_diffviewer.py +3 -3
  243. tomwer/gui/visualization/test/test_nx_tomo_metadata_viewer.py +4 -4
  244. tomwer/gui/visualization/test/test_sinogramviewer.py +2 -2
  245. tomwer/gui/visualization/test/test_stacks.py +3 -3
  246. tomwer/gui/visualization/test/test_volumeviewer.py +65 -67
  247. tomwer/gui/visualization/volumeviewer.py +114 -113
  248. tomwer/io/utils/h5pyutils.py +3 -3
  249. tomwer/io/utils/raw_and_processed_data.py +84 -0
  250. tomwer/io/utils/tomoobj.py +4 -6
  251. tomwer/io/utils/utils.py +7 -7
  252. tomwer/resources/gui/icons/parameters.svg +1 -1
  253. tomwer/resources/gui/icons/ruler.png +0 -0
  254. tomwer/resources/gui/icons/ruler.svg +273 -0
  255. tomwer/resources/gui/icons/short_description.png +0 -0
  256. tomwer/resources/gui/icons/short_description.svg +58 -0
  257. tomwer/resources/gui/icons/url.png +0 -0
  258. tomwer/resources/gui/icons/url.svg +58 -0
  259. tomwer/resources/gui/illustrations/no_rot.svg +1 -1
  260. tomwer/synctools/stacks/edit/darkflatpatch.py +19 -14
  261. tomwer/synctools/stacks/edit/imagekeyeditor.py +2 -2
  262. tomwer/synctools/stacks/reconstruction/axis.py +4 -4
  263. tomwer/synctools/stacks/reconstruction/castvolume.py +22 -7
  264. tomwer/synctools/stacks/reconstruction/dkrefcopy.py +25 -20
  265. tomwer/synctools/stacks/reconstruction/nabu.py +2 -2
  266. tomwer/synctools/stacks/reconstruction/normalization.py +2 -2
  267. tomwer/synctools/stacks/reconstruction/saaxis.py +2 -2
  268. tomwer/synctools/stacks/reconstruction/sadeltabeta.py +2 -2
  269. tomwer/synctools/test/test_darkRefs.py +7 -58
  270. tomwer/synctools/test/test_foldertransfer.py +6 -6
  271. tomwer/synctools/utils/scanstages.py +6 -6
  272. tomwer/tests/conftest.py +34 -0
  273. tomwer/tests/datasets.py +13 -0
  274. tomwer/tests/test_scripts.py +91 -41
  275. tomwer/tests/utils.py +5 -0
  276. tomwer/third_part/WaitingOverlay.py +110 -0
  277. tomwer/third_part/__init__.py +0 -0
  278. tomwer/version.py +2 -2
  279. tomwer-1.3.12-py3.11-nspkg.pth +1 -0
  280. {tomwer-1.2.1.dist-info → tomwer-1.3.12.dist-info}/METADATA +73 -58
  281. {tomwer-1.2.1.dist-info → tomwer-1.3.12.dist-info}/RECORD +287 -286
  282. {tomwer-1.2.1.dist-info → tomwer-1.3.12.dist-info}/WHEEL +1 -1
  283. orangecontrib/tomwer/widgets/reconstruction/TofuOW.py +0 -197
  284. orangecontrib/tomwer/widgets/reconstruction/icons/XY_lamino.svg +0 -168
  285. orangecontrib/tomwer/widgets/reconstruction/icons/XZ_lamino.svg +0 -275
  286. orangecontrib/tomwer/widgets/reconstruction/icons/YZ_lamino.svg +0 -182
  287. tomwer/app/lamino.py +0 -143
  288. tomwer/core/process/reconstruction/lamino/__init__.py +0 -1
  289. tomwer/core/process/reconstruction/lamino/tofu.py +0 -1000
  290. tomwer/core/process/test/test_lamino.py +0 -76
  291. tomwer/core/test/test_lamino.py +0 -92
  292. tomwer/gui/reconstruction/lamino/__init__.py +0 -31
  293. tomwer/gui/reconstruction/lamino/tofu/TofuOptionLoader.py +0 -107
  294. tomwer/gui/reconstruction/lamino/tofu/__init__.py +0 -1
  295. tomwer/gui/reconstruction/lamino/tofu/misc.py +0 -148
  296. tomwer/gui/reconstruction/lamino/tofu/projections.py +0 -896
  297. tomwer/gui/reconstruction/lamino/tofu/settings.py +0 -75
  298. tomwer/gui/reconstruction/lamino/tofu/tofu.py +0 -432
  299. tomwer/gui/reconstruction/lamino/tofu/tofuexpert.py +0 -567
  300. tomwer/gui/reconstruction/lamino/tofu/tofuoutput.py +0 -760
  301. tomwer/gui/reconstruction/test/test_lamino.py +0 -189
  302. tomwer/resources/gui/icons/esrf_1.svg +0 -307
  303. tomwer/resources/gui/icons/lamino_parameters.svg +0 -70
  304. tomwer/resources/gui/icons/triangle.svg +0 -80
  305. tomwer/resources/gui/illustrations/lamino_angle.png +0 -0
  306. tomwer/resources/gui/illustrations/lamino_angle.svg +0 -509
  307. tomwer/resources/gui/illustrations/lamino_beta_angle.png +0 -0
  308. tomwer/resources/gui/illustrations/lamino_beta_angle.svg +0 -97
  309. tomwer/resources/gui/illustrations/lamino_theta_angle.png +0 -0
  310. tomwer/resources/gui/illustrations/lamino_theta_angle.svg +0 -368
  311. tomwer/resources/gui/illustrations/manual_slice.png +0 -0
  312. tomwer/resources/gui/illustrations/manual_slice.svg +0 -221
  313. tomwer/resources/gui/illustrations/psi_angle.png +0 -0
  314. tomwer/resources/gui/illustrations/psi_angle.svg +0 -479
  315. tomwer/resources/gui/illustrations/rotation_center.png +0 -0
  316. tomwer/resources/gui/illustrations/rotation_center.svg +0 -276
  317. tomwer/resources/gui/illustrations/slice_stack.png +0 -0
  318. tomwer/resources/gui/illustrations/slice_stack.svg +0 -266
  319. tomwer/resources/gui/illustrations/xy_slice.png +0 -0
  320. tomwer/resources/gui/illustrations/xy_slice.svg +0 -269
  321. tomwer/resources/gui/illustrations/xz_slice.png +0 -0
  322. tomwer/resources/gui/illustrations/xz_slice.svg +0 -270
  323. tomwer/resources/gui/illustrations/yz_slice.png +0 -0
  324. tomwer/resources/gui/illustrations/yz_slice.svg +0 -270
  325. tomwer/synctools/stacks/reconstruction/lamino.py +0 -233
  326. tomwer/synctools/test/test_scanstages.py +0 -162
  327. tomwer/tests/utils/__init__.py +0 -247
  328. tomwer/tests/utils/utilstest.py +0 -220
  329. tomwer-1.2.1-py3.11-nspkg.pth +0 -1
  330. /tomwer/core/process/control/{email.py → emailnotifier.py} +0 -0
  331. {tomwer-1.2.1.dist-info → tomwer-1.3.12.dist-info}/LICENSE +0 -0
  332. {tomwer-1.2.1.dist-info → tomwer-1.3.12.dist-info}/entry_points.txt +0 -0
  333. {tomwer-1.2.1.dist-info → tomwer-1.3.12.dist-info}/namespace_packages.txt +0 -0
  334. {tomwer-1.2.1.dist-info → tomwer-1.3.12.dist-info}/top_level.txt +0 -0
@@ -1,189 +0,0 @@
1
- # coding: utf-8
2
- # /*##########################################################################
3
- #
4
- # Copyright (c) 2017 European Synchrotron Radiation Facility
5
- #
6
- # Permission is hereby granted, free of charge, to any person obtaining a copy
7
- # of this software and associated documentation files (the "Software"), to deal
8
- # in the Software without restriction, including without limitation the rights
9
- # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
- # copies of the Software, and to permit persons to whom the Software is
11
- # furnished to do so, subject to the following conditions:
12
- #
13
- # The above copyright notice and this permission notice shall be included in
14
- # all copies or substantial portions of the Software.
15
- #
16
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
- # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
- # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
- # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
- # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22
- # THE SOFTWARE.
23
- #
24
- # ###########################################################################*/
25
- __authors__ = ["H. Payno"]
26
- __license__ = "MIT"
27
- __date__ = "16/06/2021"
28
-
29
-
30
- import os
31
- import shutil
32
- import tempfile
33
- import unittest
34
-
35
- import pytest
36
- from silx.gui import qt
37
-
38
- from tomwer.core import settings
39
- from tomwer.gui.reconstruction.lamino.tofu import TofuWindow
40
- from tomwer.tests.utils import UtilsTest, skip_gui_test
41
-
42
-
43
- @pytest.mark.skipif(skip_gui_test(), reason="skip gui test")
44
- class TestLamino(unittest.TestCase):
45
- """Test the TofuWidget"""
46
-
47
- def setUp(self):
48
- super().setUp()
49
- self._window = TofuWindow(parent=None)
50
- self._widget = self._window._mainWidget
51
- # add a dark.edf file and a darkHSTFile
52
- self._folder = tempfile.mkdtemp()
53
-
54
- def tearDown(self):
55
- super().tearDown()
56
- self._window.setAttribute(qt.Qt.WA_DeleteOnClose)
57
- self._window.close()
58
- shutil.rmtree(self._folder)
59
-
60
- def testSetup(self):
61
- """Make sure the widget is correctly setting parameters from a scan"""
62
- dataset = UtilsTest.getEDFDataset("test01")
63
- self._window.loadFromScan(dataset)
64
- reconsParams = self._widget.getParameters()
65
- # check general information
66
- # note : the .info file is incorrect
67
- self.assertTrue(self._widget._tabs._inputWidget.getNumber() == 1)
68
- self.assertTrue(reconsParams["number"] == 1)
69
- # check flat field correction is set
70
- ffcWidget = self._widget._tabs._inputWidget.widget._ffcWidget
71
- thFlats = os.path.join(dataset, "refHST0000.edf")
72
- self.assertTrue(ffcWidget.getFlats() == thFlats)
73
- self.assertTrue(reconsParams["flats"] == thFlats)
74
- thSecondFlats = os.path.join(dataset, "refHST0010.edf")
75
- self.assertTrue(ffcWidget.getSecondFlats() == thSecondFlats)
76
- self.assertTrue(reconsParams["flats2"] == thSecondFlats)
77
- thDarks = os.path.join(dataset, "darkend0000.edf")
78
- self.assertTrue(ffcWidget.getDarks() == thDarks)
79
- self.assertTrue(reconsParams["darks"] == thDarks)
80
-
81
- inputWidget = self._widget._tabs._inputWidget.widget
82
- self.assertTrue(inputWidget.rotationAngle._overallAngle.getAngle() == 180.0)
83
- self.assertTrue(inputWidget.rotationAngle._axisAngleY.getAngle() == 0.0)
84
- self.assertTrue(inputWidget.rotationAngle._axisAngleZ.getAngle() == 0.0)
85
-
86
- def testSetupWithLockedParams(self):
87
- """Make sure lockers are corrcetly taking into account"""
88
- # check flat field correction is set
89
-
90
- inputWidget = self._widget._tabs._inputWidget.widget
91
- inputWidget.rotationAngle._overallAngle.setAngle(12.0)
92
- inputWidget.rotationAngle._overallAngle.lock()
93
-
94
- inputWidget.rotationAngle._axisAngleY.setAngle(-26.0)
95
- inputWidget.rotationAngle._axisAngleY.lock()
96
-
97
- inputWidget.rotationAngle._axisAngleZ.setAngle(63.5)
98
- inputWidget.rotationAngle._axisAngleZ.lock()
99
-
100
- outputWidget = self._widget._tabs._outputWidget
101
- outputWidget.setOutput("toto")
102
- outputWidget.lockOutput()
103
-
104
- dataset = UtilsTest.getEDFDataset("test01")
105
- self._window.loadFromScan(dataset)
106
-
107
- self.assertTrue(inputWidget.rotationAngle._overallAngle.getAngle() == 12.0)
108
- self.assertTrue(inputWidget.rotationAngle._axisAngleY.getAngle() == -26.0)
109
- self.assertTrue(inputWidget.rotationAngle._axisAngleZ.getAngle() == 63.5)
110
-
111
- self.assertTrue(outputWidget.getOutput() == "toto")
112
-
113
- def testEditionDisplay(self):
114
- """
115
- Test that edition of parameters by the user are taking into account
116
- """
117
- displayWidget = self._widget._tabs._inputWidget.widget.rotationAngle
118
- # angles
119
- displayWidget._laminoAngle.setAngle(12.0)
120
- self.assertTrue(self._widget.getParameters()["axis-angle-x"] == 12.0)
121
- displayWidget._axisAngleY.setAngle(10.0)
122
- self.assertTrue(self._widget.getParameters()["axis-angle-y"] == 10.0)
123
-
124
- # regions
125
- regionWidget = self._widget._tabs._outputWidget._region
126
- regionWidget._xRegion._regionLE.setText("0")
127
- self.assertTrue(self._widget.getParameters()["x-region"] == (0, -1, 1))
128
- regionWidget.setYRegion(10, 12, 25)
129
- self.assertTrue(self._widget.getParameters()["y-region"] == (10, 12, 25))
130
-
131
- # make sure saving and loading is correct
132
- savingFile = os.path.join(self._folder, "savingFile.ini")
133
- self._widget.saveTo(savingFile)
134
- self.assertTrue(os.path.exists(savingFile))
135
- regionWidget.setYRegion(10, 12, 22)
136
- self.assertTrue(self._widget.getParameters()["y-region"] == (10, 12, 22))
137
- self._widget.loadFile(savingFile)
138
- self.assertTrue(self._widget.getParameters()["y-region"] == (10, 12, 25))
139
-
140
- def testOutputWidget(self):
141
- """test behavior of the output widget and link with get and set
142
- parameters"""
143
- outputWidget = self._widget._tabs._outputWidget
144
- # volume angles
145
- outputWidget._volumeAngleGrp.setAngles(0, 20, -36.0)
146
- reconsParams = self._widget.getParameters()
147
- self.assertTrue(reconsParams["volume-angle-x"] == 0)
148
- self.assertTrue(reconsParams["volume-angle-y"] == 20.0)
149
- self.assertTrue(reconsParams["volume-angle-z"] == -36.0)
150
-
151
- def testCenteringWidget(self):
152
- """test behavior of the centering widget and link with get and set
153
- parameters"""
154
- centeringWidget = self._widget._tabs._inputWidget.widget.centeringWidget
155
- centeringWidget._xCenterLE.setText("12")
156
- centeringWidget._yCenterLE.setText("2")
157
- self.assertTrue(self._widget.getParameters()["center-position-x"] == 12.0)
158
- self.assertTrue(self._widget.getParameters()["center-position-z"] == 2.0)
159
-
160
- def testForceLbsRam(self):
161
- """Test the behavior of the forcelbsram option"""
162
- scan1 = tempfile.mkdtemp(suffix="1")
163
- self._window.loadFromScan(scan1)
164
- _end = os.path.join("1", "xySlice")
165
- self.assertTrue(self._window.getParameters()["output"].endswith(_end))
166
-
167
- self._window._mainWidget._tabs._outputWidget.lockOutput()
168
- scan2 = tempfile.mkdtemp(suffix="2")
169
- self._window.loadFromScan(scan2)
170
- _end = os.path.join("1", "xySlice")
171
- self.assertTrue(self._window.getParameters()["output"].endswith(_end))
172
-
173
- self._window._mainWidget._tabs._outputWidget.lockOutput(False)
174
- self._window.loadFromScan(scan2)
175
- _end = os.path.join("2", "xySlice")
176
- self.assertTrue(self._window.getParameters()["output"].endswith(_end))
177
-
178
- self._window._mainWidget._tabs._outputWidget.setForceLbsram(True)
179
- self.assertTrue(
180
- self._window.getParameters()["output"].startswith(
181
- settings.get_lbsram_path()
182
- )
183
- )
184
- self._window.loadFromScan(scan1)
185
- self.assertTrue(
186
- self._window.getParameters()["output"].startswith(
187
- settings.get_lbsram_path()
188
- )
189
- )
@@ -1,307 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
- <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
-
4
- <svg
5
- width="48"
6
- height="48"
7
- viewBox="0 0 12.7 12.7"
8
- version="1.1"
9
- id="svg911"
10
- xml:space="preserve"
11
- inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
12
- sodipodi:docname="esrf_1.svg"
13
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
14
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
15
- xmlns:xlink="http://www.w3.org/1999/xlink"
16
- xmlns="http://www.w3.org/2000/svg"
17
- xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview
18
- id="namedview913"
19
- pagecolor="#ffffff"
20
- bordercolor="#000000"
21
- borderopacity="0.25"
22
- inkscape:showpageshadow="2"
23
- inkscape:pageopacity="0.0"
24
- inkscape:pagecheckerboard="0"
25
- inkscape:deskcolor="#d1d1d1"
26
- inkscape:document-units="mm"
27
- showgrid="false"
28
- inkscape:zoom="6.7277216"
29
- inkscape:cx="17.910967"
30
- inkscape:cy="53.361304"
31
- inkscape:window-width="1920"
32
- inkscape:window-height="1131"
33
- inkscape:window-x="0"
34
- inkscape:window-y="32"
35
- inkscape:window-maximized="1"
36
- inkscape:current-layer="layer1" /><defs
37
- id="defs908" /><g
38
- inkscape:label="Layer 1"
39
- inkscape:groupmode="layer"
40
- id="layer1"><image
41
- width="18.843178"
42
- height="19.58782"
43
- preserveAspectRatio="none"
44
- xlink:href="data:image/png;base64,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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- +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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 0vbj1/UDfeNnH8Xtey+hZqDCELwYvd4n5Jw/nQxbt7CiPwVD00EziSZARSPEoik07VAZ+KHW3D4N
72
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- +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
- 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
- 3+FsOhyr0oY0PceHDn3srY34W8cB5W4QIco8XLVo65ZT+9MvYJsnEI/ESIy8Vf1l7vWDyz5eQ9Pf
83
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- OKB0rJ0h//jqeNZ1fpBKXji07Tb1/dEvA3xOrso+gD9JoWvTaV5xhzqnW0C4cNUM/rrsmwT+CCpu
95
- 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
- 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
- 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
- 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
- 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
- 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
- nPUR9aO2vj3WIUtiND7xcxLJeozQQIsKpbyDHrFReYUbcTDLBrOnfoxJJ3Ry8xUmvd51ZOpb0fQA
102
- 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
- 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
- OL7l45Q1dENDJ8SIWbiOT6YxwivdZ7AAxZbYDGpqp5OMZ/EdG79Xxykr8HQIPIKKTm+XRssnTx34
105
- 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
- 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
- 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
- 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
- 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
- VhnX0dGUjxaJ4Jd9vByY8RAH6N3chR4JqfaVpB2NUi5H56YSvtaLbgdE4ya+V8ZzNbAETWnoUQ0z
111
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- +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
- 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
- wL3jX4TxC/vF9m968vBxN7wRKBT6lC1E4xalQoClZ+kslgnLComGZOOFHVYrEDKtrxDJ6PiqjFIe
137
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- MlhqM6PWKrVv0k8EZJ5g/pZybZkX6yzyoZs95lV6yLMEg6XotOEzh2BPkz/Ykf0dyuzGkpXZN4/H
147
- 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
- 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
- 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
- H+KuUx7dwXc36rYWUs4XiJoRMvFHeODsOxWE0nxDG7iXIyrEDDUOPeZSddf0tz3Ms//cDZKbRMTQ
151
- kHgAnsmLfZMEnmYWBk7pU2yubkGFFuWuenrlbJh+DQDZjhno1f9HKhqhokFYHsuDS2dyevzL3Du1
152
- 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
- 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
- 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
- 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
- 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
- gmJA9yaFldBIpENKnecLGAIaD6+IEfVbsDQb0zSxyYB5MCCMPWQFSuUx4ybRppC2CW+PFbwT9hux
158
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- xoPBtYnWlkklVnDIxF9w7Zhd71TYT5D5TzexpuszbOk+CtEiaAHYsU4mj7+dO2bcvXN0QebP1xMd
175
- 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
- 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
- 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
- LULjZ4kuqg3rZl7zmzILL05+Rq7ZwRps2FtP6Q6VVIKMl/bE1FvbS0RqV3FP84rdkQqA9HXHk4oe
179
- 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
- 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
- cIt5kAeYnfwV93ymst+2REGEr59E4+hTse1JoBno2isE6jZOPf+Pu3s8QNKX/TMWJ5JutAnKCsOM
182
- 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
- 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
- EqsOkGqAUEqhaL7mIr+l4ZuE7mjKW0Is00SXBjLZi1hhXMYl92X3RxqvzEeX1qs+T0P2n7G8KVjV
185
- CF5fiNc3gmjwTR6/6ZvSvpv58ZvyJLIWutIhjFMtF/Acj1gD1JrOAkWIYFKfvJBETKe3t5uoNp0l
186
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- OXRvb+GpwtmLZRaPkv5rCxIt8uDknh2iE4pAxPgxY5tfQItmqE8+zi/Hv9RvZX9yJdYdtxJVx5PI
197
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- /CfjlVr9HLxSAVN0tKpCD7qpcc5g5ePTAVhy8goaxt+MFTWpOhoR20AzsmgBlEOPMQdt5v3vuRbQ
205
- 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
- 0dr2Ep8+5hdqEQH11yfctPYBjFBhiI4uWRIpE6c8jU2/PeKtj+bbjwN2xeqxX2gk7IugTCFn50lr
207
- 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
- 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
- +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
- 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
- 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
- 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
- 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
- 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
- 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
- t8kHpf7Lc4sVkpk8hxzxCIC0Y8io6y/Y2LbhJkrFn/Obmz46mG9uX+hjw55YVHMfxA5tKr1VtBA2
217
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- fwOr7QFU6mGOmPuv/LS+RNvfUqS0D0IYEBaj5F48Y19sicOHWFWrG6cCflhEi4XUNW9LdFNPTu7m
233
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- GQQxjTBfz7KnZosc8fBQHgdg6Qm/kY/mHmXFX2ajogkyqQIjDlvKXS2vIsCCPfdFal5KU588ldBX
253
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- +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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- j9G9cjrZekXdpAfULfHNu/3e/rqVNI6YjNmn4xQMqp5Ql4xTLaUhvkdibU2M7NpTuX2FYUestxWJ
277
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- YDFZk3eMDMKCBWHBgrBgQVgDRCgi8p5boER3+5Jel/94rqOEb4VD6LfqoW9AA9bBlwFhwYKPQlgQ
299
- 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
- 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
- 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
- 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
303
- "
304
- id="image1040"
305
- x="-3.5774627"
306
- y="-0.34973973"
307
- inkscape:highlight-color="#0a51c2" /></g></svg>
@@ -1,70 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
- <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
-
4
- <svg
5
- xmlns:dc="http://purl.org/dc/elements/1.1/"
6
- xmlns:cc="http://creativecommons.org/ns#"
7
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8
- xmlns:svg="http://www.w3.org/2000/svg"
9
- xmlns="http://www.w3.org/2000/svg"
10
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12
- width="48px"
13
- height="48px"
14
- id="svg2985"
15
- version="1.1"
16
- inkscape:version="0.48.5 r10040"
17
- sodipodi:docname="lamino_parameters.svg"
18
- inkscape:export-filename="/nobackup/linazimov/payno/dev/esrf/ID06/id06workflow/resources/gui/icons/input.png"
19
- inkscape:export-xdpi="200"
20
- inkscape:export-ydpi="200">
21
- <defs
22
- id="defs2987" />
23
- <sodipodi:namedview
24
- id="base"
25
- pagecolor="#ffffff"
26
- bordercolor="#666666"
27
- borderopacity="1.0"
28
- inkscape:pageopacity="0.0"
29
- inkscape:pageshadow="2"
30
- inkscape:zoom="7"
31
- inkscape:cx="0.42857143"
32
- inkscape:cy="24"
33
- inkscape:current-layer="layer1"
34
- showgrid="true"
35
- inkscape:grid-bbox="true"
36
- inkscape:document-units="px"
37
- inkscape:window-width="1920"
38
- inkscape:window-height="1098"
39
- inkscape:window-x="0"
40
- inkscape:window-y="31"
41
- inkscape:window-maximized="1" />
42
- <metadata
43
- id="metadata2990">
44
- <rdf:RDF>
45
- <cc:Work
46
- rdf:about="">
47
- <dc:format>image/svg+xml</dc:format>
48
- <dc:type
49
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
50
- <dc:title></dc:title>
51
- </cc:Work>
52
- </rdf:RDF>
53
- </metadata>
54
- <g
55
- id="layer1"
56
- inkscape:label="Layer 1"
57
- inkscape:groupmode="layer">
58
- <g
59
- id="surface1"
60
- transform="matrix(0.91430392,0,0,0.88285849,0.42325717,3.0002197)"
61
- inkscape:export-filename="/nobackup/linazimov/payno/dev/esrf/ID06/id06workflow/resources/gui/icons/parameters.png"
62
- inkscape:export-xdpi="200"
63
- inkscape:export-ydpi="200">
64
- <path
65
- id="path3157"
66
- d="M 40.25,0 C 39.902344,-0.0117188 39.566406,0.15625 39.375,0.46875 L 37.78125,3.0625 c -0.539062,-0.042969 -1.058594,-0.046875 -1.59375,0 L 34.5625,0.5 C 34.300781,0.0859375 33.761719,-0.0625 33.3125,0.125 L 30.5,1.3125 C 30.054688,1.5 29.796875,1.996094 29.90625,2.46875 l 0.6875,2.96875 C 30.179688,5.792969 29.789063,6.175781 29.4375,6.59375 l -2.96875,-0.6875 c -0.484375,-0.109375 -0.941406,0.171875 -1.125,0.625 L 24.1875,9.375 c -0.183594,0.449219 -0.03516,0.960938 0.375,1.21875 l 2.5625,1.59375 c -0.04297,0.542969 -0.01953,1.113281 0.03125,1.65625 l -2.5625,1.59375 c -0.414062,0.261719 -0.566406,0.800781 -0.375,1.25 l 1.1875,2.8125 c 0.1875,0.445313 0.652344,0.707031 1.125,0.59375 L 29.5,19.4375 c 0.351563,0.410156 0.738281,0.777344 1.15625,1.125 L 30,23.53125 c -0.105469,0.476563 0.140625,0.972656 0.59375,1.15625 l 2.84375,1.15625 c 0.121094,0.05078 0.25,0.0625 0.375,0.0625 0.335938,0 0.65625,-0.171875 0.84375,-0.46875 l 1.65625,-2.59375 c 0.542969,0.03906 1.089844,0.01953 1.625,-0.03125 l 1.65625,2.59375 c 0.265625,0.40625 0.773438,0.5625 1.21875,0.375 l 2.84375,-1.1875 c 0.453125,-0.191406 0.675781,-0.679687 0.5625,-1.15625 L 43.5,20.46875 c 0.402344,-0.347656 0.78125,-0.746094 1.125,-1.15625 l 3,0.65625 c 0.484375,0.105469 0.972656,-0.144531 1.15625,-0.59375 l 1.15625,-2.84375 c 0.183594,-0.457031 0.01172,-0.996094 -0.40625,-1.25 l -2.625,-1.59375 c 0.03906,-0.53125 0.04687,-1.0625 0,-1.59375 l 2.5625,-1.6875 C 49.875,10.144531 50.0625,9.632813 49.875,9.1875 L 48.65625,6.375 C 48.46875,5.925781 47.984375,5.667969 47.5,5.78125 L 44.53125,6.5 C 44.179688,6.089844 43.820313,5.722656 43.40625,5.375 l 0.625,-3 C 44.132813,1.898438 43.886719,1.402344 43.4375,1.21875 L 40.59375,0.0625 C 40.480469,0.015625 40.367188,0.00390625 40.25,0 z M 37,8.875 c 0.53125,-0.00781 1.070313,0.070313 1.59375,0.28125 2.09375,0.851563 3.101563,3.25 2.25,5.34375 -0.851562,2.09375 -3.25,3.101563 -5.34375,2.25 C 33.40625,15.898438 32.398438,13.5 33.25,11.40625 33.890625,9.835938 35.40625,8.898438 37,8.875 z M 14.53125,17 c -0.488281,0 -0.921875,0.359375 -1,0.84375 l -0.625,3.9375 c -0.742187,0.226563 -1.476562,0.515625 -2.15625,0.875 L 7.5,20.34375 c -0.398437,-0.285156 -0.933594,-0.25 -1.28125,0.09375 l -2.75,2.75 C 3.125,23.53125 3.097656,24.070313 3.375,24.46875 L 5.65625,27.75 C 5.289063,28.4375 4.980469,29.160156 4.75,29.90625 l -3.90625,0.625 C 0.359375,30.613281 0,31.042969 0,31.53125 l 0,3.875 c 0,0.484375 0.335938,0.914063 0.8125,1 L 4.75,37.09375 C 4.980469,37.839844 5.289063,38.5625 5.65625,39.25 l -2.3125,3.25 c -0.285156,0.398438 -0.253906,0.933594 0.09375,1.28125 l 2.75,2.75 C 6.53125,46.875 7.070313,46.902344 7.46875,46.625 L 10.75,44.34375 c 0.683594,0.363281 1.382813,0.648438 2.125,0.875 l 0.65625,3.9375 c 0.07813,0.480469 0.511719,0.84375 1,0.84375 l 3.875,0 c 0.484375,0 0.914063,-0.335937 1,-0.8125 l 0.6875,-4 c 0.742188,-0.230469 1.445313,-0.511719 2.125,-0.875 l 3.3125,2.3125 c 0.398438,0.277344 0.9375,0.25 1.28125,-0.09375 l 2.75,-2.75 c 0.347656,-0.347656 0.378906,-0.914062 0.09375,-1.3125 l -2.34375,-3.25 c 0.359375,-0.679687 0.648438,-1.394531 0.875,-2.125 l 4,-0.6875 C 32.667969,36.32031 33,35.890625 33,35.40625 l 0,-3.875 C 33,31.042969 32.640625,30.640625 32.15625,30.5625 L 28.1875,29.90625 c -0.226562,-0.730469 -0.515625,-1.445312 -0.875,-2.125 l 2.3125,-3.3125 c 0.277344,-0.398437 0.25,-0.9375 -0.09375,-1.28125 l -2.75,-2.75 C 26.433594,20.089844 25.898438,20.058594 25.5,20.34375 l -3.28125,2.34375 c -0.683594,-0.363281 -1.386719,-0.648437 -2.125,-0.875 l -0.6875,-3.96875 C 19.324219,17.363281 18.890625,17 18.40625,17 z M 16.5,28.34375 c 2.855469,0 5.15625,2.300781 5.15625,5.15625 0,2.855469 -2.304687,5.15625 -5.15625,5.15625 -2.851562,0 -5.15625,-2.300781 -5.15625,-5.15625 0,-2.855469 2.300781,-5.15625 5.15625,-5.15625 z"
67
- inkscape:connector-curvature="0" />
68
- </g>
69
- </g>
70
- </svg>
@@ -1,80 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
- <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
-
4
- <svg
5
- width="48"
6
- height="48"
7
- viewBox="0 0 12.7 12.7"
8
- version="1.1"
9
- id="svg1097"
10
- inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
11
- sodipodi:docname="triangle.svg"
12
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
13
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
14
- xmlns="http://www.w3.org/2000/svg"
15
- xmlns:svg="http://www.w3.org/2000/svg">
16
- <sodipodi:namedview
17
- id="namedview1099"
18
- pagecolor="#ffffff"
19
- bordercolor="#000000"
20
- borderopacity="0.25"
21
- inkscape:showpageshadow="2"
22
- inkscape:pageopacity="0.0"
23
- inkscape:pagecheckerboard="0"
24
- inkscape:deskcolor="#d1d1d1"
25
- inkscape:document-units="mm"
26
- showgrid="false"
27
- inkscape:zoom="9.5144352"
28
- inkscape:cx="29.166208"
29
- inkscape:cy="27.852415"
30
- inkscape:window-width="1920"
31
- inkscape:window-height="1163"
32
- inkscape:window-x="1920"
33
- inkscape:window-y="0"
34
- inkscape:window-maximized="1"
35
- inkscape:current-layer="layer1" />
36
- <defs
37
- id="defs1094" />
38
- <g
39
- inkscape:label="Layer 1"
40
- inkscape:groupmode="layer"
41
- id="layer1">
42
- <path
43
- style="fill:#ffffff;stroke:#000000;stroke-width:0.4;stroke-linejoin:round"
44
- d="M 1.8939624,10.526614 10.57789,10.508604 10.61321,2.0330588 Z"
45
- id="path1281" />
46
- <path
47
- style="fill:#ffffff;stroke:#000000;stroke-width:0.4;stroke-linejoin:round"
48
- d="M 4.5730925,8.0439775 5.0764382,8.5595639"
49
- id="path1381-3" />
50
- <path
51
- style="fill:#ffffff;stroke:#000000;stroke-width:0.4;stroke-linejoin:round"
52
- d="M 5.5291259,7.0902652 6.0324716,7.6058516"
53
- id="path1381-6" />
54
- <path
55
- style="fill:#ffffff;stroke:#000000;stroke-width:0.4;stroke-linejoin:round"
56
- d="M 6.5287393,6.2125496 7.032085,6.728136"
57
- id="path1381-7" />
58
- <path
59
- style="fill:#ffffff;stroke:#000000;stroke-width:0.4;stroke-linejoin:round"
60
- d="M 7.4875733,5.2270671 7.990919,5.7426535"
61
- id="path1381-5" />
62
- <path
63
- style="fill:#ffffff;stroke:#000000;stroke-width:0.4;stroke-linejoin:round"
64
- d="M 8.3428853,4.4034115 8.846231,4.9189979"
65
- id="path1381-35" />
66
- <path
67
- style="fill:#ffffff;stroke:#000000;stroke-width:0.4;stroke-linejoin:round"
68
- d="M 7.3583237,9.2113359 9.4546511,9.2107622 9.4437729,6.976487 Z"
69
- id="path1283"
70
- sodipodi:nodetypes="cccc" />
71
- <path
72
- style="fill:#ffffff;stroke:#000000;stroke-width:0.4;stroke-linejoin:round"
73
- d="M 3.5387896,9.0166385 4.0421353,9.5322249"
74
- id="path1381" />
75
- <path
76
- style="fill:#ffffff;stroke:#000000;stroke-width:0.4;stroke-linejoin:round"
77
- d="m 9.1315815,3.5812101 0.503346,0.5155864"
78
- id="path1381-62" />
79
- </g>
80
- </svg>