fibsem 0.5.1.dev0__tar.gz → 0.5.2rc2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1228) hide show
  1. fibsem-0.5.2rc2/.github/workflows/publish.yml +142 -0
  2. fibsem-0.5.2rc2/.github/workflows/python-package.yml +185 -0
  3. fibsem-0.5.2rc2/.gitignore +104 -0
  4. fibsem-0.5.2rc2/AGENTS.md +36 -0
  5. fibsem-0.5.2rc2/CHANGES.md +644 -0
  6. fibsem-0.5.2rc2/CLAUDE.md +7 -0
  7. fibsem-0.5.2rc2/CONTRIBUTING.md +154 -0
  8. fibsem-0.5.2rc2/PKG-INFO +214 -0
  9. fibsem-0.5.2rc2/README.md +149 -0
  10. fibsem-0.5.2rc2/RELEASE.md +125 -0
  11. fibsem-0.5.2rc2/SCRIPTING.md +345 -0
  12. fibsem-0.5.2rc2/docs/design/correlation-fm-surface-pre-correction.md +357 -0
  13. fibsem-0.5.2rc2/docs/design/odemis-fm-driver.md +256 -0
  14. fibsem-0.5.2rc2/docs/design/task-scheduling.md +88 -0
  15. fibsem-0.5.2rc2/example/example.py +31 -0
  16. fibsem-0.5.2rc2/example/example_imaging.py +58 -0
  17. fibsem-0.5.2rc2/example/example_milling.py +105 -0
  18. fibsem-0.5.2rc2/example/example_movement.py +79 -0
  19. fibsem-0.5.2rc2/example/lithography.py +99 -0
  20. fibsem-0.5.2rc2/example/slice_and_view.py +79 -0
  21. fibsem-0.5.2rc2/examples/scripts/describe_lamellae.py +28 -0
  22. fibsem-0.5.2rc2/examples/scripts/export_summary.py +30 -0
  23. fibsem-0.5.2rc2/examples/scripts/survey_positions.py +41 -0
  24. fibsem-0.5.2rc2/examples/vertical_tab_widget_demo.py +693 -0
  25. fibsem-0.5.2rc2/fibsem/_timing.py +26 -0
  26. fibsem-0.5.2rc2/fibsem/acquire.py +323 -0
  27. fibsem-0.5.2rc2/fibsem/alignment/__init__.py +617 -0
  28. fibsem-0.5.2rc2/fibsem/alignment/methods.py +430 -0
  29. fibsem-0.5.2rc2/fibsem/alignment/plotting.py +190 -0
  30. fibsem-0.5.2rc2/fibsem/applications/autolamella/__init__.py +7 -0
  31. fibsem-0.5.2rc2/fibsem/applications/autolamella/compat/odemis.py +223 -0
  32. fibsem-0.5.2rc2/fibsem/applications/autolamella/config.py +19 -0
  33. fibsem-0.5.2rc2/fibsem/applications/autolamella/hook_defaults.py +103 -0
  34. fibsem-0.5.2rc2/fibsem/applications/autolamella/poses.py +227 -0
  35. fibsem-0.5.2rc2/fibsem/applications/autolamella/protocol/legacy.py +350 -0
  36. fibsem-0.5.2rc2/fibsem/applications/autolamella/protocol/validation.py +261 -0
  37. fibsem-0.5.2rc2/fibsem/applications/autolamella/scripting.py +95 -0
  38. fibsem-0.5.2rc2/fibsem/applications/autolamella/structures.py +1656 -0
  39. fibsem-0.5.2rc2/fibsem/applications/autolamella/task_outputs.py +85 -0
  40. fibsem-0.5.2rc2/fibsem/applications/autolamella/tools/artifacts.py +131 -0
  41. fibsem-0.5.2rc2/fibsem/applications/autolamella/tools/data.py +665 -0
  42. fibsem-0.5.2rc2/fibsem/applications/autolamella/tools/experiments.py +142 -0
  43. fibsem-0.5.2rc2/fibsem/applications/autolamella/tools/ml_export.py +478 -0
  44. fibsem-0.5.2rc2/fibsem/applications/autolamella/tools/reporting.py +622 -0
  45. fibsem-0.5.2rc2/fibsem/applications/autolamella/tools/stats.py +559 -0
  46. fibsem-0.5.2rc2/fibsem/applications/autolamella/tools/upload_to_hf.py +102 -0
  47. fibsem-0.5.2rc2/fibsem/applications/autolamella/ui/AutoLamellaMainUI.py +3184 -0
  48. fibsem-0.5.2rc2/fibsem/applications/autolamella/ui/AutoLamellaUI.py +2048 -0
  49. fibsem-0.5.2rc2/fibsem/applications/autolamella/ui/__init__.py +12 -0
  50. fibsem-0.5.2rc2/fibsem/applications/autolamella/ui/autolamella_apply_protocol_dialog.py +224 -0
  51. fibsem-0.5.2rc2/fibsem/applications/autolamella/ui/autolamella_create_experiment_widget.py +492 -0
  52. fibsem-0.5.2rc2/fibsem/applications/autolamella/ui/autolamella_fluorescence_acquisition_task_config_widget.py +187 -0
  53. fibsem-0.5.2rc2/fibsem/applications/autolamella/ui/autolamella_fluorescence_overview_tab.py +200 -0
  54. fibsem-0.5.2rc2/fibsem/applications/autolamella/ui/autolamella_generate_report_widget.py +522 -0
  55. fibsem-0.5.2rc2/fibsem/applications/autolamella/ui/autolamella_global_task_editor_dialog.py +328 -0
  56. fibsem-0.5.2rc2/fibsem/applications/autolamella/ui/autolamella_lamella_protocol_editor.py +1234 -0
  57. fibsem-0.5.2rc2/fibsem/applications/autolamella/ui/autolamella_load_experiment_widget.py +808 -0
  58. fibsem-0.5.2rc2/fibsem/applications/autolamella/ui/autolamella_load_task_protocol_widget.py +446 -0
  59. fibsem-0.5.2rc2/fibsem/applications/autolamella/ui/autolamella_overview_image_widget.py +722 -0
  60. fibsem-0.5.2rc2/fibsem/applications/autolamella/ui/autolamella_overview_tab.py +172 -0
  61. fibsem-0.5.2rc2/fibsem/applications/autolamella/ui/autolamella_task_config_editor.py +764 -0
  62. fibsem-0.5.2rc2/fibsem/applications/autolamella/ui/autolamella_task_config_widget.py +373 -0
  63. fibsem-0.5.2rc2/fibsem/applications/autolamella/ui/fluorescence_coincidence_viewer_widget.py +2491 -0
  64. fibsem-0.5.2rc2/fibsem/applications/autolamella/ui/lamella_card_widget.py +636 -0
  65. fibsem-0.5.2rc2/fibsem/applications/autolamella/ui/lamella_default_config_widget.py +456 -0
  66. fibsem-0.5.2rc2/fibsem/applications/autolamella/ui/lamella_list_widget.py +476 -0
  67. fibsem-0.5.2rc2/fibsem/applications/autolamella/ui/lamella_name_list_widget.py +464 -0
  68. fibsem-0.5.2rc2/fibsem/applications/autolamella/ui/lamella_pose_list_widget.py +204 -0
  69. fibsem-0.5.2rc2/fibsem/applications/autolamella/ui/lamella_task_image_widget.py +450 -0
  70. fibsem-0.5.2rc2/fibsem/applications/autolamella/ui/lamella_workflow_widget.py +366 -0
  71. fibsem-0.5.2rc2/fibsem/applications/autolamella/ui/overview_container_tab.py +486 -0
  72. fibsem-0.5.2rc2/fibsem/applications/autolamella/ui/overview_tab_base.py +439 -0
  73. fibsem-0.5.2rc2/fibsem/applications/autolamella/ui/run_ui.py +8 -0
  74. fibsem-0.5.2rc2/fibsem/applications/autolamella/ui/selected_lamella_widget.py +199 -0
  75. fibsem-0.5.2rc2/fibsem/applications/autolamella/ui/task_history_table_widget.py +165 -0
  76. fibsem-0.5.2rc2/fibsem/applications/autolamella/ui/tests/test-lamella-card.py +144 -0
  77. fibsem-0.5.2rc2/fibsem/applications/autolamella/ui/tests/test-lamella-list.py +165 -0
  78. fibsem-0.5.2rc2/fibsem/applications/autolamella/ui/tests/test-lamella-workflow.py +198 -0
  79. fibsem-0.5.2rc2/fibsem/applications/autolamella/ui/tests/test-selected-lamella.py +135 -0
  80. fibsem-0.5.2rc2/fibsem/applications/autolamella/ui/tests/test-workflow-config.py +199 -0
  81. fibsem-0.5.2rc2/fibsem/applications/autolamella/ui/tests/test_coincidence_viewer_canvas.py +450 -0
  82. fibsem-0.5.2rc2/fibsem/applications/autolamella/ui/tests/test_confirm_run_workflow_dialog.py +65 -0
  83. fibsem-0.5.2rc2/fibsem/applications/autolamella/ui/tests/test_lamella_default_config_widget.py +283 -0
  84. fibsem-0.5.2rc2/fibsem/applications/autolamella/ui/tests/test_lamella_name_list_widget.py +59 -0
  85. fibsem-0.5.2rc2/fibsem/applications/autolamella/ui/tests/test_lamella_protocol_editor_canvas.py +470 -0
  86. fibsem-0.5.2rc2/fibsem/applications/autolamella/ui/tests/test_lamella_task_image_widget.py +131 -0
  87. fibsem-0.5.2rc2/fibsem/applications/autolamella/ui/tests/test_workflow_task_editor_widget.py +120 -0
  88. fibsem-0.5.2rc2/fibsem/applications/autolamella/ui/tests/test_workflow_timeline_animation.py +222 -0
  89. fibsem-0.5.2rc2/fibsem/applications/autolamella/ui/workflow_config_widget.py +474 -0
  90. fibsem-0.5.2rc2/fibsem/applications/autolamella/ui/workflow_info_widget.py +139 -0
  91. fibsem-0.5.2rc2/fibsem/applications/autolamella/ui/workflow_preflight_dialog.py +309 -0
  92. fibsem-0.5.2rc2/fibsem/applications/autolamella/ui/workflow_task_editor_widget.py +367 -0
  93. fibsem-0.5.2rc2/fibsem/applications/autolamella/ui/workflow_timeline_widget.py +1352 -0
  94. fibsem-0.5.2rc2/fibsem/applications/autolamella/workflows/_default_milling_config.py +124 -0
  95. fibsem-0.5.2rc2/fibsem/applications/autolamella/workflows/core.py +151 -0
  96. fibsem-0.5.2rc2/fibsem/applications/autolamella/workflows/tasks/__init__.py +189 -0
  97. fibsem-0.5.2rc2/fibsem/applications/autolamella/workflows/tasks/acquire_fluorescence.py +289 -0
  98. fibsem-0.5.2rc2/fibsem/applications/autolamella/workflows/tasks/base.py +848 -0
  99. fibsem-0.5.2rc2/fibsem/applications/autolamella/workflows/tasks/fiducial.py +135 -0
  100. fibsem-0.5.2rc2/fibsem/applications/autolamella/workflows/tasks/grid_tasks.py +320 -0
  101. fibsem-0.5.2rc2/fibsem/applications/autolamella/workflows/tasks/manager.py +651 -0
  102. fibsem-0.5.2rc2/fibsem/applications/autolamella/workflows/tasks/mill_coincident.py +290 -0
  103. fibsem-0.5.2rc2/fibsem/applications/autolamella/workflows/tasks/polishing.py +75 -0
  104. fibsem-0.5.2rc2/fibsem/applications/autolamella/workflows/tasks/queue.py +347 -0
  105. fibsem-0.5.2rc2/fibsem/applications/autolamella/workflows/tasks/reference_image.py +68 -0
  106. fibsem-0.5.2rc2/fibsem/applications/autolamella/workflows/tasks/rough.py +128 -0
  107. fibsem-0.5.2rc2/fibsem/applications/autolamella/workflows/tasks/select_fluorescence_position.py +105 -0
  108. fibsem-0.5.2rc2/fibsem/applications/autolamella/workflows/tasks/select_position.py +143 -0
  109. fibsem-0.5.2rc2/fibsem/applications/autolamella/workflows/tasks/spot_burn.py +229 -0
  110. fibsem-0.5.2rc2/fibsem/applications/autolamella/workflows/tasks/tasks.py +105 -0
  111. fibsem-0.5.2rc2/fibsem/applications/autolamella/workflows/tasks/trench.py +97 -0
  112. fibsem-0.5.2rc2/fibsem/applications/autolamella/workflows/tasks/undercut.py +158 -0
  113. fibsem-0.5.2rc2/fibsem/applications/autolamella/workflows/ui.py +275 -0
  114. fibsem-0.5.2rc2/fibsem/applications/autolamella/workflows/workflow_estimate.py +398 -0
  115. fibsem-0.5.2rc2/fibsem/autofunctions/__init__.py +80 -0
  116. fibsem-0.5.2rc2/fibsem/autofunctions/acb.py +256 -0
  117. fibsem-0.5.2rc2/fibsem/autofunctions/autofocus.py +496 -0
  118. fibsem-0.5.2rc2/fibsem/autofunctions/charge_neutralisation.py +50 -0
  119. fibsem-0.5.2rc2/fibsem/autofunctions/gamma.py +153 -0
  120. fibsem-0.5.2rc2/fibsem/autofunctions/integration.py +215 -0
  121. fibsem-0.5.2rc2/fibsem/autofunctions/metrics.py +215 -0
  122. fibsem-0.5.2rc2/fibsem/autofunctions/plotting.py +227 -0
  123. fibsem-0.5.2rc2/fibsem/autofunctions/stacking.py +218 -0
  124. fibsem-0.5.2rc2/fibsem/calibration.py +181 -0
  125. fibsem-0.5.2rc2/fibsem/cancellation.py +58 -0
  126. fibsem-0.5.2rc2/fibsem/chat/main.py +59 -0
  127. fibsem-0.5.2rc2/fibsem/cli.py +924 -0
  128. fibsem-0.5.2rc2/fibsem/config/microscope-configuration.yaml +65 -0
  129. fibsem-0.5.2rc2/fibsem/config/odemis-configuration.yaml +61 -0
  130. fibsem-0.5.2rc2/fibsem/config/sim-arctis-configuration.yaml +67 -0
  131. fibsem-0.5.2rc2/fibsem/config/tescan-configuration.yaml +62 -0
  132. fibsem-0.5.2rc2/fibsem/config/tfs-aquilos2-configuration.yaml +61 -0
  133. fibsem-0.5.2rc2/fibsem/config/tfs-arctis-configuration.yaml +61 -0
  134. fibsem-0.5.2rc2/fibsem/config/tfs-hydra-configuration.yaml +61 -0
  135. fibsem-0.5.2rc2/fibsem/config.py +765 -0
  136. fibsem-0.5.2rc2/fibsem/configuration.py +143 -0
  137. fibsem-0.5.2rc2/fibsem/constants.py +55 -0
  138. fibsem-0.5.2rc2/fibsem/conversions.py +287 -0
  139. fibsem-0.5.2rc2/fibsem/correlation/config.py +125 -0
  140. fibsem-0.5.2rc2/fibsem/correlation/correlation_v2.py +497 -0
  141. fibsem-0.5.2rc2/fibsem/correlation/fit_diagnostics.py +166 -0
  142. fibsem-0.5.2rc2/fibsem/correlation/history.py +75 -0
  143. fibsem-0.5.2rc2/fibsem/correlation/io.py +452 -0
  144. fibsem-0.5.2rc2/fibsem/correlation/pyto/affine.py +1084 -0
  145. fibsem-0.5.2rc2/fibsem/correlation/pyto/affine_2d.py +767 -0
  146. fibsem-0.5.2rc2/fibsem/correlation/pyto/points.py +78 -0
  147. fibsem-0.5.2rc2/fibsem/correlation/pyto/rigid_3d.py +1599 -0
  148. fibsem-0.5.2rc2/fibsem/correlation/pyto/test/test_affine.py +369 -0
  149. fibsem-0.5.2rc2/fibsem/correlation/pyto/test/test_affine_2d.py +548 -0
  150. fibsem-0.5.2rc2/fibsem/correlation/pyto/test/test_rigid_3d.py +1287 -0
  151. fibsem-0.5.2rc2/fibsem/correlation/structures.py +702 -0
  152. fibsem-0.5.2rc2/fibsem/correlation/test_correlation_v2.py +105 -0
  153. fibsem-0.5.2rc2/fibsem/correlation/tests/eval_lut_precision.py +105 -0
  154. fibsem-0.5.2rc2/fibsem/correlation/util.py +1055 -0
  155. fibsem-0.5.2rc2/fibsem/detection/detection.py +1573 -0
  156. fibsem-0.5.2rc2/fibsem/detection/evaluation.py +422 -0
  157. fibsem-0.5.2rc2/fibsem/detection/run_evaluation.py +53 -0
  158. fibsem-0.5.2rc2/fibsem/detection/utils.py +157 -0
  159. fibsem-0.5.2rc2/fibsem/fm/__init__.py +20 -0
  160. fibsem-0.5.2rc2/fibsem/fm/acquisition.py +1767 -0
  161. fibsem-0.5.2rc2/fibsem/fm/autoscript.py +789 -0
  162. fibsem-0.5.2rc2/fibsem/fm/calibration/__init__.py +400 -0
  163. fibsem-0.5.2rc2/fibsem/fm/composite.py +176 -0
  164. fibsem-0.5.2rc2/fibsem/fm/config.py +110 -0
  165. fibsem-0.5.2rc2/fibsem/fm/microscope.py +1318 -0
  166. fibsem-0.5.2rc2/fibsem/fm/odemis.py +950 -0
  167. fibsem-0.5.2rc2/fibsem/fm/planning.py +249 -0
  168. fibsem-0.5.2rc2/fibsem/fm/preview.py +56 -0
  169. fibsem-0.5.2rc2/fibsem/fm/progress.py +115 -0
  170. fibsem-0.5.2rc2/fibsem/fm/reprojection.py +219 -0
  171. fibsem-0.5.2rc2/fibsem/fm/structures.py +1768 -0
  172. fibsem-0.5.2rc2/fibsem/fm/timing.py +367 -0
  173. fibsem-0.5.2rc2/fibsem/guided_setup.py +735 -0
  174. fibsem-0.5.2rc2/fibsem/hooks.py +643 -0
  175. fibsem-0.5.2rc2/fibsem/imaging/__init__.py +5 -0
  176. fibsem-0.5.2rc2/fibsem/imaging/drawing.py +360 -0
  177. fibsem-0.5.2rc2/fibsem/imaging/masks.py +258 -0
  178. fibsem-0.5.2rc2/fibsem/imaging/reduce.py +239 -0
  179. fibsem-0.5.2rc2/fibsem/imaging/spot.py +131 -0
  180. fibsem-0.5.2rc2/fibsem/imaging/tests/test_drawing_widget.py +91 -0
  181. fibsem-0.5.2rc2/fibsem/imaging/tests/test_tile_order_strategies.py +41 -0
  182. fibsem-0.5.2rc2/fibsem/imaging/tiled.py +682 -0
  183. fibsem-0.5.2rc2/fibsem/imaging/tiling/__init__.py +45 -0
  184. fibsem-0.5.2rc2/fibsem/imaging/tiling/geometry.py +539 -0
  185. fibsem-0.5.2rc2/fibsem/imaging/tiling/plotting.py +384 -0
  186. fibsem-0.5.2rc2/fibsem/imaging/tiling/progress.py +184 -0
  187. fibsem-0.5.2rc2/fibsem/imaging/tiling/reprojection.py +599 -0
  188. fibsem-0.5.2rc2/fibsem/imaging/transforms.py +75 -0
  189. fibsem-0.5.2rc2/fibsem/imaging/utils.py +90 -0
  190. fibsem-0.5.2rc2/fibsem/manufacturers.py +58 -0
  191. fibsem-0.5.2rc2/fibsem/microscope.py +4986 -0
  192. fibsem-0.5.2rc2/fibsem/microscopes/_stage.py +356 -0
  193. fibsem-0.5.2rc2/fibsem/microscopes/autoscript.py +421 -0
  194. fibsem-0.5.2rc2/fibsem/microscopes/odemis_microscope.py +1011 -0
  195. fibsem-0.5.2rc2/fibsem/microscopes/simulator.py +1751 -0
  196. fibsem-0.5.2rc2/fibsem/microscopes/tescan.py +2533 -0
  197. fibsem-0.5.2rc2/fibsem/microscopes/zeiss.py +7 -0
  198. fibsem-0.5.2rc2/fibsem/milling/__init__.py +19 -0
  199. fibsem-0.5.2rc2/fibsem/milling/base.py +427 -0
  200. fibsem-0.5.2rc2/fibsem/milling/core.py +85 -0
  201. fibsem-0.5.2rc2/fibsem/milling/patterning/__init__.py +199 -0
  202. fibsem-0.5.2rc2/fibsem/milling/patterning/patterns2.py +2068 -0
  203. fibsem-0.5.2rc2/fibsem/milling/patterning/plotting.py +1095 -0
  204. fibsem-0.5.2rc2/fibsem/milling/patterning/utils.py +253 -0
  205. fibsem-0.5.2rc2/fibsem/milling/properties.py +75 -0
  206. fibsem-0.5.2rc2/fibsem/milling/strategy/__init__.py +56 -0
  207. fibsem-0.5.2rc2/fibsem/milling/strategy/coincidence.py +746 -0
  208. fibsem-0.5.2rc2/fibsem/milling/strategy/overtilt.py +204 -0
  209. fibsem-0.5.2rc2/fibsem/milling/strategy/standard.py +64 -0
  210. fibsem-0.5.2rc2/fibsem/milling/tasks.py +453 -0
  211. fibsem-0.5.2rc2/fibsem/plugins/__init__.py +15 -0
  212. fibsem-0.5.2rc2/fibsem/plugins/loader.py +236 -0
  213. fibsem-0.5.2rc2/fibsem/plugins/report.py +557 -0
  214. fibsem-0.5.2rc2/fibsem/projection.py +426 -0
  215. fibsem-0.5.2rc2/fibsem/scripting.py +202 -0
  216. fibsem-0.5.2rc2/fibsem/segmentation/_nnunet.py +364 -0
  217. fibsem-0.5.2rc2/fibsem/segmentation/adaptive_model.py +46 -0
  218. fibsem-0.5.2rc2/fibsem/segmentation/config.py +35 -0
  219. fibsem-0.5.2rc2/fibsem/segmentation/dataset.py +264 -0
  220. fibsem-0.5.2rc2/fibsem/segmentation/hf_segmentation_model.py +76 -0
  221. fibsem-0.5.2rc2/fibsem/segmentation/inference.py +108 -0
  222. fibsem-0.5.2rc2/fibsem/segmentation/model.py +232 -0
  223. fibsem-0.5.2rc2/fibsem/segmentation/nnunet_model.py +84 -0
  224. fibsem-0.5.2rc2/fibsem/segmentation/nnunet_model_v2.py +79 -0
  225. fibsem-0.5.2rc2/fibsem/segmentation/onnx_model.py +439 -0
  226. fibsem-0.5.2rc2/fibsem/segmentation/sam_model.py +66 -0
  227. fibsem-0.5.2rc2/fibsem/segmentation/train.py +305 -0
  228. fibsem-0.5.2rc2/fibsem/segmentation/utils.py +422 -0
  229. fibsem-0.5.2rc2/fibsem/server/__init__.py +4 -0
  230. fibsem-0.5.2rc2/fibsem/server/client.py +335 -0
  231. fibsem-0.5.2rc2/fibsem/server/models.py +132 -0
  232. fibsem-0.5.2rc2/fibsem/server/server.py +495 -0
  233. fibsem-0.5.2rc2/fibsem/structures.py +3667 -0
  234. fibsem-0.5.2rc2/fibsem/timing.py +205 -0
  235. fibsem-0.5.2rc2/fibsem/tools/_parser.py +73 -0
  236. fibsem-0.5.2rc2/fibsem/tools/beam_shift_alignment_test.py +66 -0
  237. fibsem-0.5.2rc2/fibsem/tools/bug_report.py +361 -0
  238. fibsem-0.5.2rc2/fibsem/tools/run_manipulator_calibration.py +37 -0
  239. fibsem-0.5.2rc2/fibsem/tools/run_split_dataset.py +59 -0
  240. fibsem-0.5.2rc2/fibsem/tools/telemetry.py +139 -0
  241. fibsem-0.5.2rc2/fibsem/transformations.py +275 -0
  242. fibsem-0.5.2rc2/fibsem/ui/FibsemCryoDepositionWidget.py +142 -0
  243. fibsem-0.5.2rc2/fibsem/ui/FibsemEmbeddedDetectionWidget.py +273 -0
  244. fibsem-0.5.2rc2/fibsem/ui/FibsemImageSettingsWidget.py +699 -0
  245. fibsem-0.5.2rc2/fibsem/ui/FibsemLabellingUI.py +768 -0
  246. fibsem-0.5.2rc2/fibsem/ui/FibsemManipulatorWidget.py +313 -0
  247. fibsem-0.5.2rc2/fibsem/ui/FibsemMinimapWidget.py +1756 -0
  248. fibsem-0.5.2rc2/fibsem/ui/FibsemMovementWidget.py +702 -0
  249. fibsem-0.5.2rc2/fibsem/ui/FibsemSegmentationModelWidget.py +159 -0
  250. fibsem-0.5.2rc2/fibsem/ui/FibsemSpotBurnWidget.py +439 -0
  251. fibsem-0.5.2rc2/fibsem/ui/FibsemSystemSetupWidget.py +551 -0
  252. fibsem-0.5.2rc2/fibsem/ui/FibsemUI.py +311 -0
  253. fibsem-0.5.2rc2/fibsem/ui/__init__.py +20 -0
  254. fibsem-0.5.2rc2/fibsem/ui/correlation/widgets/coordinate_list_widget.py +617 -0
  255. fibsem-0.5.2rc2/fibsem/ui/correlation/widgets/correlation_canvas_widget.py +171 -0
  256. fibsem-0.5.2rc2/fibsem/ui/correlation/widgets/correlation_fm_canvas_widget.py +173 -0
  257. fibsem-0.5.2rc2/fibsem/ui/correlation/widgets/correlation_picking.py +211 -0
  258. fibsem-0.5.2rc2/fibsem/ui/correlation/widgets/correlation_point_overlay.py +665 -0
  259. fibsem-0.5.2rc2/fibsem/ui/correlation/widgets/correlation_setup_section.py +328 -0
  260. fibsem-0.5.2rc2/fibsem/ui/correlation/widgets/correlation_tab_widget.py +3727 -0
  261. fibsem-0.5.2rc2/fibsem/ui/correlation/widgets/fit_confirmation_dialog.py +318 -0
  262. fibsem-0.5.2rc2/fibsem/ui/correlation/widgets/fm_interpolate_dialog.py +192 -0
  263. fibsem-0.5.2rc2/fibsem/ui/correlation/widgets/refractive_index_widget.py +376 -0
  264. fibsem-0.5.2rc2/fibsem/ui/correlation/widgets/test_correlation_canvas_demo.py +217 -0
  265. fibsem-0.5.2rc2/fibsem/ui/correlation/widgets/test_correlation_fm_canvas_demo.py +251 -0
  266. fibsem-0.5.2rc2/fibsem/ui/correlation/widgets/test_correlation_setup_section.py +191 -0
  267. fibsem-0.5.2rc2/fibsem/ui/correlation/widgets/test_correlation_tab_widget.py +60 -0
  268. fibsem-0.5.2rc2/fibsem/ui/fm/overview_app.py +124 -0
  269. fibsem-0.5.2rc2/fibsem/ui/fm/sparse_selection_app.py +118 -0
  270. fibsem-0.5.2rc2/fibsem/ui/fm/widgets/__init__.py +50 -0
  271. fibsem-0.5.2rc2/fibsem/ui/fm/widgets/autofocus_widget.py +394 -0
  272. fibsem-0.5.2rc2/fibsem/ui/fm/widgets/autofocus_widget_demo.py +77 -0
  273. fibsem-0.5.2rc2/fibsem/ui/fm/widgets/camera_widget.py +216 -0
  274. fibsem-0.5.2rc2/fibsem/ui/fm/widgets/channel_list_widget.py +1079 -0
  275. fibsem-0.5.2rc2/fibsem/ui/fm/widgets/channel_settings_widget.py +248 -0
  276. fibsem-0.5.2rc2/fibsem/ui/fm/widgets/fm_image_viewer_widget.py +226 -0
  277. fibsem-0.5.2rc2/fibsem/ui/fm/widgets/fm_multi_channel_widget.py +179 -0
  278. fibsem-0.5.2rc2/fibsem/ui/fm/widgets/fm_overview_confirmation_dialog.py +210 -0
  279. fibsem-0.5.2rc2/fibsem/ui/fm/widgets/fm_overview_settings_widget.py +485 -0
  280. fibsem-0.5.2rc2/fibsem/ui/fm/widgets/fm_overview_widget.py +2978 -0
  281. fibsem-0.5.2rc2/fibsem/ui/fm/widgets/fm_region_selector.py +455 -0
  282. fibsem-0.5.2rc2/fibsem/ui/fm/widgets/fm_sparse_selection_dialog.py +368 -0
  283. fibsem-0.5.2rc2/fibsem/ui/fm/widgets/fm_tile_preview.py +364 -0
  284. fibsem-0.5.2rc2/fibsem/ui/fm/widgets/histogram_widget.py +294 -0
  285. fibsem-0.5.2rc2/fibsem/ui/fm/widgets/line_plot_widget.py +735 -0
  286. fibsem-0.5.2rc2/fibsem/ui/fm/widgets/load_image_dialog.py +242 -0
  287. fibsem-0.5.2rc2/fibsem/ui/fm/widgets/minimap_plot_widget.py +1272 -0
  288. fibsem-0.5.2rc2/fibsem/ui/fm/widgets/objective_control_widget.py +879 -0
  289. fibsem-0.5.2rc2/fibsem/ui/fm/widgets/test_line_plot.py +38 -0
  290. fibsem-0.5.2rc2/fibsem/ui/fm/widgets/z_parameters_widget.py +193 -0
  291. fibsem-0.5.2rc2/fibsem/ui/icon.py +114 -0
  292. fibsem-0.5.2rc2/fibsem/ui/napari/patterns.py +706 -0
  293. fibsem-0.5.2rc2/fibsem/ui/napari/properties.py +67 -0
  294. fibsem-0.5.2rc2/fibsem/ui/napari/utilities.py +255 -0
  295. fibsem-0.5.2rc2/fibsem/ui/napari_style.py +432 -0
  296. fibsem-0.5.2rc2/fibsem/ui/notification_service.py +46 -0
  297. fibsem-0.5.2rc2/fibsem/ui/qt/__init__.py +1 -0
  298. fibsem-0.5.2rc2/fibsem/ui/qt/gc.py +111 -0
  299. fibsem-0.5.2rc2/fibsem/ui/qt/threading.py +132 -0
  300. fibsem-0.5.2rc2/fibsem/ui/stylesheets.py +507 -0
  301. fibsem-0.5.2rc2/fibsem/ui/tokens.py +159 -0
  302. fibsem-0.5.2rc2/fibsem/ui/utils.py +428 -0
  303. fibsem-0.5.2rc2/fibsem/ui/widgets/about_dialog.py +459 -0
  304. fibsem-0.5.2rc2/fibsem/ui/widgets/angle_measure.py +234 -0
  305. fibsem-0.5.2rc2/fibsem/ui/widgets/beam_settings_widget.py +672 -0
  306. fibsem-0.5.2rc2/fibsem/ui/widgets/beam_widget.py +183 -0
  307. fibsem-0.5.2rc2/fibsem/ui/widgets/bug_report_widget.py +286 -0
  308. fibsem-0.5.2rc2/fibsem/ui/widgets/canvas/__init__.py +71 -0
  309. fibsem-0.5.2rc2/fibsem/ui/widgets/canvas/canvas_base.py +1401 -0
  310. fibsem-0.5.2rc2/fibsem/ui/widgets/canvas/canvas_state.py +117 -0
  311. fibsem-0.5.2rc2/fibsem/ui/widgets/canvas/contrast_gamma_control.py +167 -0
  312. fibsem-0.5.2rc2/fibsem/ui/widgets/canvas/fm_canvas.py +1237 -0
  313. fibsem-0.5.2rc2/fibsem/ui/widgets/canvas/fm_composite.py +32 -0
  314. fibsem-0.5.2rc2/fibsem/ui/widgets/canvas/image_canvas.py +150 -0
  315. fibsem-0.5.2rc2/fibsem/ui/widgets/canvas/overlay_controls.py +140 -0
  316. fibsem-0.5.2rc2/fibsem/ui/widgets/canvas/overlays/__init__.py +42 -0
  317. fibsem-0.5.2rc2/fibsem/ui/widgets/canvas/overlays/alignment_overlay.py +123 -0
  318. fibsem-0.5.2rc2/fibsem/ui/widgets/canvas/overlays/base.py +52 -0
  319. fibsem-0.5.2rc2/fibsem/ui/widgets/canvas/overlays/gridbar_overlay.py +211 -0
  320. fibsem-0.5.2rc2/fibsem/ui/widgets/canvas/overlays/mask_overlay.py +138 -0
  321. fibsem-0.5.2rc2/fibsem/ui/widgets/canvas/overlays/milling_overlay.py +255 -0
  322. fibsem-0.5.2rc2/fibsem/ui/widgets/canvas/overlays/minimap_overlays.py +209 -0
  323. fibsem-0.5.2rc2/fibsem/ui/widgets/canvas/overlays/pattern_overlay.py +216 -0
  324. fibsem-0.5.2rc2/fibsem/ui/widgets/canvas/overlays/point_overlay.py +928 -0
  325. fibsem-0.5.2rc2/fibsem/ui/widgets/canvas/overlays/rect_overlay.py +371 -0
  326. fibsem-0.5.2rc2/fibsem/ui/widgets/canvas/overlays/ruler_overlay.py +295 -0
  327. fibsem-0.5.2rc2/fibsem/ui/widgets/canvas/overlays/stage_context.py +308 -0
  328. fibsem-0.5.2rc2/fibsem/ui/widgets/canvas/overlays/tile_grid_options_panel.py +181 -0
  329. fibsem-0.5.2rc2/fibsem/ui/widgets/canvas/overlays/tile_grid_overlay.py +1091 -0
  330. fibsem-0.5.2rc2/fibsem/ui/widgets/canvas/quad_view.py +925 -0
  331. fibsem-0.5.2rc2/fibsem/ui/widgets/canvas/real_space_canvas.py +1025 -0
  332. fibsem-0.5.2rc2/fibsem/ui/widgets/canvas/stage_frame.py +96 -0
  333. fibsem-0.5.2rc2/fibsem/ui/widgets/coincidence_milling_confirmation_dialog.py +266 -0
  334. fibsem-0.5.2rc2/fibsem/ui/widgets/connection_dialog.py +608 -0
  335. fibsem-0.5.2rc2/fibsem/ui/widgets/custom_widgets.py +940 -0
  336. fibsem-0.5.2rc2/fibsem/ui/widgets/dataframe_table_widget.py +188 -0
  337. fibsem-0.5.2rc2/fibsem/ui/widgets/detector_settings_widget.py +299 -0
  338. fibsem-0.5.2rc2/fibsem/ui/widgets/dual_beam_widget.py +278 -0
  339. fibsem-0.5.2rc2/fibsem/ui/widgets/fibsem_image_flow_widget.py +207 -0
  340. fibsem-0.5.2rc2/fibsem/ui/widgets/fibsem_overview_settings_widget.py +404 -0
  341. fibsem-0.5.2rc2/fibsem/ui/widgets/fluorescence_control_widget.py +1245 -0
  342. fibsem-0.5.2rc2/fibsem/ui/widgets/form_builder.py +450 -0
  343. fibsem-0.5.2rc2/fibsem/ui/widgets/guided_setup_dialog.py +1875 -0
  344. fibsem-0.5.2rc2/fibsem/ui/widgets/hook_config_widget.py +463 -0
  345. fibsem-0.5.2rc2/fibsem/ui/widgets/image_settings_widget.py +529 -0
  346. fibsem-0.5.2rc2/fibsem/ui/widgets/microscope_config_widget.py +619 -0
  347. fibsem-0.5.2rc2/fibsem/ui/widgets/milling_alignment_widget.py +210 -0
  348. fibsem-0.5.2rc2/fibsem/ui/widgets/milling_settings_widget.py +153 -0
  349. fibsem-0.5.2rc2/fibsem/ui/widgets/milling_stage_list_widget.py +734 -0
  350. fibsem-0.5.2rc2/fibsem/ui/widgets/milling_stages_widget.py +277 -0
  351. fibsem-0.5.2rc2/fibsem/ui/widgets/milling_task_acquisition_settings_widget.py +186 -0
  352. fibsem-0.5.2rc2/fibsem/ui/widgets/milling_task_config_widget2.py +298 -0
  353. fibsem-0.5.2rc2/fibsem/ui/widgets/milling_task_viewer_widget.py +489 -0
  354. fibsem-0.5.2rc2/fibsem/ui/widgets/milling_widget.py +255 -0
  355. fibsem-0.5.2rc2/fibsem/ui/widgets/notifications.py +572 -0
  356. fibsem-0.5.2rc2/fibsem/ui/widgets/overview_acquisition_settings_widget.py +498 -0
  357. fibsem-0.5.2rc2/fibsem/ui/widgets/overview_confirmation_dialog.py +149 -0
  358. fibsem-0.5.2rc2/fibsem/ui/widgets/overview_grid_settings_widget.py +307 -0
  359. fibsem-0.5.2rc2/fibsem/ui/widgets/overview_list_widget.py +226 -0
  360. fibsem-0.5.2rc2/fibsem/ui/widgets/overview_widget.py +3210 -0
  361. fibsem-0.5.2rc2/fibsem/ui/widgets/pattern_settings_widget.py +195 -0
  362. fibsem-0.5.2rc2/fibsem/ui/widgets/plugins_dialog.py +501 -0
  363. fibsem-0.5.2rc2/fibsem/ui/widgets/preferences_dialog.py +342 -0
  364. fibsem-0.5.2rc2/fibsem/ui/widgets/preflight.py +381 -0
  365. fibsem-0.5.2rc2/fibsem/ui/widgets/profile_line.py +231 -0
  366. fibsem-0.5.2rc2/fibsem/ui/widgets/progress_widget.py +266 -0
  367. fibsem-0.5.2rc2/fibsem/ui/widgets/reference_image_parameters_widget.py +345 -0
  368. fibsem-0.5.2rc2/fibsem/ui/widgets/sample_holder_widget.py +523 -0
  369. fibsem-0.5.2rc2/fibsem/ui/widgets/saved_position_widget.py +377 -0
  370. fibsem-0.5.2rc2/fibsem/ui/widgets/script_manager_dialog.py +628 -0
  371. fibsem-0.5.2rc2/fibsem/ui/widgets/script_menu.py +83 -0
  372. fibsem-0.5.2rc2/fibsem/ui/widgets/script_runner.py +334 -0
  373. fibsem-0.5.2rc2/fibsem/ui/widgets/spot_burn_coordinates_widget.py +342 -0
  374. fibsem-0.5.2rc2/fibsem/ui/widgets/strategy_settings_widget.py +210 -0
  375. fibsem-0.5.2rc2/fibsem/ui/widgets/task_summary_formatting.py +116 -0
  376. fibsem-0.5.2rc2/fibsem/ui/widgets/tests/test-icon-tool-button.py +175 -0
  377. fibsem-0.5.2rc2/fibsem/ui/widgets/tests/test-image-settings-widget.py +113 -0
  378. fibsem-0.5.2rc2/fibsem/ui/widgets/tests/test-progress-bar.py +56 -0
  379. fibsem-0.5.2rc2/fibsem/ui/widgets/tests/test-spinner-icon.py +113 -0
  380. fibsem-0.5.2rc2/fibsem/ui/widgets/tests/test_active_overlay_mode.py +62 -0
  381. fibsem-0.5.2rc2/fibsem/ui/widgets/tests/test_alignment_overlay.py +77 -0
  382. fibsem-0.5.2rc2/fibsem/ui/widgets/tests/test_canvas_modifiers.py +135 -0
  383. fibsem-0.5.2rc2/fibsem/ui/widgets/tests/test_canvas_overlay_reducer.py +496 -0
  384. fibsem-0.5.2rc2/fibsem/ui/widgets/tests/test_canvas_pixel_size.py +93 -0
  385. fibsem-0.5.2rc2/fibsem/ui/widgets/tests/test_canvas_preserve_zoom.py +88 -0
  386. fibsem-0.5.2rc2/fibsem/ui/widgets/tests/test_coincidence_milling_confirmation_dialog.py +241 -0
  387. fibsem-0.5.2rc2/fibsem/ui/widgets/tests/test_countdown_progress.py +165 -0
  388. fibsem-0.5.2rc2/fibsem/ui/widgets/tests/test_detection_overlay.py +100 -0
  389. fibsem-0.5.2rc2/fibsem/ui/widgets/tests/test_empty_canvas_clicks.py +68 -0
  390. fibsem-0.5.2rc2/fibsem/ui/widgets/tests/test_fm_canvas.py +79 -0
  391. fibsem-0.5.2rc2/fibsem/ui/widgets/tests/test_fm_z_slider.py +137 -0
  392. fibsem-0.5.2rc2/fibsem/ui/widgets/tests/test_hooks_manual.py +173 -0
  393. fibsem-0.5.2rc2/fibsem/ui/widgets/tests/test_milling_overlay.py +102 -0
  394. fibsem-0.5.2rc2/fibsem/ui/widgets/tests/test_milling_task_config_widget2.py +139 -0
  395. fibsem-0.5.2rc2/fibsem/ui/widgets/tests/test_milling_task_viewer_widget.py +179 -0
  396. fibsem-0.5.2rc2/fibsem/ui/widgets/tests/test_point_overlay_legend.py +64 -0
  397. fibsem-0.5.2rc2/fibsem/ui/widgets/tests/test_progress_widget.py +202 -0
  398. fibsem-0.5.2rc2/fibsem/ui/widgets/tests/test_quad_view.py +44 -0
  399. fibsem-0.5.2rc2/fibsem/ui/widgets/tests/test_radial_ruler_demo.py +257 -0
  400. fibsem-0.5.2rc2/fibsem/ui/widgets/tests/test_real_space_canvas_demo.py +231 -0
  401. fibsem-0.5.2rc2/fibsem/ui/widgets/tests/test_ruler_overlay.py +229 -0
  402. fibsem-0.5.2rc2/fibsem/ui/widgets/tests/test_spot_burn_coordinates_widget.py +391 -0
  403. fibsem-0.5.2rc2/fibsem/ui/widgets/tests/test_toast.py +35 -0
  404. fibsem-0.5.2rc2/fibsem/ui/widgets/tile_mask_widget.py +284 -0
  405. fibsem-0.5.2rc2/fibsem/ui/widgets/tiled_overview_widget.py +380 -0
  406. fibsem-0.5.2rc2/fibsem/ui/widgets/workflow_summary_dialog.py +292 -0
  407. fibsem-0.5.2rc2/fibsem/update_check.py +184 -0
  408. fibsem-0.5.2rc2/fibsem/util/draw_numbers.py +539 -0
  409. fibsem-0.5.2rc2/fibsem/util/filename.py +46 -0
  410. fibsem-0.5.2rc2/fibsem/utils.py +578 -0
  411. fibsem-0.5.2rc2/fibsem/validation.py +332 -0
  412. fibsem-0.5.2rc2/fibsem/versioning.py +193 -0
  413. fibsem-0.5.2rc2/fibsem.egg-info/PKG-INFO +214 -0
  414. fibsem-0.5.2rc2/fibsem.egg-info/SOURCES.txt +851 -0
  415. fibsem-0.5.2rc2/fibsem.egg-info/entry_points.txt +9 -0
  416. fibsem-0.5.2rc2/fibsem.egg-info/requires.txt +71 -0
  417. fibsem-0.5.2rc2/pyproject.toml +225 -0
  418. fibsem-0.5.2rc2/scripts/convert_to_nnunet_dataset.py +45 -0
  419. fibsem-0.5.2rc2/scripts/convert_to_onnx.py +28 -0
  420. fibsem-0.5.2rc2/scripts/export_nnunet_checkpoint.py +120 -0
  421. fibsem-0.5.2rc2/scripts/generate_segmentation_objects.py +31 -0
  422. fibsem-0.5.2rc2/scripts/onnx_pred.py +185 -0
  423. fibsem-0.5.2rc2/scripts/shortcut.py +23 -0
  424. fibsem-0.5.2rc2/scripts/test_acb.py +111 -0
  425. fibsem-0.5.2rc2/scripts/test_autofocus.py +102 -0
  426. fibsem-0.5.2rc2/scripts/test_confirm_buttons.py +427 -0
  427. fibsem-0.5.2rc2/scripts/test_glir_gc_repro.py +178 -0
  428. fibsem-0.5.2rc2/scripts/test_installation.py +70 -0
  429. fibsem-0.5.2rc2/scripts/test_rtm_script.py +93 -0
  430. fibsem-0.5.2rc2/scripts/test_update_indicator.py +157 -0
  431. fibsem-0.5.2rc2/tests/autolamella/test_abort_predicate.py +161 -0
  432. fibsem-0.5.2rc2/tests/autolamella/test_completed_task_accessors.py +105 -0
  433. fibsem-0.5.2rc2/tests/autolamella/test_completion_artifacts.py +383 -0
  434. fibsem-0.5.2rc2/tests/autolamella/test_example_scripts.py +176 -0
  435. fibsem-0.5.2rc2/tests/autolamella/test_experiment_discovery.py +333 -0
  436. fibsem-0.5.2rc2/tests/autolamella/test_experiment_metadata_registration.py +78 -0
  437. fibsem-0.5.2rc2/tests/autolamella/test_experiment_session.py +351 -0
  438. fibsem-0.5.2rc2/tests/autolamella/test_hook_config_loading.py +196 -0
  439. fibsem-0.5.2rc2/tests/autolamella/test_hook_defaults.py +123 -0
  440. fibsem-0.5.2rc2/tests/autolamella/test_hook_run_context.py +155 -0
  441. fibsem-0.5.2rc2/tests/autolamella/test_id_serialisation.py +81 -0
  442. fibsem-0.5.2rc2/tests/autolamella/test_milling_angle.py +63 -0
  443. fibsem-0.5.2rc2/tests/autolamella/test_ml_export.py +534 -0
  444. fibsem-0.5.2rc2/tests/autolamella/test_objective_retract.py +75 -0
  445. fibsem-0.5.2rc2/tests/autolamella/test_poses.py +362 -0
  446. fibsem-0.5.2rc2/tests/autolamella/test_post_task_thumbnail_order.py +142 -0
  447. fibsem-0.5.2rc2/tests/autolamella/test_report_sections.py +99 -0
  448. fibsem-0.5.2rc2/tests/autolamella/test_scheduled_tasks.py +330 -0
  449. fibsem-0.5.2rc2/tests/autolamella/test_scripting.py +208 -0
  450. fibsem-0.5.2rc2/tests/autolamella/test_spot_burn.py +683 -0
  451. fibsem-0.5.2rc2/tests/autolamella/test_spot_burn_autofocus.py +253 -0
  452. fibsem-0.5.2rc2/tests/autolamella/test_status_dict_vocabulary.py +91 -0
  453. fibsem-0.5.2rc2/tests/autolamella/test_stop_task.py +229 -0
  454. fibsem-0.5.2rc2/tests/autolamella/test_structures.py +614 -0
  455. fibsem-0.5.2rc2/tests/autolamella/test_task_duration_estimates.py +302 -0
  456. fibsem-0.5.2rc2/tests/autolamella/test_task_manager_completion_hooks.py +266 -0
  457. fibsem-0.5.2rc2/tests/autolamella/test_task_manager_hooks.py +214 -0
  458. fibsem-0.5.2rc2/tests/autolamella/test_task_manager_status.py +375 -0
  459. fibsem-0.5.2rc2/tests/autolamella/test_task_outcome_recording.py +138 -0
  460. fibsem-0.5.2rc2/tests/autolamella/test_task_outputs.py +287 -0
  461. fibsem-0.5.2rc2/tests/autolamella/test_task_queue.py +425 -0
  462. fibsem-0.5.2rc2/tests/autolamella/test_tasks.py +311 -0
  463. fibsem-0.5.2rc2/tests/autolamella/test_thumbnail_atomic_write.py +167 -0
  464. fibsem-0.5.2rc2/tests/autolamella/test_workflow_context_stamping.py +193 -0
  465. fibsem-0.5.2rc2/tests/autolamella/test_workflow_estimate.py +451 -0
  466. fibsem-0.5.2rc2/tests/autolamella/test_workflow_ui_call_signatures.py +102 -0
  467. fibsem-0.5.2rc2/tests/conftest.py +105 -0
  468. fibsem-0.5.2rc2/tests/correlation/test_config.py +76 -0
  469. fibsem-0.5.2rc2/tests/correlation/test_correlation_canvas_widget.py +316 -0
  470. fibsem-0.5.2rc2/tests/correlation/test_correlation_data_integrity.py +244 -0
  471. fibsem-0.5.2rc2/tests/correlation/test_correlation_fm_canvas_widget.py +206 -0
  472. fibsem-0.5.2rc2/tests/correlation/test_correlation_picking.py +141 -0
  473. fibsem-0.5.2rc2/tests/correlation/test_correlation_point_overlay.py +687 -0
  474. fibsem-0.5.2rc2/tests/correlation/test_correlation_run_folder.py +292 -0
  475. fibsem-0.5.2rc2/tests/correlation/test_correlation_save_plot.py +108 -0
  476. fibsem-0.5.2rc2/tests/correlation/test_correlation_setup_regressions.py +349 -0
  477. fibsem-0.5.2rc2/tests/correlation/test_correlation_setup_section.py +304 -0
  478. fibsem-0.5.2rc2/tests/correlation/test_correlation_tab_widget.py +2427 -0
  479. fibsem-0.5.2rc2/tests/correlation/test_correlation_ui_honesty.py +337 -0
  480. fibsem-0.5.2rc2/tests/correlation/test_default_correction_factor.py +97 -0
  481. fibsem-0.5.2rc2/tests/correlation/test_fit_diagnostics.py +145 -0
  482. fibsem-0.5.2rc2/tests/correlation/test_fit_settings_survive_image_change.py +178 -0
  483. fibsem-0.5.2rc2/tests/correlation/test_history.py +70 -0
  484. fibsem-0.5.2rc2/tests/correlation/test_image_identity.py +287 -0
  485. fibsem-0.5.2rc2/tests/correlation/test_image_picker.py +135 -0
  486. fibsem-0.5.2rc2/tests/correlation/test_interpolation.py +317 -0
  487. fibsem-0.5.2rc2/tests/correlation/test_microscope_coordinate_conversion.py +245 -0
  488. fibsem-0.5.2rc2/tests/correlation/test_pre_correction.py +314 -0
  489. fibsem-0.5.2rc2/tests/correlation/test_refractive_index.py +96 -0
  490. fibsem-0.5.2rc2/tests/correlation/test_ri_tab_input_snapshot.py +164 -0
  491. fibsem-0.5.2rc2/tests/correlation/test_spot_burn_seeding.py +117 -0
  492. fibsem-0.5.2rc2/tests/correlation/test_structures.py +248 -0
  493. fibsem-0.5.2rc2/tests/fixtures/metadata/README.md +58 -0
  494. fibsem-0.5.2rc2/tests/fixtures/metadata/demo_simulator_v4.json +193 -0
  495. fibsem-0.5.2rc2/tests/fixtures/metadata/demo_simulator_v5.json +188 -0
  496. fibsem-0.5.2rc2/tests/fixtures/metadata/extract_fixtures.py +111 -0
  497. fibsem-0.5.2rc2/tests/fixtures/metadata/thermo_aquilos_v3.json +180 -0
  498. fibsem-0.5.2rc2/tests/fixtures/metadata/thermo_arctis_compustage_v3.json +182 -0
  499. fibsem-0.5.2rc2/tests/fixtures/plugin/.gitignore +6 -0
  500. fibsem-0.5.2rc2/tests/fixtures/plugin/fibsem_test_plugin/__init__.py +24 -0
  501. fibsem-0.5.2rc2/tests/fixtures/plugin/fibsem_test_plugin/patterns.py +57 -0
  502. fibsem-0.5.2rc2/tests/fixtures/plugin/fibsem_test_plugin/strategies.py +38 -0
  503. fibsem-0.5.2rc2/tests/fixtures/plugin/fibsem_test_plugin/tasks.py +35 -0
  504. fibsem-0.5.2rc2/tests/fixtures/plugin/pyproject.toml +35 -0
  505. fibsem-0.5.2rc2/tests/fm/_odemis_stubs.py +390 -0
  506. fibsem-0.5.2rc2/tests/fm/conftest.py +16 -0
  507. fibsem-0.5.2rc2/tests/fm/test_acquisition.py +2429 -0
  508. fibsem-0.5.2rc2/tests/fm/test_active_channel.py +412 -0
  509. fibsem-0.5.2rc2/tests/fm/test_autofocus_widget.py +155 -0
  510. fibsem-0.5.2rc2/tests/fm/test_calibration.py +592 -0
  511. fibsem-0.5.2rc2/tests/fm/test_channel_fast_path.py +223 -0
  512. fibsem-0.5.2rc2/tests/fm/test_composite.py +231 -0
  513. fibsem-0.5.2rc2/tests/fm/test_config.py +47 -0
  514. fibsem-0.5.2rc2/tests/fm/test_fm_autofocus.py +291 -0
  515. fibsem-0.5.2rc2/tests/fm/test_fm_contract.py +112 -0
  516. fibsem-0.5.2rc2/tests/fm/test_fm_provenance.py +146 -0
  517. fibsem-0.5.2rc2/tests/fm/test_objective_signal.py +264 -0
  518. fibsem-0.5.2rc2/tests/fm/test_odemis_driver.py +591 -0
  519. fibsem-0.5.2rc2/tests/fm/test_planning.py +430 -0
  520. fibsem-0.5.2rc2/tests/fm/test_preview.py +133 -0
  521. fibsem-0.5.2rc2/tests/fm/test_preview_reduction.py +239 -0
  522. fibsem-0.5.2rc2/tests/fm/test_progress.py +161 -0
  523. fibsem-0.5.2rc2/tests/fm/test_reprojection.py +359 -0
  524. fibsem-0.5.2rc2/tests/fm/test_routines_claim_channel.py +187 -0
  525. fibsem-0.5.2rc2/tests/fm/test_simulated_channel_pairs.py +186 -0
  526. fibsem-0.5.2rc2/tests/fm/test_simulated_shared_channel.py +220 -0
  527. fibsem-0.5.2rc2/tests/fm/test_structures.py +2501 -0
  528. fibsem-0.5.2rc2/tests/milling/test_base.py +85 -0
  529. fibsem-0.5.2rc2/tests/milling/test_coincidence_strategy.py +80 -0
  530. fibsem-0.5.2rc2/tests/milling/test_core.py +40 -0
  531. fibsem-0.5.2rc2/tests/milling/test_pattern_to_image_pixels.py +112 -0
  532. fibsem-0.5.2rc2/tests/milling/test_pattern_utils.py +302 -0
  533. fibsem-0.5.2rc2/tests/milling/test_patterns.py +893 -0
  534. fibsem-0.5.2rc2/tests/milling/test_stop_event.py +228 -0
  535. fibsem-0.5.2rc2/tests/milling/test_tasks.py +240 -0
  536. fibsem-0.5.2rc2/tests/test_acquire.py +27 -0
  537. fibsem-0.5.2rc2/tests/test_acquire_image_api.py +118 -0
  538. fibsem-0.5.2rc2/tests/test_alignment.py +500 -0
  539. fibsem-0.5.2rc2/tests/test_autofocus_mode.py +148 -0
  540. fibsem-0.5.2rc2/tests/test_autofunctions.py +595 -0
  541. fibsem-0.5.2rc2/tests/test_beam_stage_projection.py +618 -0
  542. fibsem-0.5.2rc2/tests/test_border_stylesheet_single_source.py +88 -0
  543. fibsem-0.5.2rc2/tests/test_bug_report.py +169 -0
  544. fibsem-0.5.2rc2/tests/test_cli_connection_args.py +116 -0
  545. fibsem-0.5.2rc2/tests/test_cli_plugins.py +134 -0
  546. fibsem-0.5.2rc2/tests/test_conversions.py +291 -0
  547. fibsem-0.5.2rc2/tests/test_experiment_metadata_identity.py +45 -0
  548. fibsem-0.5.2rc2/tests/test_field_metadata_keys.py +352 -0
  549. fibsem-0.5.2rc2/tests/test_filename_util.py +94 -0
  550. fibsem-0.5.2rc2/tests/test_grid_planning.py +244 -0
  551. fibsem-0.5.2rc2/tests/test_guided_setup.py +594 -0
  552. fibsem-0.5.2rc2/tests/test_hook_context_payload.py +155 -0
  553. fibsem-0.5.2rc2/tests/test_hook_event_groups.py +175 -0
  554. fibsem-0.5.2rc2/tests/test_hooks.py +491 -0
  555. fibsem-0.5.2rc2/tests/test_image_display_filter.py +109 -0
  556. fibsem-0.5.2rc2/tests/test_image_metadata_user.py +83 -0
  557. fibsem-0.5.2rc2/tests/test_image_reduction.py +379 -0
  558. fibsem-0.5.2rc2/tests/test_image_save_paths.py +81 -0
  559. fibsem-0.5.2rc2/tests/test_imaging_channel_lock.py +222 -0
  560. fibsem-0.5.2rc2/tests/test_import_cycles.py +102 -0
  561. fibsem-0.5.2rc2/tests/test_manufacturers.py +244 -0
  562. fibsem-0.5.2rc2/tests/test_metadata_fixtures.py +224 -0
  563. fibsem-0.5.2rc2/tests/test_microscope.py +227 -0
  564. fibsem-0.5.2rc2/tests/test_milling_time_estimates.py +207 -0
  565. fibsem-0.5.2rc2/tests/test_movement.py +131 -0
  566. fibsem-0.5.2rc2/tests/test_movement_widget_vertical_gate.py +112 -0
  567. fibsem-0.5.2rc2/tests/test_no_acquisition_time_gamma.py +113 -0
  568. fibsem-0.5.2rc2/tests/test_plugin_entry_points.py +322 -0
  569. fibsem-0.5.2rc2/tests/test_plugin_loader.py +191 -0
  570. fibsem-0.5.2rc2/tests/test_plugin_report.py +382 -0
  571. fibsem-0.5.2rc2/tests/test_projection_height.py +289 -0
  572. fibsem-0.5.2rc2/tests/test_projection_paths_agree.py +224 -0
  573. fibsem-0.5.2rc2/tests/test_recent_channels.py +157 -0
  574. fibsem-0.5.2rc2/tests/test_recent_experiments.py +141 -0
  575. fibsem-0.5.2rc2/tests/test_reprojection.py +212 -0
  576. fibsem-0.5.2rc2/tests/test_sample_holder.py +334 -0
  577. fibsem-0.5.2rc2/tests/test_sparse_tiles.py +185 -0
  578. fibsem-0.5.2rc2/tests/test_structures.py +773 -0
  579. fibsem-0.5.2rc2/tests/test_tescan_connection_lock.py +225 -0
  580. fibsem-0.5.2rc2/tests/test_tescan_live_imaging.py +173 -0
  581. fibsem-0.5.2rc2/tests/test_tescan_milling_lifecycle.py +228 -0
  582. fibsem-0.5.2rc2/tests/test_tescan_movement.py +577 -0
  583. fibsem-0.5.2rc2/tests/test_tescan_spot_burn.py +394 -0
  584. fibsem-0.5.2rc2/tests/test_tiled.py +922 -0
  585. fibsem-0.5.2rc2/tests/test_tiled_progress.py +233 -0
  586. fibsem-0.5.2rc2/tests/test_tiled_progress_payload.py +205 -0
  587. fibsem-0.5.2rc2/tests/test_tiling_package.py +138 -0
  588. fibsem-0.5.2rc2/tests/test_timing.py +207 -0
  589. fibsem-0.5.2rc2/tests/test_ui_extra_isolation.py +157 -0
  590. fibsem-0.5.2rc2/tests/test_update_check.py +264 -0
  591. fibsem-0.5.2rc2/tests/test_user_configurations.py +121 -0
  592. fibsem-0.5.2rc2/tests/test_utils.py +63 -0
  593. fibsem-0.5.2rc2/tests/test_versioning.py +499 -0
  594. fibsem-0.5.2rc2/tests/test_view_corrected_movement.py +1174 -0
  595. fibsem-0.5.2rc2/tests/test_webhook_delivery.py +282 -0
  596. fibsem-0.5.2rc2/tests/ui/test_about_dialog.py +183 -0
  597. fibsem-0.5.2rc2/tests/ui/test_add_to_queue.py +274 -0
  598. fibsem-0.5.2rc2/tests/ui/test_add_to_queue_dialog.py +269 -0
  599. fibsem-0.5.2rc2/tests/ui/test_beam_settings_preset.py +173 -0
  600. fibsem-0.5.2rc2/tests/ui/test_beam_side_move_syncs_fm_pose.py +361 -0
  601. fibsem-0.5.2rc2/tests/ui/test_border_stylesheet.py +62 -0
  602. fibsem-0.5.2rc2/tests/ui/test_canvas_base.py +655 -0
  603. fibsem-0.5.2rc2/tests/ui/test_channel_list_recent_menu.py +194 -0
  604. fibsem-0.5.2rc2/tests/ui/test_click_to_move_says_so.py +353 -0
  605. fibsem-0.5.2rc2/tests/ui/test_coincidence_viewer_layering.py +174 -0
  606. fibsem-0.5.2rc2/tests/ui/test_configuration_import.py +191 -0
  607. fibsem-0.5.2rc2/tests/ui/test_connection_chip.py +222 -0
  608. fibsem-0.5.2rc2/tests/ui/test_connection_dialog.py +294 -0
  609. fibsem-0.5.2rc2/tests/ui/test_connection_tab_removal.py +153 -0
  610. fibsem-0.5.2rc2/tests/ui/test_context_menu_action_failure.py +79 -0
  611. fibsem-0.5.2rc2/tests/ui/test_defect_saves_once.py +149 -0
  612. fibsem-0.5.2rc2/tests/ui/test_editor_microscope_reconnect.py +305 -0
  613. fibsem-0.5.2rc2/tests/ui/test_editor_save_debounce.py +266 -0
  614. fibsem-0.5.2rc2/tests/ui/test_elided_label.py +147 -0
  615. fibsem-0.5.2rc2/tests/ui/test_experiment_adoption_logging.py +130 -0
  616. fibsem-0.5.2rc2/tests/ui/test_experiment_header_button.py +269 -0
  617. fibsem-0.5.2rc2/tests/ui/test_experiment_panel_chrome.py +145 -0
  618. fibsem-0.5.2rc2/tests/ui/test_fm_acquisition_state.py +453 -0
  619. fibsem-0.5.2rc2/tests/ui/test_fm_control_widget_progress.py +179 -0
  620. fibsem-0.5.2rc2/tests/ui/test_fm_control_widget_teardown.py +117 -0
  621. fibsem-0.5.2rc2/tests/ui/test_fm_detail_source.py +283 -0
  622. fibsem-0.5.2rc2/tests/ui/test_fm_frame_projection_cache.py +248 -0
  623. fibsem-0.5.2rc2/tests/ui/test_fm_image_viewer.py +181 -0
  624. fibsem-0.5.2rc2/tests/ui/test_fm_live_indicator.py +195 -0
  625. fibsem-0.5.2rc2/tests/ui/test_fm_output_panel.py +199 -0
  626. fibsem-0.5.2rc2/tests/ui/test_fm_overview_orientation.py +416 -0
  627. fibsem-0.5.2rc2/tests/ui/test_fm_overview_widget.py +6035 -0
  628. fibsem-0.5.2rc2/tests/ui/test_fm_pinned_contrast.py +222 -0
  629. fibsem-0.5.2rc2/tests/ui/test_fm_preview_recomposite_cost.py +182 -0
  630. fibsem-0.5.2rc2/tests/ui/test_fm_real_space_canvas.py +387 -0
  631. fibsem-0.5.2rc2/tests/ui/test_fm_region_selector.py +276 -0
  632. fibsem-0.5.2rc2/tests/ui/test_fm_sparse_entry_point.py +298 -0
  633. fibsem-0.5.2rc2/tests/ui/test_fm_sparse_selection_dialog.py +411 -0
  634. fibsem-0.5.2rc2/tests/ui/test_fm_tile_preview.py +359 -0
  635. fibsem-0.5.2rc2/tests/ui/test_focus_flash.py +191 -0
  636. fibsem-0.5.2rc2/tests/ui/test_form_builder.py +252 -0
  637. fibsem-0.5.2rc2/tests/ui/test_form_writeback.py +188 -0
  638. fibsem-0.5.2rc2/tests/ui/test_gui_thread_migration.py +113 -0
  639. fibsem-0.5.2rc2/tests/ui/test_guided_setup_dialog.py +939 -0
  640. fibsem-0.5.2rc2/tests/ui/test_hook_config_groups.py +115 -0
  641. fibsem-0.5.2rc2/tests/ui/test_instructions.py +113 -0
  642. fibsem-0.5.2rc2/tests/ui/test_lamella_card_layout.py +319 -0
  643. fibsem-0.5.2rc2/tests/ui/test_lamella_defect_sync.py +266 -0
  644. fibsem-0.5.2rc2/tests/ui/test_lamella_row_task_state.py +216 -0
  645. fibsem-0.5.2rc2/tests/ui/test_lamella_thumbnail_cost.py +250 -0
  646. fibsem-0.5.2rc2/tests/ui/test_main_thread_gc.py +144 -0
  647. fibsem-0.5.2rc2/tests/ui/test_marked_position_wins_the_click.py +294 -0
  648. fibsem-0.5.2rc2/tests/ui/test_milling_lockout.py +242 -0
  649. fibsem-0.5.2rc2/tests/ui/test_minimap_progress_payload_safety.py +161 -0
  650. fibsem-0.5.2rc2/tests/ui/test_movement_progress.py +286 -0
  651. fibsem-0.5.2rc2/tests/ui/test_napari_pattern_conversion.py +167 -0
  652. fibsem-0.5.2rc2/tests/ui/test_no_qt_warnings_on_workflow_load.py +221 -0
  653. fibsem-0.5.2rc2/tests/ui/test_objective_display_signal.py +287 -0
  654. fibsem-0.5.2rc2/tests/ui/test_objective_wheel_move_threading.py +468 -0
  655. fibsem-0.5.2rc2/tests/ui/test_overlay_content_rect.py +255 -0
  656. fibsem-0.5.2rc2/tests/ui/test_overview_confirmation_dialog.py +356 -0
  657. fibsem-0.5.2rc2/tests/ui/test_overview_container_tab.py +370 -0
  658. fibsem-0.5.2rc2/tests/ui/test_overview_list_widget.py +182 -0
  659. fibsem-0.5.2rc2/tests/ui/test_overview_tab_host.py +598 -0
  660. fibsem-0.5.2rc2/tests/ui/test_overview_tab_wiring.py +519 -0
  661. fibsem-0.5.2rc2/tests/ui/test_overview_tabs_agree.py +258 -0
  662. fibsem-0.5.2rc2/tests/ui/test_overview_widget.py +4246 -0
  663. fibsem-0.5.2rc2/tests/ui/test_plugins_dialog.py +354 -0
  664. fibsem-0.5.2rc2/tests/ui/test_point_overlay_colour.py +106 -0
  665. fibsem-0.5.2rc2/tests/ui/test_position_field_of_view.py +540 -0
  666. fibsem-0.5.2rc2/tests/ui/test_preferences_dialog.py +95 -0
  667. fibsem-0.5.2rc2/tests/ui/test_progress_widget_states.py +105 -0
  668. fibsem-0.5.2rc2/tests/ui/test_qt_threading.py +193 -0
  669. fibsem-0.5.2rc2/tests/ui/test_quickstart_flags.py +180 -0
  670. fibsem-0.5.2rc2/tests/ui/test_real_space_canvas.py +1392 -0
  671. fibsem-0.5.2rc2/tests/ui/test_script_manager_dialog.py +592 -0
  672. fibsem-0.5.2rc2/tests/ui/test_script_menu.py +115 -0
  673. fibsem-0.5.2rc2/tests/ui/test_script_runner.py +329 -0
  674. fibsem-0.5.2rc2/tests/ui/test_scripts_feature_flag.py +146 -0
  675. fibsem-0.5.2rc2/tests/ui/test_select_all_sync.py +220 -0
  676. fibsem-0.5.2rc2/tests/ui/test_selection_clearing.py +197 -0
  677. fibsem-0.5.2rc2/tests/ui/test_settings_widgets_integer.py +78 -0
  678. fibsem-0.5.2rc2/tests/ui/test_shared_palette.py +110 -0
  679. fibsem-0.5.2rc2/tests/ui/test_stage_frame.py +210 -0
  680. fibsem-0.5.2rc2/tests/ui/test_status_bar_tile_outcome.py +151 -0
  681. fibsem-0.5.2rc2/tests/ui/test_stylesheets_render.py +137 -0
  682. fibsem-0.5.2rc2/tests/ui/test_system_setup_widget.py +213 -0
  683. fibsem-0.5.2rc2/tests/ui/test_task_config_parameter_widgets.py +471 -0
  684. fibsem-0.5.2rc2/tests/ui/test_task_output_discovery.py +64 -0
  685. fibsem-0.5.2rc2/tests/ui/test_task_row_layout.py +148 -0
  686. fibsem-0.5.2rc2/tests/ui/test_task_schedule_editor.py +136 -0
  687. fibsem-0.5.2rc2/tests/ui/test_text_overlay.py +66 -0
  688. fibsem-0.5.2rc2/tests/ui/test_tile_grid_overlay.py +1611 -0
  689. fibsem-0.5.2rc2/tests/ui/test_toast_anchoring.py +159 -0
  690. fibsem-0.5.2rc2/tests/ui/test_toasts_are_not_optional.py +126 -0
  691. fibsem-0.5.2rc2/tests/ui/test_viewer_less_widgets.py +461 -0
  692. fibsem-0.5.2rc2/tests/ui/test_wheel_blocker.py +231 -0
  693. fibsem-0.5.2rc2/tests/ui/test_workflow_poi_overlay.py +109 -0
  694. fibsem-0.5.2rc2/tests/ui/test_workflow_preflight_dialog.py +361 -0
  695. fibsem-0.5.2rc2/tests/ui/test_workflow_task_requires.py +116 -0
  696. fibsem-0.5.2rc2/tests/ui/test_workflow_timeline_actions.py +276 -0
  697. fibsem-0.5.2rc2/tests/ui/test_workflow_timeline_estimate.py +450 -0
  698. fibsem-0.5.2rc2/tests/ui/test_workflow_timeline_sync.py +520 -0
  699. fibsem-0.5.2rc2/tests/ui/test_workflow_update_payload.py +91 -0
  700. fibsem-0.5.1.dev0/.github/workflows/publish.yml +0 -35
  701. fibsem-0.5.1.dev0/.github/workflows/python-package.yml +0 -34
  702. fibsem-0.5.1.dev0/.gitignore +0 -86
  703. fibsem-0.5.1.dev0/CHANGES.md +0 -211
  704. fibsem-0.5.1.dev0/PKG-INFO +0 -196
  705. fibsem-0.5.1.dev0/README.md +0 -137
  706. fibsem-0.5.1.dev0/RELEASE.md +0 -41
  707. fibsem-0.5.1.dev0/docs/design/hooks.md +0 -573
  708. fibsem-0.5.1.dev0/docs/design/task-scheduling.md +0 -88
  709. fibsem-0.5.1.dev0/example/example.py +0 -30
  710. fibsem-0.5.1.dev0/example/example_imaging.py +0 -57
  711. fibsem-0.5.1.dev0/example/example_milling.py +0 -105
  712. fibsem-0.5.1.dev0/example/example_movement.py +0 -78
  713. fibsem-0.5.1.dev0/example/lithography.py +0 -95
  714. fibsem-0.5.1.dev0/example/slice_and_view.py +0 -77
  715. fibsem-0.5.1.dev0/fibsem/acquire.py +0 -327
  716. fibsem-0.5.1.dev0/fibsem/alignment/__init__.py +0 -601
  717. fibsem-0.5.1.dev0/fibsem/alignment/methods.py +0 -427
  718. fibsem-0.5.1.dev0/fibsem/alignment/plotting.py +0 -170
  719. fibsem-0.5.1.dev0/fibsem/applications/autolamella/__init__.py +0 -5
  720. fibsem-0.5.1.dev0/fibsem/applications/autolamella/compat/odemis.py +0 -218
  721. fibsem-0.5.1.dev0/fibsem/applications/autolamella/config.py +0 -11
  722. fibsem-0.5.1.dev0/fibsem/applications/autolamella/protocol/legacy.py +0 -351
  723. fibsem-0.5.1.dev0/fibsem/applications/autolamella/protocol/validation.py +0 -261
  724. fibsem-0.5.1.dev0/fibsem/applications/autolamella/structures.py +0 -1391
  725. fibsem-0.5.1.dev0/fibsem/applications/autolamella/task_manager_queue.md +0 -395
  726. fibsem-0.5.1.dev0/fibsem/applications/autolamella/tools/bug_report.py +0 -356
  727. fibsem-0.5.1.dev0/fibsem/applications/autolamella/tools/data.py +0 -660
  728. fibsem-0.5.1.dev0/fibsem/applications/autolamella/tools/reporting.py +0 -738
  729. fibsem-0.5.1.dev0/fibsem/applications/autolamella/tools/review.py +0 -122
  730. fibsem-0.5.1.dev0/fibsem/applications/autolamella/tools/stats.py +0 -561
  731. fibsem-0.5.1.dev0/fibsem/applications/autolamella/tools/upload_to_hf.py +0 -94
  732. fibsem-0.5.1.dev0/fibsem/applications/autolamella/ui/AutoLamellaMainUI.py +0 -1695
  733. fibsem-0.5.1.dev0/fibsem/applications/autolamella/ui/AutoLamellaUI.py +0 -1964
  734. fibsem-0.5.1.dev0/fibsem/applications/autolamella/ui/__init__.py +0 -8
  735. fibsem-0.5.1.dev0/fibsem/applications/autolamella/ui/autolamella_fluorescence_acquisition_task_config_widget.py +0 -159
  736. fibsem-0.5.1.dev0/fibsem/applications/autolamella/ui/run_ui.py +0 -7
  737. fibsem-0.5.1.dev0/fibsem/applications/autolamella/ui/tests/test_confirm_run_workflow_dialog.py +0 -63
  738. fibsem-0.5.1.dev0/fibsem/applications/autolamella/workflows/_default_milling_config.py +0 -125
  739. fibsem-0.5.1.dev0/fibsem/applications/autolamella/workflows/core.py +0 -151
  740. fibsem-0.5.1.dev0/fibsem/applications/autolamella/workflows/legacy/autoliftout.py +0 -1565
  741. fibsem-0.5.1.dev0/fibsem/applications/autolamella/workflows/legacy/experimental.py +0 -141
  742. fibsem-0.5.1.dev0/fibsem/applications/autolamella/workflows/legacy/serial.py +0 -1077
  743. fibsem-0.5.1.dev0/fibsem/applications/autolamella/workflows/tasks/__init__.py +0 -208
  744. fibsem-0.5.1.dev0/fibsem/applications/autolamella/workflows/tasks/acquire_fluorescence.py +0 -191
  745. fibsem-0.5.1.dev0/fibsem/applications/autolamella/workflows/tasks/base.py +0 -551
  746. fibsem-0.5.1.dev0/fibsem/applications/autolamella/workflows/tasks/fiducial.py +0 -130
  747. fibsem-0.5.1.dev0/fibsem/applications/autolamella/workflows/tasks/grid_tasks.py +0 -312
  748. fibsem-0.5.1.dev0/fibsem/applications/autolamella/workflows/tasks/hooks.py +0 -276
  749. fibsem-0.5.1.dev0/fibsem/applications/autolamella/workflows/tasks/manager.py +0 -310
  750. fibsem-0.5.1.dev0/fibsem/applications/autolamella/workflows/tasks/mill_coincident.py +0 -261
  751. fibsem-0.5.1.dev0/fibsem/applications/autolamella/workflows/tasks/polishing.py +0 -68
  752. fibsem-0.5.1.dev0/fibsem/applications/autolamella/workflows/tasks/queue.py +0 -147
  753. fibsem-0.5.1.dev0/fibsem/applications/autolamella/workflows/tasks/reference_image.py +0 -61
  754. fibsem-0.5.1.dev0/fibsem/applications/autolamella/workflows/tasks/rough.py +0 -122
  755. fibsem-0.5.1.dev0/fibsem/applications/autolamella/workflows/tasks/select_fluorescence_position.py +0 -77
  756. fibsem-0.5.1.dev0/fibsem/applications/autolamella/workflows/tasks/select_position.py +0 -141
  757. fibsem-0.5.1.dev0/fibsem/applications/autolamella/workflows/tasks/spot_burn.py +0 -148
  758. fibsem-0.5.1.dev0/fibsem/applications/autolamella/workflows/tasks/tasks.py +0 -105
  759. fibsem-0.5.1.dev0/fibsem/applications/autolamella/workflows/tasks/test_hooks.py +0 -345
  760. fibsem-0.5.1.dev0/fibsem/applications/autolamella/workflows/tasks/trench.py +0 -97
  761. fibsem-0.5.1.dev0/fibsem/applications/autolamella/workflows/tasks/undercut.py +0 -158
  762. fibsem-0.5.1.dev0/fibsem/applications/autolamella/workflows/ui.py +0 -269
  763. fibsem-0.5.1.dev0/fibsem/autofunctions/__init__.py +0 -76
  764. fibsem-0.5.1.dev0/fibsem/autofunctions/acb.py +0 -257
  765. fibsem-0.5.1.dev0/fibsem/autofunctions/autofocus.py +0 -408
  766. fibsem-0.5.1.dev0/fibsem/autofunctions/charge_neutralisation.py +0 -51
  767. fibsem-0.5.1.dev0/fibsem/autofunctions/gamma.py +0 -152
  768. fibsem-0.5.1.dev0/fibsem/autofunctions/integration.py +0 -214
  769. fibsem-0.5.1.dev0/fibsem/autofunctions/metrics.py +0 -214
  770. fibsem-0.5.1.dev0/fibsem/autofunctions/plotting.py +0 -227
  771. fibsem-0.5.1.dev0/fibsem/autofunctions/stacking.py +0 -216
  772. fibsem-0.5.1.dev0/fibsem/calibration.py +0 -181
  773. fibsem-0.5.1.dev0/fibsem/chat/main.py +0 -58
  774. fibsem-0.5.1.dev0/fibsem/cli.py +0 -552
  775. fibsem-0.5.1.dev0/fibsem/config/microscope-configuration.yaml +0 -66
  776. fibsem-0.5.1.dev0/fibsem/config/odemis-configuration.yaml +0 -62
  777. fibsem-0.5.1.dev0/fibsem/config/sim-arctis-configuration.yaml +0 -68
  778. fibsem-0.5.1.dev0/fibsem/config/tescan-configuration.yaml +0 -62
  779. fibsem-0.5.1.dev0/fibsem/config/tfs-aquilos2-configuration.yaml +0 -62
  780. fibsem-0.5.1.dev0/fibsem/config/tfs-arctis-configuration.yaml +0 -62
  781. fibsem-0.5.1.dev0/fibsem/config/tfs-hydra-configuration.yaml +0 -62
  782. fibsem-0.5.1.dev0/fibsem/config.py +0 -491
  783. fibsem-0.5.1.dev0/fibsem/configuration.py +0 -127
  784. fibsem-0.5.1.dev0/fibsem/constants.py +0 -54
  785. fibsem-0.5.1.dev0/fibsem/conversions.py +0 -212
  786. fibsem-0.5.1.dev0/fibsem/correlation/correlation_v2.py +0 -430
  787. fibsem-0.5.1.dev0/fibsem/correlation/io.py +0 -450
  788. fibsem-0.5.1.dev0/fibsem/correlation/pyto/affine.py +0 -1083
  789. fibsem-0.5.1.dev0/fibsem/correlation/pyto/affine_2d.py +0 -765
  790. fibsem-0.5.1.dev0/fibsem/correlation/pyto/common.py +0 -595
  791. fibsem-0.5.1.dev0/fibsem/correlation/pyto/points.py +0 -83
  792. fibsem-0.5.1.dev0/fibsem/correlation/pyto/rigid_3d.py +0 -1597
  793. fibsem-0.5.1.dev0/fibsem/correlation/pyto/test/test_affine.py +0 -369
  794. fibsem-0.5.1.dev0/fibsem/correlation/pyto/test/test_affine_2d.py +0 -548
  795. fibsem-0.5.1.dev0/fibsem/correlation/pyto/test/test_rigid_3d.py +0 -1286
  796. fibsem-0.5.1.dev0/fibsem/correlation/structures.py +0 -344
  797. fibsem-0.5.1.dev0/fibsem/correlation/test_correlation_v2.py +0 -104
  798. fibsem-0.5.1.dev0/fibsem/correlation/tests/eval_lut_precision.py +0 -104
  799. fibsem-0.5.1.dev0/fibsem/correlation/tests/test_structures.py +0 -184
  800. fibsem-0.5.1.dev0/fibsem/correlation/ui/widgets/coordinate_list_widget.py +0 -553
  801. fibsem-0.5.1.dev0/fibsem/correlation/ui/widgets/correlation_input_data_widget.py +0 -203
  802. fibsem-0.5.1.dev0/fibsem/correlation/ui/widgets/correlation_point_picker_widget.py +0 -605
  803. fibsem-0.5.1.dev0/fibsem/correlation/ui/widgets/correlation_result_widget.py +0 -217
  804. fibsem-0.5.1.dev0/fibsem/correlation/ui/widgets/correlation_tab_widget.py +0 -1598
  805. fibsem-0.5.1.dev0/fibsem/correlation/ui/widgets/fm_image_display_widget.py +0 -485
  806. fibsem-0.5.1.dev0/fibsem/correlation/ui/widgets/image_point_canvas.py +0 -633
  807. fibsem-0.5.1.dev0/fibsem/correlation/ui/widgets/refractive_index_widget.py +0 -231
  808. fibsem-0.5.1.dev0/fibsem/correlation/ui/widgets/test_correlation_point_picker_widget.py +0 -162
  809. fibsem-0.5.1.dev0/fibsem/correlation/ui/widgets/test_correlation_tab_widget.py +0 -66
  810. fibsem-0.5.1.dev0/fibsem/correlation/ui/widgets/test_fm_image_display_widget.py +0 -193
  811. fibsem-0.5.1.dev0/fibsem/correlation/ui/widgets/test_image_point_canvas.py +0 -247
  812. fibsem-0.5.1.dev0/fibsem/correlation/util.py +0 -985
  813. fibsem-0.5.1.dev0/fibsem/detection/detection.py +0 -1573
  814. fibsem-0.5.1.dev0/fibsem/detection/evaluation.py +0 -423
  815. fibsem-0.5.1.dev0/fibsem/detection/run_evaluation.py +0 -52
  816. fibsem-0.5.1.dev0/fibsem/detection/utils.py +0 -154
  817. fibsem-0.5.1.dev0/fibsem/fm/__init__.py +0 -21
  818. fibsem-0.5.1.dev0/fibsem/fm/acquisition.py +0 -1562
  819. fibsem-0.5.1.dev0/fibsem/fm/autoscript.py +0 -669
  820. fibsem-0.5.1.dev0/fibsem/fm/calibration/__init__.py +0 -346
  821. fibsem-0.5.1.dev0/fibsem/fm/microscope.py +0 -929
  822. fibsem-0.5.1.dev0/fibsem/fm/odemis.py +0 -663
  823. fibsem-0.5.1.dev0/fibsem/fm/plotting.py +0 -490
  824. fibsem-0.5.1.dev0/fibsem/fm/structures.py +0 -1643
  825. fibsem-0.5.1.dev0/fibsem/fm/timing.py +0 -413
  826. fibsem-0.5.1.dev0/fibsem/imaging/__init__.py +0 -5
  827. fibsem-0.5.1.dev0/fibsem/imaging/drawing.py +0 -359
  828. fibsem-0.5.1.dev0/fibsem/imaging/masks.py +0 -249
  829. fibsem-0.5.1.dev0/fibsem/imaging/spot.py +0 -114
  830. fibsem-0.5.1.dev0/fibsem/imaging/tests/test_drawing_widget.py +0 -87
  831. fibsem-0.5.1.dev0/fibsem/imaging/tests/test_tile_order_strategies.py +0 -37
  832. fibsem-0.5.1.dev0/fibsem/imaging/tiled.py +0 -1133
  833. fibsem-0.5.1.dev0/fibsem/imaging/transforms.py +0 -75
  834. fibsem-0.5.1.dev0/fibsem/imaging/utils.py +0 -89
  835. fibsem-0.5.1.dev0/fibsem/microscope.py +0 -4079
  836. fibsem-0.5.1.dev0/fibsem/microscopes/_stage.py +0 -356
  837. fibsem-0.5.1.dev0/fibsem/microscopes/autoscript.py +0 -419
  838. fibsem-0.5.1.dev0/fibsem/microscopes/odemis_microscope.py +0 -1001
  839. fibsem-0.5.1.dev0/fibsem/microscopes/simulator.py +0 -1274
  840. fibsem-0.5.1.dev0/fibsem/microscopes/tescan.py +0 -1789
  841. fibsem-0.5.1.dev0/fibsem/microscopes/zeiss.py +0 -6
  842. fibsem-0.5.1.dev0/fibsem/milling/__init__.py +0 -15
  843. fibsem-0.5.1.dev0/fibsem/milling/base.py +0 -297
  844. fibsem-0.5.1.dev0/fibsem/milling/core.py +0 -76
  845. fibsem-0.5.1.dev0/fibsem/milling/patterning/__init__.py +0 -218
  846. fibsem-0.5.1.dev0/fibsem/milling/patterning/patterns2.py +0 -2010
  847. fibsem-0.5.1.dev0/fibsem/milling/patterning/plotting.py +0 -1095
  848. fibsem-0.5.1.dev0/fibsem/milling/patterning/utils.py +0 -250
  849. fibsem-0.5.1.dev0/fibsem/milling/properties.py +0 -69
  850. fibsem-0.5.1.dev0/fibsem/milling/strategy/__init__.py +0 -66
  851. fibsem-0.5.1.dev0/fibsem/milling/strategy/coincidence.py +0 -733
  852. fibsem-0.5.1.dev0/fibsem/milling/strategy/overtilt.py +0 -152
  853. fibsem-0.5.1.dev0/fibsem/milling/strategy/standard.py +0 -65
  854. fibsem-0.5.1.dev0/fibsem/milling/tasks.py +0 -388
  855. fibsem-0.5.1.dev0/fibsem/segmentation/_nnunet.py +0 -372
  856. fibsem-0.5.1.dev0/fibsem/segmentation/adaptive_model.py +0 -44
  857. fibsem-0.5.1.dev0/fibsem/segmentation/config.py +0 -31
  858. fibsem-0.5.1.dev0/fibsem/segmentation/dataset.py +0 -248
  859. fibsem-0.5.1.dev0/fibsem/segmentation/hf_segmentation_model.py +0 -75
  860. fibsem-0.5.1.dev0/fibsem/segmentation/inference.py +0 -103
  861. fibsem-0.5.1.dev0/fibsem/segmentation/model.py +0 -230
  862. fibsem-0.5.1.dev0/fibsem/segmentation/nnunet_model.py +0 -94
  863. fibsem-0.5.1.dev0/fibsem/segmentation/nnunet_model_v2.py +0 -81
  864. fibsem-0.5.1.dev0/fibsem/segmentation/onnx_model.py +0 -402
  865. fibsem-0.5.1.dev0/fibsem/segmentation/sam_model.py +0 -64
  866. fibsem-0.5.1.dev0/fibsem/segmentation/train.py +0 -306
  867. fibsem-0.5.1.dev0/fibsem/segmentation/utils.py +0 -378
  868. fibsem-0.5.1.dev0/fibsem/server/__init__.py +0 -4
  869. fibsem-0.5.1.dev0/fibsem/server/client.py +0 -335
  870. fibsem-0.5.1.dev0/fibsem/server/models.py +0 -134
  871. fibsem-0.5.1.dev0/fibsem/server/server.py +0 -495
  872. fibsem-0.5.1.dev0/fibsem/structures.py +0 -2578
  873. fibsem-0.5.1.dev0/fibsem/tools/_parser.py +0 -72
  874. fibsem-0.5.1.dev0/fibsem/tools/_streamlit.py +0 -55
  875. fibsem-0.5.1.dev0/fibsem/tools/beam_shift_alignment_test.py +0 -65
  876. fibsem-0.5.1.dev0/fibsem/tools/run_manipulator_calibration.py +0 -35
  877. fibsem-0.5.1.dev0/fibsem/tools/run_split_dataset.py +0 -57
  878. fibsem-0.5.1.dev0/fibsem/tools/telemetry.py +0 -141
  879. fibsem-0.5.1.dev0/fibsem/transformations.py +0 -82
  880. fibsem-0.5.1.dev0/fibsem/ui/FMAcquisitionWidget.py +0 -2198
  881. fibsem-0.5.1.dev0/fibsem/ui/FibsemCryoDepositionWidget.py +0 -88
  882. fibsem-0.5.1.dev0/fibsem/ui/FibsemCryoDepositionWidget_qt.py +0 -106
  883. fibsem-0.5.1.dev0/fibsem/ui/FibsemEmbeddedDetectionWidget.py +0 -341
  884. fibsem-0.5.1.dev0/fibsem/ui/FibsemFeatureLabellingUI.py +0 -524
  885. fibsem-0.5.1.dev0/fibsem/ui/FibsemImageSettingsWidget.py +0 -835
  886. fibsem-0.5.1.dev0/fibsem/ui/FibsemLabellingUI.py +0 -656
  887. fibsem-0.5.1.dev0/fibsem/ui/FibsemManipulatorWidget.py +0 -324
  888. fibsem-0.5.1.dev0/fibsem/ui/FibsemMicroscopeConfigurationWidget.py +0 -57
  889. fibsem-0.5.1.dev0/fibsem/ui/FibsemMicroscopeConfigurationWidgetBase.py +0 -352
  890. fibsem-0.5.1.dev0/fibsem/ui/FibsemMinimapWidget.py +0 -1513
  891. fibsem-0.5.1.dev0/fibsem/ui/FibsemModelTrainingWidget.py +0 -211
  892. fibsem-0.5.1.dev0/fibsem/ui/FibsemMovementWidget.py +0 -483
  893. fibsem-0.5.1.dev0/fibsem/ui/FibsemSegmentationModelWidget.py +0 -125
  894. fibsem-0.5.1.dev0/fibsem/ui/FibsemSpotBurnWidget.py +0 -285
  895. fibsem-0.5.1.dev0/fibsem/ui/FibsemSystemSetupWidget.py +0 -277
  896. fibsem-0.5.1.dev0/fibsem/ui/FibsemUI.py +0 -168
  897. fibsem-0.5.1.dev0/fibsem/ui/__init__.py +0 -17
  898. fibsem-0.5.1.dev0/fibsem/ui/fm/widgets/__init__.py +0 -50
  899. fibsem-0.5.1.dev0/fibsem/ui/fm/widgets/acquisition_summary_dialog.py +0 -129
  900. fibsem-0.5.1.dev0/fibsem/ui/fm/widgets/autofocus_widget.py +0 -393
  901. fibsem-0.5.1.dev0/fibsem/ui/fm/widgets/autofocus_widget_demo.py +0 -74
  902. fibsem-0.5.1.dev0/fibsem/ui/fm/widgets/camera_widget.py +0 -200
  903. fibsem-0.5.1.dev0/fibsem/ui/fm/widgets/channel_list_widget.py +0 -850
  904. fibsem-0.5.1.dev0/fibsem/ui/fm/widgets/channel_settings_widget.py +0 -213
  905. fibsem-0.5.1.dev0/fibsem/ui/fm/widgets/display_options_dialog.py +0 -83
  906. fibsem-0.5.1.dev0/fibsem/ui/fm/widgets/fluorescence_plot_widget.py +0 -449
  907. fibsem-0.5.1.dev0/fibsem/ui/fm/widgets/fm_image_viewer_widget.py +0 -194
  908. fibsem-0.5.1.dev0/fibsem/ui/fm/widgets/fm_multi_channel_widget.py +0 -168
  909. fibsem-0.5.1.dev0/fibsem/ui/fm/widgets/histogram_widget.py +0 -288
  910. fibsem-0.5.1.dev0/fibsem/ui/fm/widgets/line_plot_widget.py +0 -727
  911. fibsem-0.5.1.dev0/fibsem/ui/fm/widgets/load_image_dialog.py +0 -231
  912. fibsem-0.5.1.dev0/fibsem/ui/fm/widgets/minimap_plot_widget.py +0 -1266
  913. fibsem-0.5.1.dev0/fibsem/ui/fm/widgets/minimap_plot_widget_example.py +0 -143
  914. fibsem-0.5.1.dev0/fibsem/ui/fm/widgets/objective_control_widget.py +0 -525
  915. fibsem-0.5.1.dev0/fibsem/ui/fm/widgets/overview_confirmation_dialog.py +0 -127
  916. fibsem-0.5.1.dev0/fibsem/ui/fm/widgets/overview_parameters_widget.py +0 -346
  917. fibsem-0.5.1.dev0/fibsem/ui/fm/widgets/saved_positions_widget.py +0 -309
  918. fibsem-0.5.1.dev0/fibsem/ui/fm/widgets/sem_acquisition_widget.py +0 -113
  919. fibsem-0.5.1.dev0/fibsem/ui/fm/widgets/stage_position_control_widget.py +0 -185
  920. fibsem-0.5.1.dev0/fibsem/ui/fm/widgets/test_line_plot.py +0 -37
  921. fibsem-0.5.1.dev0/fibsem/ui/fm/widgets/z_parameters_widget.py +0 -188
  922. fibsem-0.5.1.dev0/fibsem/ui/icon.py +0 -65
  923. fibsem-0.5.1.dev0/fibsem/ui/napari/patterns.py +0 -858
  924. fibsem-0.5.1.dev0/fibsem/ui/napari/properties.py +0 -140
  925. fibsem-0.5.1.dev0/fibsem/ui/napari/utilities.py +0 -550
  926. fibsem-0.5.1.dev0/fibsem/ui/notification_service.py +0 -50
  927. fibsem-0.5.1.dev0/fibsem/ui/qtdesigner_files/FibsemCryoDepositionWidget.py +0 -78
  928. fibsem-0.5.1.dev0/fibsem/ui/qtdesigner_files/FibsemFeatureDetectionUI.py +0 -88
  929. fibsem-0.5.1.dev0/fibsem/ui/qtdesigner_files/FibsemLabellingUI.py +0 -139
  930. fibsem-0.5.1.dev0/fibsem/ui/qtdesigner_files/FibsemMicroscopeConfigurationWidget.py +0 -57
  931. fibsem-0.5.1.dev0/fibsem/ui/qtdesigner_files/FibsemMicroscopeConfigurationWidgetBase.py +0 -748
  932. fibsem-0.5.1.dev0/fibsem/ui/qtdesigner_files/FibsemModelTrainingWidget.py +0 -188
  933. fibsem-0.5.1.dev0/fibsem/ui/qtdesigner_files/FibsemSegmentationModelWidget.py +0 -58
  934. fibsem-0.5.1.dev0/fibsem/ui/qtdesigner_files/FibsemSpotBurnWidget.py +0 -58
  935. fibsem-0.5.1.dev0/fibsem/ui/qtdesigner_files/FibsemSystemSetupWidget.py +0 -70
  936. fibsem-0.5.1.dev0/fibsem/ui/qtdesigner_files/FibsemUI.py +0 -73
  937. fibsem-0.5.1.dev0/fibsem/ui/qtdesigner_files/detection_dialog.py +0 -93
  938. fibsem-0.5.1.dev0/fibsem/ui/qtdesigner_files/image_viewer.py +0 -482
  939. fibsem-0.5.1.dev0/fibsem/ui/stylesheets.py +0 -733
  940. fibsem-0.5.1.dev0/fibsem/ui/utils.py +0 -361
  941. fibsem-0.5.1.dev0/fibsem/ui/widgets/angle_measure.py +0 -234
  942. fibsem-0.5.1.dev0/fibsem/ui/widgets/autolamella_apply_protocol_dialog.py +0 -222
  943. fibsem-0.5.1.dev0/fibsem/ui/widgets/autolamella_create_experiment_widget.py +0 -491
  944. fibsem-0.5.1.dev0/fibsem/ui/widgets/autolamella_experiment_task_summary_widget.py +0 -657
  945. fibsem-0.5.1.dev0/fibsem/ui/widgets/autolamella_generate_report_widget.py +0 -518
  946. fibsem-0.5.1.dev0/fibsem/ui/widgets/autolamella_global_task_editor_dialog.py +0 -322
  947. fibsem-0.5.1.dev0/fibsem/ui/widgets/autolamella_lamella_protocol_editor.py +0 -1072
  948. fibsem-0.5.1.dev0/fibsem/ui/widgets/autolamella_load_experiment_widget.py +0 -799
  949. fibsem-0.5.1.dev0/fibsem/ui/widgets/autolamella_load_task_protocol_widget.py +0 -445
  950. fibsem-0.5.1.dev0/fibsem/ui/widgets/autolamella_overview_image_widget.py +0 -698
  951. fibsem-0.5.1.dev0/fibsem/ui/widgets/autolamella_spot_burn_coordinates_widget.py +0 -321
  952. fibsem-0.5.1.dev0/fibsem/ui/widgets/autolamella_task_config_editor.py +0 -614
  953. fibsem-0.5.1.dev0/fibsem/ui/widgets/autolamella_task_config_widget.py +0 -687
  954. fibsem-0.5.1.dev0/fibsem/ui/widgets/beam_settings_widget.py +0 -478
  955. fibsem-0.5.1.dev0/fibsem/ui/widgets/beam_widget.py +0 -183
  956. fibsem-0.5.1.dev0/fibsem/ui/widgets/bug_report_widget.py +0 -284
  957. fibsem-0.5.1.dev0/fibsem/ui/widgets/contrast_gamma_control.py +0 -175
  958. fibsem-0.5.1.dev0/fibsem/ui/widgets/custom_widgets.py +0 -1119
  959. fibsem-0.5.1.dev0/fibsem/ui/widgets/dataframe_table_widget.py +0 -172
  960. fibsem-0.5.1.dev0/fibsem/ui/widgets/detector_settings_widget.py +0 -299
  961. fibsem-0.5.1.dev0/fibsem/ui/widgets/dual_beam_widget.py +0 -277
  962. fibsem-0.5.1.dev0/fibsem/ui/widgets/fibsem_image_flow_widget.py +0 -202
  963. fibsem-0.5.1.dev0/fibsem/ui/widgets/fluorescence_coincidence_viewer_widget.py +0 -2092
  964. fibsem-0.5.1.dev0/fibsem/ui/widgets/fluorescence_coincidence_widget.py +0 -427
  965. fibsem-0.5.1.dev0/fibsem/ui/widgets/fluorescence_control_widget.py +0 -1076
  966. fibsem-0.5.1.dev0/fibsem/ui/widgets/hook_config_widget.py +0 -405
  967. fibsem-0.5.1.dev0/fibsem/ui/widgets/image_annotation_widget.py +0 -578
  968. fibsem-0.5.1.dev0/fibsem/ui/widgets/image_canvas.py +0 -1432
  969. fibsem-0.5.1.dev0/fibsem/ui/widgets/image_settings_widget.py +0 -524
  970. fibsem-0.5.1.dev0/fibsem/ui/widgets/lamella_card_widget.py +0 -350
  971. fibsem-0.5.1.dev0/fibsem/ui/widgets/lamella_default_config_widget.py +0 -333
  972. fibsem-0.5.1.dev0/fibsem/ui/widgets/lamella_list_widget.py +0 -432
  973. fibsem-0.5.1.dev0/fibsem/ui/widgets/lamella_pose_list_widget.py +0 -189
  974. fibsem-0.5.1.dev0/fibsem/ui/widgets/lamella_task_image_widget.py +0 -406
  975. fibsem-0.5.1.dev0/fibsem/ui/widgets/lamella_workflow_widget.py +0 -352
  976. fibsem-0.5.1.dev0/fibsem/ui/widgets/microscope_config_widget.py +0 -514
  977. fibsem-0.5.1.dev0/fibsem/ui/widgets/milling_alignment_widget.py +0 -207
  978. fibsem-0.5.1.dev0/fibsem/ui/widgets/milling_settings_widget.py +0 -166
  979. fibsem-0.5.1.dev0/fibsem/ui/widgets/milling_stage_list_widget.py +0 -643
  980. fibsem-0.5.1.dev0/fibsem/ui/widgets/milling_stages_widget.py +0 -261
  981. fibsem-0.5.1.dev0/fibsem/ui/widgets/milling_task_acquisition_settings_widget.py +0 -185
  982. fibsem-0.5.1.dev0/fibsem/ui/widgets/milling_task_config_widget2.py +0 -301
  983. fibsem-0.5.1.dev0/fibsem/ui/widgets/milling_task_viewer_widget.py +0 -427
  984. fibsem-0.5.1.dev0/fibsem/ui/widgets/milling_widget.py +0 -238
  985. fibsem-0.5.1.dev0/fibsem/ui/widgets/notifications.py +0 -491
  986. fibsem-0.5.1.dev0/fibsem/ui/widgets/overview_acquisition_settings_widget.py +0 -298
  987. fibsem-0.5.1.dev0/fibsem/ui/widgets/pattern_settings_widget.py +0 -317
  988. fibsem-0.5.1.dev0/fibsem/ui/widgets/preferences_dialog.py +0 -274
  989. fibsem-0.5.1.dev0/fibsem/ui/widgets/profile_line.py +0 -227
  990. fibsem-0.5.1.dev0/fibsem/ui/widgets/progress_widget.py +0 -224
  991. fibsem-0.5.1.dev0/fibsem/ui/widgets/reference_image_parameters_widget.py +0 -344
  992. fibsem-0.5.1.dev0/fibsem/ui/widgets/sample_holder_widget.py +0 -510
  993. fibsem-0.5.1.dev0/fibsem/ui/widgets/saved_position_widget.py +0 -371
  994. fibsem-0.5.1.dev0/fibsem/ui/widgets/selected_lamella_widget.py +0 -158
  995. fibsem-0.5.1.dev0/fibsem/ui/widgets/strategy_settings_widget.py +0 -232
  996. fibsem-0.5.1.dev0/fibsem/ui/widgets/task_history_table_widget.py +0 -156
  997. fibsem-0.5.1.dev0/fibsem/ui/widgets/task_summary_formatting.py +0 -106
  998. fibsem-0.5.1.dev0/fibsem/ui/widgets/tests/test-icon-tool-button.py +0 -169
  999. fibsem-0.5.1.dev0/fibsem/ui/widgets/tests/test-image-settings-widget.py +0 -94
  1000. fibsem-0.5.1.dev0/fibsem/ui/widgets/tests/test-lamella-card.py +0 -144
  1001. fibsem-0.5.1.dev0/fibsem/ui/widgets/tests/test-lamella-list.py +0 -165
  1002. fibsem-0.5.1.dev0/fibsem/ui/widgets/tests/test-lamella-workflow.py +0 -196
  1003. fibsem-0.5.1.dev0/fibsem/ui/widgets/tests/test-progress-bar.py +0 -48
  1004. fibsem-0.5.1.dev0/fibsem/ui/widgets/tests/test-selected-lamella.py +0 -133
  1005. fibsem-0.5.1.dev0/fibsem/ui/widgets/tests/test-spinner-icon.py +0 -106
  1006. fibsem-0.5.1.dev0/fibsem/ui/widgets/tests/test-workflow-config.py +0 -194
  1007. fibsem-0.5.1.dev0/fibsem/ui/widgets/tests/test_countdown_progress.py +0 -166
  1008. fibsem-0.5.1.dev0/fibsem/ui/widgets/tests/test_hooks_manual.py +0 -173
  1009. fibsem-0.5.1.dev0/fibsem/ui/widgets/tests/test_image_canvas.py +0 -198
  1010. fibsem-0.5.1.dev0/fibsem/ui/widgets/tests/test_lamella_default_config_widget.py +0 -60
  1011. fibsem-0.5.1.dev0/fibsem/ui/widgets/tests/test_lamella_name_list_widget.py +0 -57
  1012. fibsem-0.5.1.dev0/fibsem/ui/widgets/tests/test_lamella_task_image_widget.py +0 -47
  1013. fibsem-0.5.1.dev0/fibsem/ui/widgets/tests/test_milling_task_config_widget2.py +0 -139
  1014. fibsem-0.5.1.dev0/fibsem/ui/widgets/tests/test_milling_task_viewer_widget.py +0 -183
  1015. fibsem-0.5.1.dev0/fibsem/ui/widgets/tests/test_progress_widget.py +0 -203
  1016. fibsem-0.5.1.dev0/fibsem/ui/widgets/tests/test_radial_ruler_demo.py +0 -253
  1017. fibsem-0.5.1.dev0/fibsem/ui/widgets/tests/test_splitter_layouts.py +0 -167
  1018. fibsem-0.5.1.dev0/fibsem/ui/widgets/tests/test_toast.py +0 -32
  1019. fibsem-0.5.1.dev0/fibsem/ui/widgets/tests/test_workflow_task_editor_widget.py +0 -118
  1020. fibsem-0.5.1.dev0/fibsem/ui/widgets/tests/test_workflow_timeline_animation.py +0 -222
  1021. fibsem-0.5.1.dev0/fibsem/ui/widgets/tiled_overview_widget.py +0 -374
  1022. fibsem-0.5.1.dev0/fibsem/ui/widgets/workflow_config_widget.py +0 -406
  1023. fibsem-0.5.1.dev0/fibsem/ui/widgets/workflow_info_widget.py +0 -132
  1024. fibsem-0.5.1.dev0/fibsem/ui/widgets/workflow_summary_dialog.py +0 -279
  1025. fibsem-0.5.1.dev0/fibsem/ui/widgets/workflow_task_editor_widget.py +0 -370
  1026. fibsem-0.5.1.dev0/fibsem/ui/widgets/workflow_timeline_widget.py +0 -614
  1027. fibsem-0.5.1.dev0/fibsem/util/draw_numbers.py +0 -537
  1028. fibsem-0.5.1.dev0/fibsem/util/filename.py +0 -25
  1029. fibsem-0.5.1.dev0/fibsem/utils.py +0 -590
  1030. fibsem-0.5.1.dev0/fibsem/validation.py +0 -330
  1031. fibsem-0.5.1.dev0/fibsem.egg-info/PKG-INFO +0 -196
  1032. fibsem-0.5.1.dev0/fibsem.egg-info/SOURCES.txt +0 -527
  1033. fibsem-0.5.1.dev0/fibsem.egg-info/entry_points.txt +0 -10
  1034. fibsem-0.5.1.dev0/fibsem.egg-info/requires.txt +0 -63
  1035. fibsem-0.5.1.dev0/pyproject.toml +0 -87
  1036. fibsem-0.5.1.dev0/scripts/convert_to_nnunet_dataset.py +0 -44
  1037. fibsem-0.5.1.dev0/scripts/convert_to_onnx.py +0 -27
  1038. fibsem-0.5.1.dev0/scripts/export_nnunet_checkpoint.py +0 -120
  1039. fibsem-0.5.1.dev0/scripts/generate_segmentation_objects.py +0 -30
  1040. fibsem-0.5.1.dev0/scripts/onnx_pred.py +0 -185
  1041. fibsem-0.5.1.dev0/scripts/shortcut.py +0 -20
  1042. fibsem-0.5.1.dev0/scripts/test_acb.py +0 -111
  1043. fibsem-0.5.1.dev0/scripts/test_autofocus.py +0 -102
  1044. fibsem-0.5.1.dev0/scripts/test_installation.py +0 -56
  1045. fibsem-0.5.1.dev0/scripts/test_microscope_config_widget.py +0 -36
  1046. fibsem-0.5.1.dev0/scripts/test_rtm_script.py +0 -94
  1047. fibsem-0.5.1.dev0/tests/autolamella/test_bug_report.py +0 -170
  1048. fibsem-0.5.1.dev0/tests/autolamella/test_milling_angle.py +0 -56
  1049. fibsem-0.5.1.dev0/tests/autolamella/test_spot_burn.py +0 -213
  1050. fibsem-0.5.1.dev0/tests/autolamella/test_structures.py +0 -310
  1051. fibsem-0.5.1.dev0/tests/autolamella/test_tasks.py +0 -60
  1052. fibsem-0.5.1.dev0/tests/correlation/test_refractive_index.py +0 -96
  1053. fibsem-0.5.1.dev0/tests/fm/conftest.py +0 -15
  1054. fibsem-0.5.1.dev0/tests/fm/test_acquisition.py +0 -991
  1055. fibsem-0.5.1.dev0/tests/fm/test_autofocus_widget.py +0 -163
  1056. fibsem-0.5.1.dev0/tests/fm/test_calibration.py +0 -586
  1057. fibsem-0.5.1.dev0/tests/fm/test_fm_autofocus.py +0 -288
  1058. fibsem-0.5.1.dev0/tests/fm/test_structures.py +0 -2229
  1059. fibsem-0.5.1.dev0/tests/milling/test_base.py +0 -84
  1060. fibsem-0.5.1.dev0/tests/milling/test_core.py +0 -40
  1061. fibsem-0.5.1.dev0/tests/milling/test_pattern_utils.py +0 -301
  1062. fibsem-0.5.1.dev0/tests/milling/test_patterns.py +0 -891
  1063. fibsem-0.5.1.dev0/tests/milling/test_tasks.py +0 -65
  1064. fibsem-0.5.1.dev0/tests/test_acquire.py +0 -26
  1065. fibsem-0.5.1.dev0/tests/test_acquire_image_api.py +0 -115
  1066. fibsem-0.5.1.dev0/tests/test_alignment.py +0 -499
  1067. fibsem-0.5.1.dev0/tests/test_autofunctions.py +0 -412
  1068. fibsem-0.5.1.dev0/tests/test_microscope.py +0 -153
  1069. fibsem-0.5.1.dev0/tests/test_movement.py +0 -29
  1070. fibsem-0.5.1.dev0/tests/test_recent_experiments.py +0 -141
  1071. fibsem-0.5.1.dev0/tests/test_sample_holder.py +0 -329
  1072. fibsem-0.5.1.dev0/tests/test_structures.py +0 -437
  1073. fibsem-0.5.1.dev0/tests/test_tiled.py +0 -266
  1074. fibsem-0.5.1.dev0/tests/test_utils.py +0 -63
  1075. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/.claude/skills/linear/SKILL.md +0 -0
  1076. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/.claude/skills/new-widget/SKILL.md +0 -0
  1077. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/.claude/skills/review-changes/SKILL.md +0 -0
  1078. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/.claude/skills/review-widget/SKILL.md +0 -0
  1079. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/GETTING_STARTED.md +0 -0
  1080. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/INSTALLATION.md +0 -0
  1081. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/LICENSE +0 -0
  1082. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/MANIFEST.in +0 -0
  1083. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/docs/design/autofocus.md +0 -0
  1084. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/example/autolamella.py +0 -0
  1085. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/example/example.ipynb +0 -0
  1086. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/example/example_notebook.ipynb +0 -0
  1087. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/example/profile.npy +0 -0
  1088. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/example/protocol_autolamella.yaml +0 -0
  1089. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/example/protocol_lithography.yaml +0 -0
  1090. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/example/protocol_slice_and_view.yaml +0 -0
  1091. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/external/application_files/autolamella.xml +0 -0
  1092. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/external/application_files/cryo_Pt_dep.xml +0 -0
  1093. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/__init__.py +0 -0
  1094. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/applications/__init__.py +0 -0
  1095. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/applications/autolamella/compat/notebook.ipynb +0 -0
  1096. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/applications/autolamella/protocol/.gitkeep +0 -0
  1097. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/applications/autolamella/protocol/__init__.py +0 -0
  1098. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/applications/autolamella/protocol/constants.py +0 -0
  1099. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/applications/autolamella/protocol/development/task-protocol-coincidence.yaml +0 -0
  1100. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/applications/autolamella/protocol/legacy/protocol-liftout.yaml +0 -0
  1101. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/applications/autolamella/protocol/legacy/protocol-on-grid.yaml +0 -0
  1102. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/applications/autolamella/protocol/legacy/protocol-serial-liftout.yaml +0 -0
  1103. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/applications/autolamella/protocol/legacy/protocol-trench.yaml +0 -0
  1104. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/applications/autolamella/protocol/legacy/protocol-waffle.yaml +0 -0
  1105. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/applications/autolamella/protocol/task-protocol-waffle.yaml +0 -0
  1106. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/applications/autolamella/protocol/task-protocol.yaml +0 -0
  1107. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/applications/autolamella/tools/__init__.py +0 -0
  1108. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/applications/autolamella/tools/notebook.ipynb +0 -0
  1109. {fibsem-0.5.1.dev0/fibsem/ui/widgets → fibsem-0.5.2rc2/fibsem/applications/autolamella/ui}/autolamella_protocol_information_widget.py +0 -0
  1110. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/applications/autolamella/workflows/tasks/basic_milling.py +0 -0
  1111. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/applications/autolamella/workflows/tasks/grid-task-notebook.ipynb +0 -0
  1112. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/chat/.gitignore +0 -0
  1113. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/chat/requirements.txt +0 -0
  1114. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/config/default-sample-holder.yaml +0 -0
  1115. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/config/fm/fm-configuration-default.yaml +0 -0
  1116. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/config/sample-holder.yaml +0 -0
  1117. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/config/tescan_manipulator.yaml +0 -0
  1118. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/correlation/README.md +0 -0
  1119. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/correlation/__init__.py +0 -0
  1120. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/correlation/pyto/__init__.py +0 -0
  1121. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/correlation/pyto/attributes.py +0 -0
  1122. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/correlation/pyto/util.py +0 -0
  1123. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/correlation/refractive_index.py +0 -0
  1124. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/correlation/tests/__init__.py +0 -0
  1125. {fibsem-0.5.1.dev0/fibsem/correlation/ui → fibsem-0.5.2rc2/fibsem/detection}/__init__.py +0 -0
  1126. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/detection/config-autolamella-liftout-hf-mega.yaml +0 -0
  1127. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/detection/config-autolamella-liftout.yaml +0 -0
  1128. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/detection/config-autolamella-serial-liftout-hf-mega.yaml +0 -0
  1129. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/detection/config-autolamella-serial-liftout.yaml +0 -0
  1130. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/detection/config-autolamella-waffle-v2-hf-mega.yaml +0 -0
  1131. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/detection/config-autolamella-waffle-v2.yaml +0 -0
  1132. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/detection/config-autolamella-waffle.yml +0 -0
  1133. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/detection/config-autoliftout-dm-embryo.yml +0 -0
  1134. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/detection/test_image.tif +0 -0
  1135. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/detection/test_image_2.tif +0 -0
  1136. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/detection/test_images/serial/serial_liftout_mask_00.tif +0 -0
  1137. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/detection/test_images/serial/serial_liftout_mask_01.tif +0 -0
  1138. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/detection/test_images/serial/serial_liftout_mask_02.tif +0 -0
  1139. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/detection/test_images/serial/serial_liftout_mask_03.tif +0 -0
  1140. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/detection/test_images/serial/serial_liftout_mask_04.tif +0 -0
  1141. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/detection/test_images/serial/serial_liftout_mask_05.tif +0 -0
  1142. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/detection/test_images/serial/serial_liftout_mask_06.tif +0 -0
  1143. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/detection/test_images/serial/serial_liftout_mask_07.tif +0 -0
  1144. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/detection/test_images/test_needle_mask.tif +0 -0
  1145. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/detection/test_images/test_needle_mask2.tif +0 -0
  1146. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/detection/test_images/test_needle_mask3.tif +0 -0
  1147. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/fm/fm-example-notebook.ipynb +0 -0
  1148. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/fm/fm-notebook.ipynb +0 -0
  1149. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/fm/plot_autofocus_demo.py +0 -0
  1150. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/gis.py +0 -0
  1151. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/imaging/.gitkeep +0 -0
  1152. {fibsem-0.5.1.dev0/fibsem/correlation/ui/widgets → fibsem-0.5.2rc2/fibsem/imaging/tests}/__init__.py +0 -0
  1153. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/logo.py +0 -0
  1154. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/microscopes/notebook.ipynb +0 -0
  1155. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/milling/config.py +0 -0
  1156. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/movement.py +0 -0
  1157. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/segmentation/README.md +0 -0
  1158. {fibsem-0.5.1.dev0/fibsem/detection → fibsem-0.5.2rc2/fibsem/segmentation}/__init__.py +0 -0
  1159. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/segmentation/augmentation.ipynb +0 -0
  1160. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/segmentation/config-autolamella-mega-v4-xl.yml +0 -0
  1161. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/segmentation/config-autolamella-mega-v4.yml +0 -0
  1162. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/segmentation/config-autolamella-mega-v5.yml +0 -0
  1163. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/segmentation/config-autolamella-waffle4.yml +0 -0
  1164. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/segmentation/config.yml +0 -0
  1165. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/segmentation/docs/example_napari.png +0 -0
  1166. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/segmentation/docs/imgs/combined/combined.jpg +0 -0
  1167. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/segmentation/docs/imgs/labelled/label.tif +0 -0
  1168. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/segmentation/docs/imgs/raw/image.tif +0 -0
  1169. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/segmentation/example.ipynb +0 -0
  1170. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/segmentation/huggingface.ipynb +0 -0
  1171. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/segmentation/models/.gitkeep +0 -0
  1172. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/segmentation/requirements.txt +0 -0
  1173. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/segmentation/segmentation_config.yaml +0 -0
  1174. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/segmentation/test_image.tif +0 -0
  1175. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/server/GAPS.md +0 -0
  1176. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/server/README.md +0 -0
  1177. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/ui/.gitkeep +0 -0
  1178. {fibsem-0.5.1.dev0/fibsem/imaging/tests → fibsem-0.5.2rc2/fibsem/ui/correlation}/__init__.py +0 -0
  1179. {fibsem-0.5.1.dev0/fibsem/segmentation → fibsem-0.5.2rc2/fibsem/ui/correlation/widgets}/__init__.py +0 -0
  1180. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/ui/fm/widgets/test_channel_list_widget.py +0 -0
  1181. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/ui/icons/check.svg +0 -0
  1182. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/ui/icons/chevron_down.svg +0 -0
  1183. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/ui/icons/drag_handle.svg +0 -0
  1184. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/ui/icons/minus.svg +0 -0
  1185. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/ui/icons/plus.svg +0 -0
  1186. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/ui/qtdesigner_files/FibsemManipulatorWidget.py +0 -0
  1187. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/ui/widgets/annotation_pin.py +0 -0
  1188. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/ui/widgets/drag_distance.py +0 -0
  1189. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/ui/widgets/hud_ticker.py +0 -0
  1190. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/ui/widgets/radial_menu.py +0 -0
  1191. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/ui/widgets/tests/test_alignment_comparison.py +0 -0
  1192. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/ui/widgets/tests/test_alignment_plot_v2.py +0 -0
  1193. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/ui/widgets/tests/test_drag_distance.py +0 -0
  1194. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/ui/widgets/tests/test_milling_settings_widget.py +0 -0
  1195. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/ui/widgets/tests/test_milling_stage_list.py +0 -0
  1196. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/ui/widgets/tests/test_milling_stages_widget.py +0 -0
  1197. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/ui/widgets/tests/test_pattern_settings_widget.py +0 -0
  1198. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/ui/widgets/tests/test_radial_menu.py +0 -0
  1199. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/ui/widgets/tests/test_reference_image_parameters_widget.py +0 -0
  1200. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/ui/widgets/tests/test_saved_position_widget.py +0 -0
  1201. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/ui/widgets/zoom_loupe.py +0 -0
  1202. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem/util/__init__.py +0 -0
  1203. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem.egg-info/dependency_links.txt +0 -0
  1204. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/fibsem.egg-info/top_level.txt +0 -0
  1205. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/mkdocs.yml +0 -0
  1206. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/scripts/.gitkeep +0 -0
  1207. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/scripts/arctis_notebook.ipynb +0 -0
  1208. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/scripts/compat-notebook.ipynb +0 -0
  1209. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/scripts/install.bat +0 -0
  1210. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/scripts/install.sh +0 -0
  1211. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/scripts/notebook.ipynb +0 -0
  1212. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/scripts/onnx_notebook.ipynb +0 -0
  1213. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/scripts/run.sh +0 -0
  1214. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/scripts/run_ui.bat +0 -0
  1215. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/scripts/stack_Arctis_Script.ipynb +0 -0
  1216. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/scripts/test-alignment-script.py +0 -0
  1217. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/scripts/test-autofunctions-notebook.ipynb +0 -0
  1218. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/scripts/test_tiled_overview_widget.py +0 -0
  1219. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/scripts/test_workflow_summary_dialog.py +0 -0
  1220. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/setup.cfg +0 -0
  1221. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/tests/__init__.py +0 -0
  1222. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/tests/autolamella/__init__.py +0 -0
  1223. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/tests/autolamella/test_fluorescence_pose.py +0 -0
  1224. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/tests/correlation/__init__.py +0 -0
  1225. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/tests/fm/__init__.py +0 -0
  1226. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/tests/tescan-test-notebook.ipynb +0 -0
  1227. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/tests/test_example.py +0 -0
  1228. {fibsem-0.5.1.dev0 → fibsem-0.5.2rc2}/tests/test_tescan.py +0 -0
