microeye 2.3.4__tar.gz → 2.3.5__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 (200) hide show
  1. {microeye-2.3.4/src/microeye.egg-info → microeye-2.3.5}/PKG-INFO +22 -20
  2. {microeye-2.3.4 → microeye-2.3.5}/README.md +20 -17
  3. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/_version.py +1 -1
  4. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/tools/roi_selectors.py +5 -5
  5. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/camera_options.py +56 -11
  6. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/camera_panel.py +148 -255
  7. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/jobs.py +4 -2
  8. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/shortcuts.py +90 -17
  9. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/mieye/devices_manager.py +8 -3
  10. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/mieye/miEye.py +3 -0
  11. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/pycromanager/devices.py +1 -1
  12. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/stages/piezo_concept.py +4 -4
  13. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/stages/stabilizer.py +3 -0
  14. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/stages/stage.py +5 -3
  15. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/widgets/controller.py +27 -4
  16. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/utils/display.py +227 -18
  17. {microeye-2.3.4 → microeye-2.3.5/src/microeye.egg-info}/PKG-INFO +22 -20
  18. {microeye-2.3.4 → microeye-2.3.5}/src/microeye.egg-info/requires.txt +1 -2
  19. {microeye-2.3.4 → microeye-2.3.5}/LICENSE +0 -0
  20. {microeye-2.3.4 → microeye-2.3.5}/MANIFEST.in +0 -0
  21. {microeye-2.3.4 → microeye-2.3.5}/pyproject.toml +0 -0
  22. {microeye-2.3.4 → microeye-2.3.5}/setup.cfg +0 -0
  23. {microeye-2.3.4 → microeye-2.3.5}/setup.py +0 -0
  24. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/__init__.py +0 -0
  25. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/__init__.py +0 -0
  26. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/checklist_dialog.py +0 -0
  27. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/cmosMaps.py +0 -0
  28. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/filters/__init__.py +0 -0
  29. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/filters/base.py +0 -0
  30. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/filters/spatial.py +0 -0
  31. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/filters/temporal.py +0 -0
  32. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/__init__.py +0 -0
  33. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/fit.py +0 -0
  34. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/nena.py +0 -0
  35. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/phasor_fit.py +0 -0
  36. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/processing.py +0 -0
  37. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/psf/__init__.py +0 -0
  38. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/psf/extract.py +0 -0
  39. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/psf/rubost_mean.py +0 -0
  40. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/psf/spline.py +0 -0
  41. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/psf/stats/__init__.py +0 -0
  42. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/psf/stats/core.py +0 -0
  43. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/psf/stats/curve_fit.py +0 -0
  44. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/psf/stats/io.py +0 -0
  45. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/psf/stats/slope_fit.py +0 -0
  46. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/psf/temp.py +0 -0
  47. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/psf/test.py +0 -0
  48. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/pyfit3Dcspline/CPU/CPUfunctions.py +0 -0
  49. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/pyfit3Dcspline/CPU/CPUmleFit_LM.py +0 -0
  50. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/pyfit3Dcspline/CPU/CPUsplineLib.py +0 -0
  51. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/pyfit3Dcspline/CPU/__init__.py +0 -0
  52. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/pyfit3Dcspline/GPU/GPUfunctions.py +0 -0
  53. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/pyfit3Dcspline/GPU/GPUmleFit_LM_EMCCD.py +0 -0
  54. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/pyfit3Dcspline/GPU/GPUmleFit_LM_sCMOS.py +0 -0
  55. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/pyfit3Dcspline/GPU/GPUsplineLib.py +0 -0
  56. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/pyfit3Dcspline/GPU/__init__.py +0 -0
  57. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/pyfit3Dcspline/__init__.py +0 -0
  58. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/pyfit3Dcspline/constants.py +0 -0
  59. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/pyfit3Dcspline/mainfunctions.py +0 -0
  60. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/results.py +0 -0
  61. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/results_stats.py +0 -0
  62. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/tardis.py +0 -0
  63. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/multi_viewer.py +0 -0
  64. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/processing/__init__.py +0 -0
  65. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/processing/frc.py +0 -0
  66. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/rendering/__init__.py +0 -0
  67. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/rendering/base.py +0 -0
  68. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/rendering/cloud.py +0 -0
  69. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/rendering/core.py +0 -0
  70. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/rendering/volumetric.py +0 -0
  71. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/tools/__init__.py +0 -0
  72. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/tools/kymograms.py +0 -0
  73. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/utils/__init__.py +0 -0
  74. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/utils/coordinates.py +0 -0
  75. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/utils/images.py +0 -0
  76. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/utils/windows.py +0 -0
  77. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/viewer/__init__.py +0 -0
  78. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/viewer/image_options_widget.py +0 -0
  79. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/viewer/images.py +0 -0
  80. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/viewer/layers_widget.py +0 -0
  81. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/viewer/localizations.py +0 -0
  82. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/viewer/psf.py +0 -0
  83. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/viewer/volume.py +0 -0
  84. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/__init__.py +0 -0
  85. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/__init__.py +0 -0
  86. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/camera_calibration.py +0 -0
  87. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/camera_list.py +0 -0
  88. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/dummy/__init__.py +0 -0
  89. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/dummy/dummy_panel.py +0 -0
  90. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/line_profiler.py +0 -0
  91. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/linescan/IR_Cam.py +0 -0
  92. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/linescan/__init__.py +0 -0
  93. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/micam.py +0 -0
  94. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/pco/__init__.py +0 -0
  95. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/pco/enums.py +0 -0
  96. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/pco/pco_cam.py +0 -0
  97. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/pco/pco_panel.py +0 -0
  98. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/thorlabs/__init__.py +0 -0
  99. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/thorlabs/thorlabs.py +0 -0
  100. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/thorlabs/thorlabs_panel.py +0 -0
  101. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/ueye/__init__.py +0 -0
  102. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/ueye/ueye_camera.py +0 -0
  103. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/ueye/ueye_panel.py +0 -0
  104. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/vimba/__init__.py +0 -0
  105. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/vimba/vimba_cam.py +0 -0
  106. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/vimba/vimba_panel.py +0 -0
  107. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/device.py +0 -0
  108. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/lasers/__init__.py +0 -0
  109. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/lasers/io_matchbox.py +0 -0
  110. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/lasers/io_params.py +0 -0
  111. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/lasers/io_single_laser.py +0 -0
  112. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/lasers/laser_relay.py +0 -0
  113. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/mieye/__init__.py +0 -0
  114. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/mieye/acquisition_manager.py +0 -0
  115. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/misc/__init__.py +0 -0
  116. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/misc/acquisition_view.py +0 -0
  117. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/misc/reglo.py +0 -0
  118. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/misc/temp.py +0 -0
  119. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/port_config.py +0 -0
  120. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/protocols/__init__.py +0 -0
  121. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/protocols/actions.py +0 -0
  122. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/protocols/actions_items.py +0 -0
  123. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/protocols/designer.py +0 -0
  124. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/protocols/scene_manager.py +0 -0
  125. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/protocols/serialization.py +0 -0
  126. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/pycromanager/__init__.py +0 -0
  127. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/pycromanager/core.py +0 -0
  128. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/pycromanager/enums.py +0 -0
  129. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/pycromanager/headless.py +0 -0
  130. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/pycromanager/utils.py +0 -0
  131. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/pycromanager/widgets/__init__.py +0 -0
  132. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/pycromanager/widgets/bridges.py +0 -0
  133. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/pycromanager/widgets/headless_manager.py +0 -0
  134. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/pycromanager/widgets/headless_options.py +0 -0
  135. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/pycromanager/widgets/pycro_panel.py +0 -0
  136. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/stages/__init__.py +0 -0
  137. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/stages/elliptec/__init__.py +0 -0
  138. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/stages/elliptec/baseDevice.py +0 -0
  139. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/stages/elliptec/device.py +0 -0
  140. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/stages/elliptec/deviceID.py +0 -0
  141. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/stages/elliptec/devicePort.py +0 -0
  142. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/stages/elliptec/deviceStatus.py +0 -0
  143. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/stages/elliptec/devicesView.py +0 -0
  144. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/stages/elliptec/ellDevices.py +0 -0
  145. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/stages/elliptec/messageUpdater.py +0 -0
  146. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/stages/elliptec/motorInfo.py +0 -0
  147. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/stages/elliptec/stage.py +0 -0
  148. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/stages/elliptec/test.py +0 -0
  149. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/stages/kinesis/__init__.py +0 -0
  150. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/stages/kinesis/kdc101/__init__.py +0 -0
  151. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/stages/kinesis/kdc101/enums.py +0 -0
  152. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/stages/kinesis/kdc101/factory.py +0 -0
  153. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/stages/kinesis/kdc101/kdc101.py +0 -0
  154. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/stages/kinesis/kinesis.py +0 -0
  155. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/widgets/__init__.py +0 -0
  156. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/widgets/devices.py +0 -0
  157. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/widgets/focusWidget.py +0 -0
  158. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/widgets/qlist_slider.py +0 -0
  159. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/widgets/scan_acquisition.py +0 -0
  160. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/icons/1024.png +0 -0
  161. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/icons/128.png +0 -0
  162. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/icons/16.png +0 -0
  163. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/icons/24.png +0 -0
  164. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/icons/256.png +0 -0
  165. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/icons/32.png +0 -0
  166. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/icons/48.png +0 -0
  167. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/icons/512.png +0 -0
  168. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/icons/64.png +0 -0
  169. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/icons/__init__.py +0 -0
  170. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/icons/close.svg +0 -0
  171. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/icons/mieye.png +0 -0
  172. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/icons/min.svg +0 -0
  173. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/icons/viewer.png +0 -0
  174. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/launcher.py +0 -0
  175. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/qt.py +0 -0
  176. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/tools/__init__.py +0 -0
  177. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/tools/microscopy.py +0 -0
  178. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/utils/__init__.py +0 -0
  179. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/utils/enum_encoder.py +0 -0
  180. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/utils/expandable_groupbox.py +0 -0
  181. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/utils/gui_helper.py +0 -0
  182. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/utils/hid_utils/__init__.py +0 -0
  183. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/utils/hid_utils/controller.py +0 -0
  184. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/utils/hid_utils/device.py +0 -0
  185. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/utils/hid_utils/enums.py +0 -0
  186. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/utils/hid_utils/utils.py +0 -0
  187. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/utils/labelled_slider.py +0 -0
  188. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/utils/metadata.py +0 -0
  189. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/utils/metadata_tree.py +0 -0
  190. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/utils/micro_launcher.py +0 -0
  191. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/utils/parameter_tree.py +0 -0
  192. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/utils/pyscripting.py +0 -0
  193. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/utils/retry_exec.py +0 -0
  194. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/utils/start_gui.py +0 -0
  195. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/utils/thread_worker.py +0 -0
  196. {microeye-2.3.4 → microeye-2.3.5}/src/microEye/utils/uImage.py +0 -0
  197. {microeye-2.3.4 → microeye-2.3.5}/src/microeye.egg-info/SOURCES.txt +0 -0
  198. {microeye-2.3.4 → microeye-2.3.5}/src/microeye.egg-info/dependency_links.txt +0 -0
  199. {microeye-2.3.4 → microeye-2.3.5}/src/microeye.egg-info/entry_points.txt +0 -0
  200. {microeye-2.3.4 → microeye-2.3.5}/src/microeye.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: microeye
3
- Version: 2.3.4
3
+ Version: 2.3.5
4
4
  Summary: A python toolkit for fluorescence microscopy that features hardware control, data analysis and vizualization for super-resolution single-molecule localization microscopy and single-partical tracking.
5
5
  Home-page: https://github.com/samhitech/microEye
6
6
  Author: Mohammad Nour Alsamsam
@@ -49,8 +49,7 @@ Requires-Dist: tables==3.9.1
49
49
  Requires-Dist: tabulate==0.9.0
50
50
  Requires-Dist: tqdm==4.66.4
51
51
  Requires-Dist: tifffile==2024.8.10
52
- Requires-Dist: vispy==0.14.2
53
- Requires-Dist: zarr==2.18.2
52
+ Requires-Dist: zarr>=2.18.2
54
53
  Dynamic: author
55
54
  Dynamic: author-email
56
55
  Dynamic: classifier
@@ -96,11 +95,11 @@ This toolkit is compatible with the [hardware](#hardware) used in our microscope
96
95
  ![GitHub Stars](https://img.shields.io/github/stars/samhitech/microEye.svg)
97
96
 
98
97
  ```bash
99
- __ ____ ____ ___ ____ ____
100
- / |/ (_)__________ / __/_ _____ _ __|_ | |_ // / /
101
- / /|_/ / / __/ __/ _ \/ _// // / -_) | |/ / __/_ _/_ </_ _/
102
- /_/ /_/_/\__/_/ \___/___/\_, /\__/ |___/____(_)____(_)_/
103
- /___/
98
+ __ __ _ ___ ___ ____ ___
99
+ | \/ (_)__ _ _ ___| __| _ ___ __ _|_ ) |__ / | __|
100
+ | |\/| | / _| '_/ _ \ _| || / -_) \ V // / _ |_ \_|__ \
101
+ |_| |_|_\__|_| \___/___\_, \___| \_//___(_)___(_)___/
102
+ |__/
104
103
  ```
105
104
 
106
105
  ## Table of Contents
@@ -281,18 +280,21 @@ microEye --module viewer
281
280
 
282
281
  The `microEye` uses the following Python packages:
283
282
 
284
- | Data Analysis and Visualization | GUI and UI Development | Code Quality and Formatting | Image and Video Processing | File and Data Storage | Other Utilities |
285
- | ------------------------------- | ---------------------- | --------------------------- | -------------------------- | --------------------- | --------------- |
286
- | dask | PySide6 | autopep8 | opencv-python | ome-types | hidapi |
287
- | matplotlib | pyqtdarktheme | pyflakes | | tables | pyfiglet |
288
- | numba | pyqtgraph | | | zarr | pyserial |
289
- | numpy | QDarkStyle | | | | pyjokes |
290
- | pandas | QScintilla | | | | setuptools |
291
- | scikit-image | PyQt5 (optional) | | | | tabulate |
292
- | scikit_learn | PyQt6 (optional) | | | | pyueye |
293
- | scipy | | | | | |
294
- | tifffile | | | | | |
295
- | vispy | | | | | |
283
+ | Data Analysis and Visualization | GUI and UI Development | Code Quality and Formatting | Image and Video Processing | File and Data Storage | Other Utilities | Microscopy |
284
+ | :-----------------------------: | :--------------------: | :-------------------------: | :------------------------: | :-------------------: | :-------------: | :----------: |
285
+ | dask | PySide6 | autopep8 | opencv-python | ome-types | hidapi | pycromanager |
286
+ | matplotlib | pyqtdarktheme | pyflakes | | tables | pyfiglet | |
287
+ | numba | pyqtgraph | | | zarr | pyserial | |
288
+ | numpy | QDarkStyle | | | | pyjokes | |
289
+ | pandas | QScintilla | | | | setuptools | |
290
+ | scikit-image | PyQt5 (optional) | | | | tabulate | |
291
+ | scikit_learn | PyQt6 (optional) | | | | pyueye | |
292
+ | scipy | | | | | tqdm | |
293
+ | tifffile | | | | | | |
294
+ | h5py | | | | | | |
295
+ | pco | | | | | | |
296
+ | | | | | | | |
297
+ | PyOpenGL | | | | | | |
296
298
 
297
299
  Note: VimbaPython is included in Vimba SDK and needs to be installed manually.
298
300
 
@@ -31,11 +31,11 @@ This toolkit is compatible with the [hardware](#hardware) used in our microscope
31
31
  ![GitHub Stars](https://img.shields.io/github/stars/samhitech/microEye.svg)
32
32
 
33
33
  ```bash
34
- __ ____ ____ ___ ____ ____
35
- / |/ (_)__________ / __/_ _____ _ __|_ | |_ // / /
36
- / /|_/ / / __/ __/ _ \/ _// // / -_) | |/ / __/_ _/_ </_ _/
37
- /_/ /_/_/\__/_/ \___/___/\_, /\__/ |___/____(_)____(_)_/
38
- /___/
34
+ __ __ _ ___ ___ ____ ___
35
+ | \/ (_)__ _ _ ___| __| _ ___ __ _|_ ) |__ / | __|
36
+ | |\/| | / _| '_/ _ \ _| || / -_) \ V // / _ |_ \_|__ \
37
+ |_| |_|_\__|_| \___/___\_, \___| \_//___(_)___(_)___/
38
+ |__/
39
39
  ```
40
40
 
41
41
  ## Table of Contents
@@ -216,18 +216,21 @@ microEye --module viewer
216
216
 
217
217
  The `microEye` uses the following Python packages:
218
218
 
219
- | Data Analysis and Visualization | GUI and UI Development | Code Quality and Formatting | Image and Video Processing | File and Data Storage | Other Utilities |
220
- | ------------------------------- | ---------------------- | --------------------------- | -------------------------- | --------------------- | --------------- |
221
- | dask | PySide6 | autopep8 | opencv-python | ome-types | hidapi |
222
- | matplotlib | pyqtdarktheme | pyflakes | | tables | pyfiglet |
223
- | numba | pyqtgraph | | | zarr | pyserial |
224
- | numpy | QDarkStyle | | | | pyjokes |
225
- | pandas | QScintilla | | | | setuptools |
226
- | scikit-image | PyQt5 (optional) | | | | tabulate |
227
- | scikit_learn | PyQt6 (optional) | | | | pyueye |
228
- | scipy | | | | | |
229
- | tifffile | | | | | |
230
- | vispy | | | | | |
219
+ | Data Analysis and Visualization | GUI and UI Development | Code Quality and Formatting | Image and Video Processing | File and Data Storage | Other Utilities | Microscopy |
220
+ | :-----------------------------: | :--------------------: | :-------------------------: | :------------------------: | :-------------------: | :-------------: | :----------: |
221
+ | dask | PySide6 | autopep8 | opencv-python | ome-types | hidapi | pycromanager |
222
+ | matplotlib | pyqtdarktheme | pyflakes | | tables | pyfiglet | |
223
+ | numba | pyqtgraph | | | zarr | pyserial | |
224
+ | numpy | QDarkStyle | | | | pyjokes | |
225
+ | pandas | QScintilla | | | | setuptools | |
226
+ | scikit-image | PyQt5 (optional) | | | | tabulate | |
227
+ | scikit_learn | PyQt6 (optional) | | | | pyueye | |
228
+ | scipy | | | | | tqdm | |
229
+ | tifffile | | | | | | |
230
+ | h5py | | | | | | |
231
+ | pco | | | | | | |
232
+ | | | | | | | |
233
+ | PyOpenGL | | | | | | |
231
234
 
232
235
  Note: VimbaPython is included in Vimba SDK and needs to be installed manually.
233
236
 
@@ -1,2 +1,2 @@
1
- version_info = (2, 3, 4)
1
+ version_info = (2, 3, 5)
2
2
  __version__ = '.'.join(map(str, version_info))
@@ -403,19 +403,19 @@ class MultiRectangularROISelector:
403
403
  elif key == 3014656: # Delete
404
404
  if self.active_roi_idx != -1:
405
405
  self.delete_active()
406
- elif key == ord('a'):
406
+ elif key in [ord('a'), ord('A')]:
407
407
  while self.current_mode != 'Add':
408
408
  self.cycle_mode()
409
- elif key == ord('e'):
409
+ elif key in [ord('e'), ord('E')]:
410
410
  while self.current_mode != 'Edit':
411
411
  self.cycle_mode()
412
- elif key == ord('i'):
412
+ elif key in [ord('i'), ord('I')]:
413
413
  while self.current_mode != 'Insert':
414
414
  self.cycle_mode()
415
- elif key == ord('m'):
415
+ elif key in [ord('m'), ord('M')]:
416
416
  while self.current_mode != 'Move':
417
417
  self.cycle_mode()
418
- elif key == ord('r'):
418
+ elif key in [ord('r'), ord('R')]:
419
419
  while self.current_mode != 'Remove':
420
420
  self.cycle_mode()
421
421
 
@@ -50,11 +50,15 @@ class CamParams(Enum):
50
50
  PREVIEW = 'Display.Preview'
51
51
  DISPLAY_STATS_OPTION = 'Display.Display Stats'
52
52
  AUTO_STRETCH = 'Display.Auto Stretch'
53
+ PLOT_TYPE = 'Display.Plot Type'
53
54
  VIEW_OPTIONS = 'Display.View Options'
54
55
  SINGLE_VIEW = 'Display.View Options.Single View'
55
- DUAL_SIDE = 'Display.View Options.Dual Channel (Side by Side)'
56
- DUAL_OVERLAID = 'Display.View Options.Dual Channel (Overlapped)'
56
+ DUAL_VIEW = 'Display.View Options.Dual Channel'
57
+ DUAL_OVERLAID = 'Display.View Options.Dual Channel (Overlaid)'
57
58
  ROIS_VIEW = 'Display.View Options.Export ROIs'
59
+ ROIS_VIEW_OVERLAID = 'Display.View Options.Export ROIs (Overlaid)'
60
+ # add colors for dual view RG, GB, GR, BR, BG, etc.
61
+ DUAL_VIEW_COLORS = 'Display.Dual View Colors'
58
62
  LINE_PROFILER = 'Display.Line Profiler'
59
63
  LUT = 'Display.LUT'
60
64
  LUT_NUMPY = 'Display.LUT Numpy (12bit)'
@@ -208,20 +212,36 @@ class CameraOptions(Tree):
208
212
  'value': True,
209
213
  },
210
214
  {
211
- 'name': str(CamParams.LUT),
215
+ 'name': str(CamParams.PLOT_TYPE),
212
216
  'type': 'list',
213
- 'limits': [str(CamParams.LUT_NUMPY), str(CamParams.LUT_OPENCV)],
217
+ 'limits': ['Histogram', 'Cumulative'],
214
218
  },
215
219
  {
216
220
  'name': str(CamParams.VIEW_OPTIONS),
217
221
  'type': 'list',
218
222
  'limits': [
219
223
  str(CamParams.SINGLE_VIEW),
220
- str(CamParams.DUAL_SIDE),
224
+ str(CamParams.DUAL_VIEW),
221
225
  str(CamParams.DUAL_OVERLAID),
222
226
  str(CamParams.ROIS_VIEW),
227
+ str(CamParams.ROIS_VIEW_OVERLAID),
223
228
  ],
224
229
  },
230
+ {
231
+ 'name': str(CamParams.DUAL_VIEW_COLORS),
232
+ 'type': 'list',
233
+ 'limits': [
234
+ 'RG',
235
+ 'GB',
236
+ 'GR',
237
+ 'BR',
238
+ 'BG',
239
+ 'RB',
240
+ 'GB',
241
+ 'RG',
242
+ ],
243
+ 'value': 'GB',
244
+ },
225
245
  {
226
246
  'name': str(CamParams.LINE_PROFILER),
227
247
  'type': 'bool',
@@ -501,8 +521,7 @@ class CameraOptions(Tree):
501
521
  for p, _, data in changes:
502
522
  path = self.param_tree.childPath(p)
503
523
 
504
- self.paramsChanged.emit(
505
- p, data)
524
+ self.paramsChanged.emit(p, data)
506
525
 
507
526
  @property
508
527
  def isTiff(self):
@@ -558,9 +577,17 @@ class CameraOptions(Tree):
558
577
  True if the view option is set to export ROIs view, False otherwise.
559
578
  '''
560
579
  return self.get_param_value(CamParams.VIEW_OPTIONS) in [
561
- str(CamParams.ROIS_VIEW)
580
+ str(CamParams.ROIS_VIEW),
581
+ str(CamParams.ROIS_VIEW_OVERLAID),
562
582
  ]
563
583
 
584
+ @property
585
+ def isFlippedROIsView(self) -> bool:
586
+ '''
587
+ Check if the view option is set to export ROIs view with flipped ROIs.
588
+ '''
589
+ return self.get_param_value(CamParams.EXPORT_ROIS_FLIPPED)
590
+
564
591
  @property
565
592
  def isOverlaidView(self):
566
593
  '''
@@ -572,7 +599,8 @@ class CameraOptions(Tree):
572
599
  True if the view option is set to overlaid view, False otherwise.
573
600
  '''
574
601
  return self.get_param_value(CamParams.VIEW_OPTIONS) in [
575
- str(CamParams.DUAL_OVERLAID)
602
+ str(CamParams.DUAL_OVERLAID),
603
+ str(CamParams.ROIS_VIEW_OVERLAID),
576
604
  ]
577
605
 
578
606
  @property
@@ -680,7 +708,7 @@ class CameraOptions(Tree):
680
708
  return self.get_param_value(CamParams.LINE_PROFILER)
681
709
 
682
710
  @property
683
- def isNumpyLUT(self):
711
+ def isHistogramPlot(self):
684
712
  '''
685
713
  Check if the LUT option is set to numpy lut.
686
714
 
@@ -689,7 +717,24 @@ class CameraOptions(Tree):
689
717
  bool
690
718
  True if the LUT option is set to numpy lut, False otherwise.
691
719
  '''
692
- return self.get_param_value(CamParams.LUT) in [str(CamParams.LUT_NUMPY)]
720
+ return self.get_param_value(CamParams.PLOT_TYPE) == 'Histogram'
721
+
722
+ @property
723
+ def dualViewColors(self):
724
+ '''
725
+ Get the dual view colors as channel indices.
726
+
727
+ Returns
728
+ -------
729
+ str
730
+ The selected dual view colors.
731
+ '''
732
+ # get the selected dual view colors from the parameter tree e.g. 'RG', 'GB', etc.
733
+ scheme = self.get_param_value(CamParams.DUAL_VIEW_COLORS)
734
+
735
+ indices = {'R': 0, 'G': 1, 'B': 2}
736
+
737
+ return [indices[c] for c in scheme]
693
738
 
694
739
 
695
740
  if __name__ == '__main__':