@@ -0,0 +1,142 @@
1
+ name: Publish to PyPI
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - "v*.*.*"
7
+
8
+ jobs:
9
+ # The version in pyproject.toml is written by hand and the tag is created
10
+ # separately, so the two can disagree. Nothing downstream notices: the build
11
+ # takes its version from pyproject, so a tag of v0.5.2rc1 on a commit that
12
+ # still says 0.5.2.dev0 uploads 0.5.2.dev0 to PyPI -- wrong version, no error,
13
+ # and unfixable afterwards because PyPI never allows a version to be reused.
14
+ # Runs alongside the tests rather than inside publish so the failure lands in
15
+ # seconds, while retagging is still cheap.
16
+ check-version:
17
+ runs-on: ubuntu-latest
18
+ outputs:
19
+ # Consumed by github-release, so the pre-release decision is made once,
20
+ # by packaging, rather than re-derived from the tag string in shell.
21
+ prerelease: ${{ steps.check.outputs.prerelease }}
22
+ steps:
23
+ - uses: actions/checkout@v7
24
+ - uses: actions/setup-python@v7
25
+ with:
26
+ python-version: "3.11"
27
+ - run: pip install packaging
28
+ - name: Tag must match the packaged version
29
+ id: check
30
+ env:
31
+ TAG: ${{ github.ref_name }}
32
+ run: |
33
+ python - <<'PY'
34
+ import os
35
+ import sys
36
+ import tomllib
37
+
38
+ from packaging.version import InvalidVersion, Version
39
+
40
+ tag = os.environ["TAG"]
41
+
42
+ with open("pyproject.toml", "rb") as fh:
43
+ project = tomllib.load(fh)["project"]
44
+ if "version" not in project:
45
+ sys.exit(
46
+ "::error::pyproject.toml declares no static [project] version. "
47
+ "The versioning scheme changed; this check needs updating."
48
+ )
49
+ declared = project["version"]
50
+
51
+ try:
52
+ tagged = Version(tag.removeprefix("v"))
53
+ except InvalidVersion:
54
+ sys.exit(f"::error::tag {tag} is not a PEP 440 version")
55
+
56
+ # is_devrelease, not is_prerelease: packaging counts rcN as a
57
+ # pre-release too, and those are exactly what we do publish.
58
+ if tagged.is_devrelease:
59
+ sys.exit(
60
+ f"::error::tag {tag} is a development version. .devN marks "
61
+ f"the working state of main and is never published; it is "
62
+ f"also the one form that matches pyproject.toml unchanged, so "
63
+ f"the check below would not catch it. Tag an rcN for Early "
64
+ f"Access, or a final release. See RELEASE.md."
65
+ )
66
+
67
+ if tagged != Version(declared):
68
+ sys.exit(
69
+ f"::error::tag {tag} would publish {declared}. pyproject.toml "
70
+ f'says version = "{declared}". Fix one or the other and retag: '
71
+ f"a version cannot be reused once it is on PyPI."
72
+ )
73
+
74
+ print(f"tag {tag} matches pyproject.toml version {declared}")
75
+
76
+ # is_prerelease is the right test *here*, unlike above: dev releases
77
+ # are already rejected, so anything still prerelease is an rc/a/b.
78
+ with open(os.environ["GITHUB_OUTPUT"], "a") as fh:
79
+ fh.write(f"prerelease={str(tagged.is_prerelease).lower()}\n")
80
+ PY
81
+
82
+ test:
83
+ runs-on: ubuntu-latest
84
+ steps:
85
+ - uses: actions/checkout@v7
86
+ - uses: actions/setup-python@v7
87
+ with:
88
+ python-version: "3.11"
89
+ cache: pip
90
+ - run: pip install ".[test]"
91
+ - name: Test with pytest
92
+ run: pytest tests/ -n auto --dist worksteal --timeout=300
93
+
94
+ publish:
95
+ needs: [check-version, test]
96
+ runs-on: ubuntu-latest
97
+ environment: pypi
98
+ permissions:
99
+ id-token: write
100
+
101
+ steps:
102
+ - uses: actions/checkout@v7
103
+ - uses: actions/setup-python@v7
104
+ with:
105
+ python-version: "3.11"
106
+ cache: pip
107
+ - run: pip install build
108
+ - run: python -m build
109
+ - uses: pypa/gh-action-pypi-publish@release/v1
110
+
111
+ # The Release page is how Early Access finds out a candidate exists, and its
112
+ # Atom feed (/releases.atom) is the only notification channel the programme
113
+ # has. Created by hand until now, which meant it could simply be forgotten.
114
+ #
115
+ # Separate job rather than a step in publish: this needs contents: write,
116
+ # and publish holds the id-token used for trusted publishing to PyPI. Runs
117
+ # after it, so a failed upload never announces a release nobody can install.
118
+ github-release:
119
+ needs: [check-version, publish]
120
+ runs-on: ubuntu-latest
121
+ permissions:
122
+ contents: write
123
+ steps:
124
+ - name: Create the GitHub Release
125
+ env:
126
+ GH_TOKEN: ${{ github.token }}
127
+ GH_REPO: ${{ github.repository }}
128
+ TAG: ${{ github.ref_name }}
129
+ PRERELEASE: ${{ needs.check-version.outputs.prerelease }}
130
+ run: |
131
+ if gh release view "$TAG" >/dev/null 2>&1; then
132
+ echo "release $TAG already exists, leaving it alone"
133
+ exit 0
134
+ fi
135
+
136
+ args=(--generate-notes --verify-tag)
137
+ # Keeps a candidate from taking the "Latest" badge from a real release.
138
+ if [ "$PRERELEASE" = "true" ]; then
139
+ args+=(--prerelease)
140
+ fi
141
+
142
+ gh release create "$TAG" "${args[@]}"
@@ -0,0 +1,185 @@
1
+ # This workflow will install Python dependencies, run tests and lint with a variety of Python versions
2
+ # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python
3
+
4
+ name: Python package
5
+
6
+ on:
7
+ # `release/**` alongside main: a release branch is cut from a release tag and the
8
+ # final is tagged from it, so what lands there by cherry-pick is what ships -- and
9
+ # without this it would be the one code path in the repository that reaches users
10
+ # having run no tests at all. Nothing else is branch-scoped here, so this is the
11
+ # whole of what has to change.
12
+ push:
13
+ branches: [ "main", "release/**" ]
14
+ pull_request:
15
+ branches: [ "main", "release/**" ]
16
+
17
+ jobs:
18
+ build:
19
+
20
+ runs-on: ${{ matrix.os }}
21
+ strategy:
22
+ fail-fast: false
23
+ matrix:
24
+ # Linux on every supported version, Windows on the ends of the range.
25
+ # The microscopes all run Windows, so every platform-specific claim in the
26
+ # codebase was previously untested on the platform that matters (FIB-704) --
27
+ # but twelve jobs is more wall-clock than the coverage is worth, and the
28
+ # oldest and newest catch what the middle would.
29
+ os: [ubuntu-latest]
30
+ python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
31
+ include:
32
+ - os: windows-latest
33
+ python-version: "3.8"
34
+ - os: windows-latest
35
+ python-version: "3.13"
36
+
37
+ steps:
38
+ - uses: actions/checkout@v7
39
+ - name: Set up Python ${{ matrix.python-version }}
40
+ uses: actions/setup-python@v7
41
+ with:
42
+ python-version: ${{ matrix.python-version }}
43
+ cache: 'pip'
44
+ - name: Install dependencies
45
+ run: |
46
+ python -m pip install --upgrade pip
47
+ # UI deps (the [ui] extra) are intentionally not installed *here*. Not
48
+ # because the tests that need them do not matter -- the `ui-tests` job
49
+ # below runs every one of them -- but because installing napari adds 100
50
+ # packages and 116 MB to a job that runs eight times, and registers three
51
+ # pytest plugins (napari, napari-plugin-engine, npe2) into the session,
52
+ # one of them an autouse fixture that would run around all 2000-odd tests
53
+ # here to serve none of them.
54
+ python -m pip install ".[test]"
55
+ - name: Install the plugin entry point fixture
56
+ # A packaged plugin is the only way into two of the three extension
57
+ # points, so the entry point contract needs a plugin installed the way a
58
+ # user installs one. Without this step tests/test_plugin_entry_points.py
59
+ # skips, and a refactor could break every third-party plugin with no test
60
+ # failure. --no-deps because fibsem is already installed above.
61
+ run: python -m pip install --no-deps tests/fixtures/plugin
62
+ - name: Test with pytest
63
+ env:
64
+ # Turns the fixture-missing skip into a hard error. Without this, losing
65
+ # the install step above would silently skip the entry point tests and
66
+ # leave the build green -- the exact silent breakage they exist to catch.
67
+ FIBSEM_REQUIRE_PLUGIN_FIXTURE: "1"
68
+ run: pytest tests/ -n auto --dist worksteal --timeout=300
69
+
70
+ ui-tests:
71
+ # The one job that installs the [ui] extra, and the only place the 2270 tests
72
+ # under tests/ui/ are ever run.
73
+ #
74
+ # Every file there opens with `pytest.importorskip("PyQt5")`. The matrix job
75
+ # above installs `.[test]` without it, so all 103 files skip silently and its
76
+ # green says nothing whatsoever about that directory. That is not theoretical:
77
+ # main reported success while tests/ui/test_fm_overview_widget.py failed 17
78
+ # tests locally, because two pull requests that were each green alone bound the
79
+ # same name to two different constants (#581). Only a run with PyQt5 installed
80
+ # could have caught it, and this is that run.
81
+ runs-on: ubuntu-latest
82
+ steps:
83
+ - uses: actions/checkout@v7
84
+ - name: Set up Python
85
+ uses: actions/setup-python@v7
86
+ with:
87
+ # One version, not the matrix. What this job answers -- does the UI code
88
+ # import, and does it behave -- does not vary across Python versions, so
89
+ # running it six times would repeat the same answer. 3.11 rather than the
90
+ # ends of the range because the `ui` extra resolves differently at both:
91
+ # 3.8 gets napari 0.4.x, a different codebase to the 0.5.x everyone
92
+ # develops against.
93
+ python-version: "3.11"
94
+ cache: 'pip'
95
+ - name: Install the libraries Qt's offscreen platform plugin links against
96
+ # libqoffscreen.so needs libGL, libX11, libXext, libfontconfig, libfreetype
97
+ # and libglib (read off the wheel's ELF DT_NEEDED entries). All but libGL are
98
+ # already on the runner image. Note it does NOT need the xcb/xkbcommon stack
99
+ # that the normal `xcb` platform pulls in -- that is the point of running
100
+ # offscreen rather than under a virtual display.
101
+ #
102
+ # If one of the others ever goes missing the failure is loud and immediate:
103
+ # Qt refuses to load the platform plugin, names the library, and every test
104
+ # errors at QApplication construction. There is no version of this that
105
+ # passes while broken.
106
+ run: sudo apt-get update && sudo apt-get install -y libgl1 libegl1
107
+ - name: Install dependencies
108
+ run: |
109
+ python -m pip install --upgrade pip
110
+ python -m pip install ".[test,ui]"
111
+ - name: Fail if the UI extra did not actually install
112
+ # A green job that skipped everything is the exact failure mode this job
113
+ # exists to end. Because every file guards on importorskip, a broken install
114
+ # does not turn the run red -- it empties it, and empty reads as passing.
115
+ # So check the imports directly, where absence is an error.
116
+ run: python -c "import PyQt5, napari, qtawesome"
117
+ - name: Test with pytest
118
+ env:
119
+ QT_QPA_PLATFORM: offscreen
120
+ # Deliberately serial, unlike the matrix job above. These tests share one
121
+ # QApplication and leak top-level widgets across files, so some of them
122
+ # depend on what the files before them left behind. `-n auto --dist
123
+ # worksteal` would shuffle that order differently on every run and turn a
124
+ # deterministic failure into a flake; `--dist loadfile` does not help either,
125
+ # since it only holds order *within* a file. Three minutes is a fair price
126
+ # for a result that means the same thing twice in a row.
127
+ run: pytest tests/ui/ -q --timeout=300
128
+
129
+ lint:
130
+ # Its own job, not a step inside the matrix above: ruff's result does not
131
+ # vary by OS or Python version, so running it in the matrix would repeat the
132
+ # same answer eight times. This takes about ten seconds.
133
+ runs-on: ubuntu-latest
134
+ steps:
135
+ - uses: actions/checkout@v7
136
+ with:
137
+ # The formatting step below diffs against the merge base, which does not
138
+ # exist in the default shallow clone.
139
+ fetch-depth: 0
140
+ - uses: actions/setup-python@v7
141
+ with:
142
+ python-version: "3.12"
143
+ # Pinned so a new ruff release cannot turn this red on a commit that changed
144
+ # nothing. Keep in sync with the `dev` extra in pyproject.toml.
145
+ - run: python -m pip install ruff==0.16.3
146
+ # --output-format=github annotates the diff instead of only failing the job.
147
+ - run: ruff check --output-format=github .
148
+ - name: Check formatting of the files this PR changes
149
+ # Format-on-touch rather than a whole-tree flag day: a file has to be
150
+ # formatted once something in it is edited, so the tree converts fastest
151
+ # where the work actually happens. `main` stays mixed for a while, which
152
+ # is the accepted cost.
153
+ #
154
+ # The count is echoed on purpose. The failure mode of a diff-scoped check
155
+ # is that the diff comes back empty -- wrong base, shallow clone -- and
156
+ # the job passes green having checked nothing, so the number has to be
157
+ # visible in the log to be disbelieved.
158
+ run: |
159
+ set -euo pipefail
160
+ base=$(git merge-base origin/main HEAD)
161
+ # mktemp, not a file in the repo root: this script is meant to be
162
+ # runnable locally too, and it should not leave anything behind.
163
+ changed=$(mktemp)
164
+ trap 'rm -f "$changed"' EXIT
165
+ git diff --name-only --diff-filter=d "$base" HEAD -- '*.py' > "$changed"
166
+ count=$(wc -l < "$changed" | tr -d ' ')
167
+ echo "python files changed against $base: $count"
168
+ if [ "$count" -eq 0 ]; then
169
+ echo "no python files changed; nothing to check"
170
+ exit 0
171
+ fi
172
+ sed 's/^/ /' "$changed"
173
+ # NUL-separated: a path with a space would otherwise split into two.
174
+ # --force-exclude is required, not optional: ruff ignores `exclude` for
175
+ # paths named explicitly on the command line, and this step names every
176
+ # path explicitly. Without it the config's `exclude` silently stops
177
+ # applying here -- today that means a pull request touching a notebook-
178
+ # adjacent or otherwise excluded path gets told to reformat it anyway.
179
+ if ! tr '\n' '\0' < "$changed" \
180
+ | xargs -0 ruff format --check --force-exclude --; then
181
+ echo
182
+ echo "To fix, from the repo root:"
183
+ echo " ruff format \$(git diff --name-only --diff-filter=d \$(git merge-base origin/main HEAD) HEAD -- '*.py')"
184
+ exit 1
185
+ fi
@@ -0,0 +1,104 @@
1
+ *.pyc
2
+ *.egg-info/*
3
+ .vscode/*
4
+ .coverage
5
+ *.code-workspace
6
+ *.log
7
+ scratch/test_image.tif
8
+ *.zarr/*
9
+
10
+ fibsem/wandb/*
11
+
12
+ *.json
13
+ fibsem/segmentation/wandb/*
14
+ fibsem/segmentation/models/*.pt*
15
+ wandb/*
16
+
17
+ build/*
18
+ fibsem/segmentation/training/*
19
+ scratch/training/*
20
+ fibsem/testing.ipynb
21
+ fibsem/_version.py
22
+ demo_*/*
23
+ scratch/figure/wd*/*
24
+ fibsem/log/data/*
25
+ test_images/test.tif
26
+
27
+ fibsem/detection/notebook.ipynb
28
+
29
+ media/*
30
+ .DS_Store
31
+ fibsem/segmentation/models/**/*.pt*
32
+ fibsem/segmentation/models/*
33
+ example/**/*.tif
34
+ example/demo/*
35
+ fibsem/chat/secret.txt
36
+
37
+ dist/*
38
+ scratch/tile-images/*
39
+ fibsem/log/*
40
+ fibsem/db/fibsem.db
41
+ fibsem/notebook.ipynb
42
+ scratch/health-monitor/*
43
+ example/notebook.ipynb
44
+ fibsem/segmentation/*config*.y*ml
45
+ !fibsem/segmentation/segementation_config.yaml
46
+
47
+ fibsem/config/*.yaml
48
+ !fibsem/config/microscope-configuration.yaml
49
+ !fibsem/config/tescan_manipulator.yaml
50
+ !fibsem/config/tfs*.yaml
51
+ !fibsem/config/odemis*.yaml
52
+ !fibsem/config/tescan-*.yaml
53
+ !fibsem/config/sim-*.yaml
54
+ !fibsem/config/sample-holder.yaml
55
+ !fibsem/config/default-sample-holder.yaml
56
+
57
+ **/wandb/*
58
+ tests/notebook.ipynb
59
+ fibsem/db/v2/notebook.ipynb
60
+ scripts/segformer-*/*
61
+ *.onnx
62
+ scripts/**/*.jpeg
63
+ scripts/**/*.png
64
+ fibsem/ui/test_qt.py
65
+ scripts/dev-notebook2.ipynb
66
+ scripts/launch-autolamella.sh
67
+ fibsem/applications/autolamella/log/*
68
+ fibsem/fm/*.ome.tiff
69
+ notes.md
70
+ fibsem/ui/test-ndv.py
71
+ scripts/reporting-notebook.ipynb
72
+ fibsem/applications/autolamella/protocol/protocol-on-grid-trench-horizontal.yaml
73
+ scripts/Test-Experiment/*
74
+ fibsem/applications/autolamella/autolamella_architecture.md
75
+ projects/*
76
+ tmp/*
77
+ recommendations/*
78
+
79
+ fibsem/applications/test-data/*
80
+ database_migration.md
81
+ fibsem/ui/OFFLINE_ICONS.md
82
+ fibsem/correlation/scaling_factor_lookup_table.csv
83
+ fibsem/correlation/slice_scaling_factor_LUT.ipynb
84
+ sashimi/*
85
+ fibsem/applications/sashimi/log/*
86
+ # Refractive-index LUT (downloaded on demand from the data release)
87
+ fibsem/correlation/data/
88
+ # Belt-and-braces: a path built from an unset (None) save path lands here
89
+ None/
90
+ publications/*
91
+ # Real acquisition images used to generate the metadata fixtures. The images stay
92
+ # local: they embed the acquiring site's directory layout, hostname and instrument
93
+ # serial number, and this remote is public. Only the scrubbed metadata is committed
94
+ # -- see tests/fixtures/metadata/README.md.
95
+ tests/data/
96
+ # Those scrubbed fixtures are the committed artifact, so they have to be re-included
97
+ # against the blanket `*.json` above.
98
+ !tests/fixtures/metadata/*.json
99
+
100
+ # Overview runs started without a save directory fall back to the working directory
101
+ # (`FibsemOverviewWidget.acquire`), so running the app from a checkout writes tilesets
102
+ # into it. 11 MB of them reached a commit once.
103
+ overview-image-*.tif
104
+ overview-image-*/
@@ -0,0 +1,36 @@
1
+ # AGENTS.md
2
+
3
+ **Read [CONTRIBUTING.md](CONTRIBUTING.md) first.** Everything in it applies to you: the
4
+ five-file cap on pull requests, the `Release-Note:` commit trailer and where it must sit,
5
+ the Python 3.8 floor in signatures, format-on-touch, `QT_QPA_PLATFORM=offscreen`, the
6
+ palette tokens, and the rule that nothing reaches the network unless a user asked it to.
7
+
8
+ This file covers only what is specific to working here as an agent.
9
+
10
+ ## Do not run the full test suite by default
11
+
12
+ Run the files your change affects. The full suite takes several minutes, and running it
13
+ after every edit spends most of a session waiting. Run it once before pushing, or when
14
+ asked.
15
+
16
+ ## Green tests are weaker evidence here than usual
17
+
18
+ Two reasons, both of which have produced confidently wrong reports:
19
+
20
+ - **napari cannot be constructed under `QT_QPA_PLATFORM=offscreen`** — its GL canvas
21
+ aborts the process with no traceback. Any test of a napari path is therefore against a
22
+ stub, and proves nothing about the real widget.
23
+ - **CI installs `.[test]`, not `.[ui]`.** The Qt tests `importorskip` there. A UI test you
24
+ watched pass locally may not have run in CI at all.
25
+
26
+ For anything about wiring, say plainly that you have not run the application, or run it.
27
+
28
+ ## Say what you did not verify
29
+
30
+ Prefer "I checked X by reading the code, not by running it" over silence. A claim that
31
+ turns out to rest on inspection when the reader assumed execution costs more than the
32
+ hedge does.
33
+
34
+ ## Attribution
35
+
36
+ Do not add AI or assistant attribution to commit messages or pull request bodies.