microeye 2.3.2a0__tar.gz → 2.3.4__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 (206) hide show
  1. {microeye-2.3.2a0/src/microeye.egg-info → microeye-2.3.4}/PKG-INFO +36 -10
  2. {microeye-2.3.2a0 → microeye-2.3.4}/README.md +35 -9
  3. microeye-2.3.4/src/microEye/_version.py +2 -0
  4. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/filters/__init__.py +3 -4
  5. microeye-2.3.4/src/microEye/analysis/filters/base.py +62 -0
  6. microeye-2.3.4/src/microEye/analysis/filters/spatial.py +576 -0
  7. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/filters/temporal.py +2 -2
  8. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/fitting/fit.py +9 -9
  9. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/viewer/image_options_widget.py +62 -112
  10. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/viewer/images.py +1 -1
  11. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/cams/camera_list.py +9 -0
  12. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/cams/camera_options.py +6 -1
  13. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/cams/camera_panel.py +261 -101
  14. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/cams/dummy/dummy_panel.py +3 -68
  15. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/cams/jobs.py +2 -1
  16. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/cams/pco/pco_panel.py +0 -68
  17. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/cams/shortcuts.py +104 -11
  18. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/cams/thorlabs/thorlabs_panel.py +0 -68
  19. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/cams/ueye/ueye_panel.py +0 -68
  20. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/cams/vimba/vimba_panel.py +0 -68
  21. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/mieye/devices_manager.py +41 -18
  22. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/mieye/miEye.py +6 -2
  23. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/pycromanager/devices.py +53 -20
  24. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/pycromanager/widgets/pycro_panel.py +14 -68
  25. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/stages/__init__.py +2 -7
  26. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/stages/kinesis/kinesis.py +1 -1
  27. microeye-2.3.4/src/microEye/hardware/stages/piezo_concept.py +141 -0
  28. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/stages/stabilizer.py +1 -1
  29. microeye-2.3.4/src/microEye/hardware/stages/stage.py +849 -0
  30. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/widgets/controller.py +19 -9
  31. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/widgets/devices.py +8 -1
  32. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/widgets/focusWidget.py +1 -1
  33. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/widgets/scan_acquisition.py +1 -1
  34. microeye-2.3.4/src/microEye/tools/__init__.py +0 -0
  35. microeye-2.3.4/src/microEye/tools/microscopy.py +731 -0
  36. microeye-2.3.4/src/microEye/utils/display.py +278 -0
  37. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/utils/gui_helper.py +29 -2
  38. microeye-2.3.4/src/microEye/utils/hid_utils/__init__.py +8 -0
  39. {microeye-2.3.2a0/src/microEye/utils/hid → microeye-2.3.4/src/microEye/utils/hid_utils}/controller.py +7 -3
  40. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/utils/uImage.py +12 -5
  41. {microeye-2.3.2a0 → microeye-2.3.4/src/microeye.egg-info}/PKG-INFO +36 -10
  42. {microeye-2.3.2a0 → microeye-2.3.4}/src/microeye.egg-info/SOURCES.txt +8 -5
  43. microeye-2.3.2a0/src/microEye/_version.py +0 -2
  44. microeye-2.3.2a0/src/microEye/analysis/filters/base.py +0 -21
  45. microeye-2.3.2a0/src/microEye/analysis/filters/spatial.py +0 -338
  46. microeye-2.3.2a0/src/microEye/hardware/stages/piezo_concept.py +0 -607
  47. microeye-2.3.2a0/src/microEye/hardware/stages/stage.py +0 -89
  48. microeye-2.3.2a0/src/microEye/utils/hid/__init__.py +0 -8
  49. {microeye-2.3.2a0 → microeye-2.3.4}/LICENSE +0 -0
  50. {microeye-2.3.2a0 → microeye-2.3.4}/MANIFEST.in +0 -0
  51. {microeye-2.3.2a0 → microeye-2.3.4}/pyproject.toml +0 -0
  52. {microeye-2.3.2a0 → microeye-2.3.4}/setup.cfg +0 -0
  53. {microeye-2.3.2a0 → microeye-2.3.4}/setup.py +0 -0
  54. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/__init__.py +0 -0
  55. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/__init__.py +0 -0
  56. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/checklist_dialog.py +0 -0
  57. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/cmosMaps.py +0 -0
  58. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/fitting/__init__.py +0 -0
  59. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/fitting/nena.py +0 -0
  60. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/fitting/phasor_fit.py +0 -0
  61. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/fitting/processing.py +0 -0
  62. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/fitting/psf/__init__.py +0 -0
  63. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/fitting/psf/extract.py +0 -0
  64. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/fitting/psf/rubost_mean.py +0 -0
  65. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/fitting/psf/spline.py +0 -0
  66. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/fitting/psf/stats/__init__.py +0 -0
  67. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/fitting/psf/stats/core.py +0 -0
  68. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/fitting/psf/stats/curve_fit.py +0 -0
  69. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/fitting/psf/stats/io.py +0 -0
  70. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/fitting/psf/stats/slope_fit.py +0 -0
  71. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/fitting/psf/temp.py +0 -0
  72. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/fitting/psf/test.py +0 -0
  73. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/fitting/pyfit3Dcspline/CPU/CPUfunctions.py +0 -0
  74. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/fitting/pyfit3Dcspline/CPU/CPUmleFit_LM.py +0 -0
  75. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/fitting/pyfit3Dcspline/CPU/CPUsplineLib.py +0 -0
  76. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/fitting/pyfit3Dcspline/CPU/__init__.py +0 -0
  77. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/fitting/pyfit3Dcspline/GPU/GPUfunctions.py +0 -0
  78. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/fitting/pyfit3Dcspline/GPU/GPUmleFit_LM_EMCCD.py +0 -0
  79. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/fitting/pyfit3Dcspline/GPU/GPUmleFit_LM_sCMOS.py +0 -0
  80. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/fitting/pyfit3Dcspline/GPU/GPUsplineLib.py +0 -0
  81. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/fitting/pyfit3Dcspline/GPU/__init__.py +0 -0
  82. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/fitting/pyfit3Dcspline/__init__.py +0 -0
  83. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/fitting/pyfit3Dcspline/constants.py +0 -0
  84. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/fitting/pyfit3Dcspline/mainfunctions.py +0 -0
  85. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/fitting/results.py +0 -0
  86. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/fitting/results_stats.py +0 -0
  87. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/fitting/tardis.py +0 -0
  88. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/multi_viewer.py +0 -0
  89. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/processing/__init__.py +0 -0
  90. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/processing/frc.py +0 -0
  91. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/rendering/__init__.py +0 -0
  92. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/rendering/base.py +0 -0
  93. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/rendering/cloud.py +0 -0
  94. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/rendering/core.py +0 -0
  95. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/rendering/volumetric.py +0 -0
  96. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/tools/__init__.py +0 -0
  97. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/tools/kymograms.py +0 -0
  98. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/tools/roi_selectors.py +0 -0
  99. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/utils/__init__.py +0 -0
  100. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/utils/coordinates.py +0 -0
  101. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/utils/images.py +0 -0
  102. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/utils/windows.py +0 -0
  103. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/viewer/__init__.py +0 -0
  104. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/viewer/layers_widget.py +0 -0
  105. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/viewer/localizations.py +0 -0
  106. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/viewer/psf.py +0 -0
  107. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/analysis/viewer/volume.py +0 -0
  108. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/__init__.py +0 -0
  109. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/cams/__init__.py +0 -0
  110. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/cams/camera_calibration.py +0 -0
  111. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/cams/dummy/__init__.py +0 -0
  112. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/cams/line_profiler.py +0 -0
  113. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/cams/linescan/IR_Cam.py +0 -0
  114. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/cams/linescan/__init__.py +0 -0
  115. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/cams/micam.py +0 -0
  116. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/cams/pco/__init__.py +0 -0
  117. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/cams/pco/enums.py +0 -0
  118. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/cams/pco/pco_cam.py +0 -0
  119. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/cams/thorlabs/__init__.py +0 -0
  120. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/cams/thorlabs/thorlabs.py +0 -0
  121. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/cams/ueye/__init__.py +0 -0
  122. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/cams/ueye/ueye_camera.py +0 -0
  123. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/cams/vimba/__init__.py +0 -0
  124. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/cams/vimba/vimba_cam.py +0 -0
  125. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/device.py +0 -0
  126. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/lasers/__init__.py +0 -0
  127. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/lasers/io_matchbox.py +0 -0
  128. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/lasers/io_params.py +0 -0
  129. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/lasers/io_single_laser.py +0 -0
  130. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/lasers/laser_relay.py +0 -0
  131. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/mieye/__init__.py +0 -0
  132. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/mieye/acquisition_manager.py +0 -0
  133. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/misc/__init__.py +0 -0
  134. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/misc/acquisition_view.py +0 -0
  135. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/misc/reglo.py +0 -0
  136. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/misc/temp.py +0 -0
  137. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/port_config.py +0 -0
  138. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/protocols/__init__.py +0 -0
  139. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/protocols/actions.py +0 -0
  140. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/protocols/actions_items.py +0 -0
  141. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/protocols/designer.py +0 -0
  142. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/protocols/scene_manager.py +0 -0
  143. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/protocols/serialization.py +0 -0
  144. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/pycromanager/__init__.py +0 -0
  145. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/pycromanager/core.py +0 -0
  146. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/pycromanager/enums.py +0 -0
  147. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/pycromanager/headless.py +0 -0
  148. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/pycromanager/utils.py +0 -0
  149. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/pycromanager/widgets/__init__.py +0 -0
  150. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/pycromanager/widgets/bridges.py +0 -0
  151. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/pycromanager/widgets/headless_manager.py +0 -0
  152. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/pycromanager/widgets/headless_options.py +0 -0
  153. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/stages/elliptec/__init__.py +0 -0
  154. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/stages/elliptec/baseDevice.py +0 -0
  155. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/stages/elliptec/device.py +0 -0
  156. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/stages/elliptec/deviceID.py +0 -0
  157. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/stages/elliptec/devicePort.py +0 -0
  158. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/stages/elliptec/deviceStatus.py +0 -0
  159. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/stages/elliptec/devicesView.py +0 -0
  160. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/stages/elliptec/ellDevices.py +0 -0
  161. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/stages/elliptec/messageUpdater.py +0 -0
  162. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/stages/elliptec/motorInfo.py +0 -0
  163. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/stages/elliptec/stage.py +0 -0
  164. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/stages/elliptec/test.py +0 -0
  165. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/stages/kinesis/__init__.py +0 -0
  166. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/stages/kinesis/kdc101/__init__.py +0 -0
  167. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/stages/kinesis/kdc101/enums.py +0 -0
  168. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/stages/kinesis/kdc101/factory.py +0 -0
  169. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/stages/kinesis/kdc101/kdc101.py +0 -0
  170. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/widgets/__init__.py +0 -0
  171. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/hardware/widgets/qlist_slider.py +0 -0
  172. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/icons/1024.png +0 -0
  173. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/icons/128.png +0 -0
  174. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/icons/16.png +0 -0
  175. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/icons/24.png +0 -0
  176. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/icons/256.png +0 -0
  177. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/icons/32.png +0 -0
  178. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/icons/48.png +0 -0
  179. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/icons/512.png +0 -0
  180. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/icons/64.png +0 -0
  181. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/icons/__init__.py +0 -0
  182. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/icons/close.svg +0 -0
  183. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/icons/mieye.png +0 -0
  184. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/icons/min.svg +0 -0
  185. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/icons/viewer.png +0 -0
  186. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/launcher.py +0 -0
  187. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/qt.py +0 -0
  188. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/utils/__init__.py +0 -0
  189. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/utils/enum_encoder.py +0 -0
  190. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/utils/expandable_groupbox.py +0 -0
  191. {microeye-2.3.2a0/src/microEye/utils/hid → microeye-2.3.4/src/microEye/utils/hid_utils}/device.py +0 -0
  192. {microeye-2.3.2a0/src/microEye/utils/hid → microeye-2.3.4/src/microEye/utils/hid_utils}/enums.py +0 -0
  193. {microeye-2.3.2a0/src/microEye/utils/hid → microeye-2.3.4/src/microEye/utils/hid_utils}/utils.py +0 -0
  194. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/utils/labelled_slider.py +0 -0
  195. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/utils/metadata.py +0 -0
  196. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/utils/metadata_tree.py +0 -0
  197. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/utils/micro_launcher.py +0 -0
  198. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/utils/parameter_tree.py +0 -0
  199. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/utils/pyscripting.py +0 -0
  200. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/utils/retry_exec.py +0 -0
  201. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/utils/start_gui.py +0 -0
  202. {microeye-2.3.2a0 → microeye-2.3.4}/src/microEye/utils/thread_worker.py +0 -0
  203. {microeye-2.3.2a0 → microeye-2.3.4}/src/microeye.egg-info/dependency_links.txt +0 -0
  204. {microeye-2.3.2a0 → microeye-2.3.4}/src/microeye.egg-info/entry_points.txt +0 -0
  205. {microeye-2.3.2a0 → microeye-2.3.4}/src/microeye.egg-info/requires.txt +0 -0
  206. {microeye-2.3.2a0 → microeye-2.3.4}/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.2a0
3
+ Version: 2.3.4
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
@@ -85,7 +85,7 @@ This toolkit is compatible with the [hardware](#hardware) used in our microscope
85
85
 
86
86
  ![Contributors](https://img.shields.io/github/contributors/samhitech/microEye.svg)
87
87
  ![GitHub Last Commit](https://img.shields.io/github/last-commit/samhitech/microEye.svg)
88
- ![Maintenance](https://img.shields.io/maintenance/yes/2024.svg)
88
+ ![Maintenance](https://img.shields.io/maintenance/yes/2025.svg)
89
89
 
90
90
  ![GitHub Issues](https://img.shields.io/github/issues/samhitech/microEye.svg)
91
91
  ![GitHub Bugs](https://img.shields.io/github/issues/samhitech/microEye/bug.svg)
@@ -96,10 +96,10 @@ This toolkit is compatible with the [hardware](#hardware) used in our microscope
96
96
  ![GitHub Stars](https://img.shields.io/github/stars/samhitech/microEye.svg)
97
97
 
98
98
  ```bash
99
- __ ____ ____ ___ ____ ___
100
- / |/ (_)__________ / __/_ _____ _ __|_ | |_ / |_ |
101
- / /|_/ / / __/ __/ _ \/ _// // / -_) | |/ / __/_ _/_ <_ / __/
102
- /_/ /_/_/\__/_/ \___/___/\_, /\__/ |___/____(_)____(_)____/
99
+ __ ____ ____ ___ ____ ____
100
+ / |/ (_)__________ / __/_ _____ _ __|_ | |_ // / /
101
+ / /|_/ / / __/ __/ _ \/ _// // / -_) | |/ / __/_ _/_ </_ _/
102
+ /_/ /_/_/\__/_/ \___/___/\_, /\__/ |___/____(_)____(_)_/
103
103
  /___/
104
104
  ```
105
105
 
@@ -120,7 +120,9 @@ This toolkit is compatible with the [hardware](#hardware) used in our microscope
120
120
  - [Hardware](#hardware)
121
121
  - [Supported Cameras](#supported-cameras)
122
122
  - [Additional Hardware](#additional-hardware)
123
- - [Pycro-Manager Hardware](#pycro-manager-hardware)
123
+ - [Pycro-Manager Integration](#pycro-manager-integration)
124
+ - [Features](#features)
125
+ - [How to Use](#how-to-use)
124
126
  - [Authors](#authors)
125
127
  - [People Involved](#people-involved)
126
128
  - [Acknowledgement](#acknowledgement)
@@ -214,7 +216,6 @@ Upon running the launcher, you will be presented with the following interface:
214
216
  - **Theme (dropdown)**: Select the theme for the application. Options are None (default), qdarktheme, or qdarkstyle.
215
217
 
216
218
  To launch a module, simply click on the respective button (`miEye Module` or `Viewer Module`). If you wish to change the Qt API or theme, select the desired option from the dropdown menus before launching.
217
- Sounds good, here's the updated section with the simplified commands:
218
219
 
219
220
  ## Modules
220
221
 
@@ -334,9 +335,34 @@ Schematic overview of the miEye instrument:
334
335
  | RelayBox Arduino | For laser control using camera GPIO signals | [RelayBox](https://github.com/samhitech/RelayBox) |
335
336
  | miEye OSF Project Parts List | Parts list of miEye OSF Project | [Link](https://osf.io/j2fqy/) |
336
337
 
337
- ### Pycro-Manager Hardware
338
+ ## Pycro-Manager Integration
338
339
 
339
- Integration under development. **[To Be Added]**
340
+ Integration with Pycro-Manager is now implemented, providing support for managing headless instances and `Core` instances. This allows for seamless control and configuration of hardware devices through the Pycro-Manager framework.
341
+
342
+ ### Features
343
+
344
+ - **Headless Manager**: Manage multiple headless Micro-Manager instances (JavaBackend), including starting, stopping, and saving configurations.
345
+ - **Core Instances Manager**: Handle multiple PycroCore instances for device communication and control.
346
+
347
+ ### How to Use
348
+
349
+ 1. **Headless Manager**:
350
+
351
+ - Open the `miEye_module` and navigate to `Tools -> Micro-Manager Headless Manager` in the main menu.
352
+ - Start a new headless instance using a specific configuration file.
353
+ - Stop individual running instances or terminate all instances simultaneously.
354
+ - Save configurations for future use or load previously saved configurations for headless instances.
355
+
356
+ 2. **Core Instances**:
357
+
358
+ - Open the `miEye_module` and navigate to `Tools -> Micro-Manager Core Bridges` in the main menu.
359
+ - Click on `Add Core Bridge` and provide the port address in the dialog box.
360
+ - A list of connected devices will be displayed, allowing you to view each device's properties.
361
+ - Close the window and refresh the camera list to access Pycro-Manager cameras.
362
+
363
+ _Accessing other types of devices is under development!_
364
+
365
+ _Note: Currently, only acquisition has been tested with the developed `PycroPanel`. Full implementation of focus stabilization is planned for future updates by implementing further stage-related widgets._
340
366
 
341
367
  ![pycromanager integration](https://github.com/user-attachments/assets/73893f9f-c1ef-438f-a884-ec3f60f00118)
342
368
 
@@ -20,7 +20,7 @@ This toolkit is compatible with the [hardware](#hardware) used in our microscope
20
20
 
21
21
  ![Contributors](https://img.shields.io/github/contributors/samhitech/microEye.svg)
22
22
  ![GitHub Last Commit](https://img.shields.io/github/last-commit/samhitech/microEye.svg)
23
- ![Maintenance](https://img.shields.io/maintenance/yes/2024.svg)
23
+ ![Maintenance](https://img.shields.io/maintenance/yes/2025.svg)
24
24
 
25
25
  ![GitHub Issues](https://img.shields.io/github/issues/samhitech/microEye.svg)
26
26
  ![GitHub Bugs](https://img.shields.io/github/issues/samhitech/microEye/bug.svg)
@@ -31,10 +31,10 @@ 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
- /_/ /_/_/\__/_/ \___/___/\_, /\__/ |___/____(_)____(_)____/
34
+ __ ____ ____ ___ ____ ____
35
+ / |/ (_)__________ / __/_ _____ _ __|_ | |_ // / /
36
+ / /|_/ / / __/ __/ _ \/ _// // / -_) | |/ / __/_ _/_ </_ _/
37
+ /_/ /_/_/\__/_/ \___/___/\_, /\__/ |___/____(_)____(_)_/
38
38
  /___/
39
39
  ```
40
40
 
@@ -55,7 +55,9 @@ This toolkit is compatible with the [hardware](#hardware) used in our microscope
55
55
  - [Hardware](#hardware)
56
56
  - [Supported Cameras](#supported-cameras)
57
57
  - [Additional Hardware](#additional-hardware)
58
- - [Pycro-Manager Hardware](#pycro-manager-hardware)
58
+ - [Pycro-Manager Integration](#pycro-manager-integration)
59
+ - [Features](#features)
60
+ - [How to Use](#how-to-use)
59
61
  - [Authors](#authors)
60
62
  - [People Involved](#people-involved)
61
63
  - [Acknowledgement](#acknowledgement)
@@ -149,7 +151,6 @@ Upon running the launcher, you will be presented with the following interface:
149
151
  - **Theme (dropdown)**: Select the theme for the application. Options are None (default), qdarktheme, or qdarkstyle.
150
152
 
151
153
  To launch a module, simply click on the respective button (`miEye Module` or `Viewer Module`). If you wish to change the Qt API or theme, select the desired option from the dropdown menus before launching.
152
- Sounds good, here's the updated section with the simplified commands:
153
154
 
154
155
  ## Modules
155
156
 
@@ -269,9 +270,34 @@ Schematic overview of the miEye instrument:
269
270
  | RelayBox Arduino | For laser control using camera GPIO signals | [RelayBox](https://github.com/samhitech/RelayBox) |
270
271
  | miEye OSF Project Parts List | Parts list of miEye OSF Project | [Link](https://osf.io/j2fqy/) |
271
272
 
272
- ### Pycro-Manager Hardware
273
+ ## Pycro-Manager Integration
273
274
 
274
- Integration under development. **[To Be Added]**
275
+ Integration with Pycro-Manager is now implemented, providing support for managing headless instances and `Core` instances. This allows for seamless control and configuration of hardware devices through the Pycro-Manager framework.
276
+
277
+ ### Features
278
+
279
+ - **Headless Manager**: Manage multiple headless Micro-Manager instances (JavaBackend), including starting, stopping, and saving configurations.
280
+ - **Core Instances Manager**: Handle multiple PycroCore instances for device communication and control.
281
+
282
+ ### How to Use
283
+
284
+ 1. **Headless Manager**:
285
+
286
+ - Open the `miEye_module` and navigate to `Tools -> Micro-Manager Headless Manager` in the main menu.
287
+ - Start a new headless instance using a specific configuration file.
288
+ - Stop individual running instances or terminate all instances simultaneously.
289
+ - Save configurations for future use or load previously saved configurations for headless instances.
290
+
291
+ 2. **Core Instances**:
292
+
293
+ - Open the `miEye_module` and navigate to `Tools -> Micro-Manager Core Bridges` in the main menu.
294
+ - Click on `Add Core Bridge` and provide the port address in the dialog box.
295
+ - A list of connected devices will be displayed, allowing you to view each device's properties.
296
+ - Close the window and refresh the camera list to access Pycro-Manager cameras.
297
+
298
+ _Accessing other types of devices is under development!_
299
+
300
+ _Note: Currently, only acquisition has been tested with the developed `PycroPanel`. Full implementation of focus stabilization is planned for future updates by implementing further stage-related widgets._
275
301
 
276
302
  ![pycromanager integration](https://github.com/user-attachments/assets/73893f9f-c1ef-438f-a884-ec3f60f00118)
277
303
 
@@ -0,0 +1,2 @@
1
+ version_info = (2, 3, 4)
2
+ __version__ = '.'.join(map(str, version_info))
@@ -1,9 +1,8 @@
1
- from microEye.analysis.filters.base import AbstractFilter
1
+ from microEye.analysis.filters.base import AbstractFilter, SpatialFilter, TemporalFilter
2
2
  from microEye.analysis.filters.spatial import (
3
- BANDPASS_TYPES,
4
- BandpassFilter,
3
+ BackgroundReduction,
5
4
  DoG_Filter,
6
- GaussFilter,
5
+ FourierFilter,
7
6
  PassFilter,
8
7
  )
9
8
  from microEye.analysis.filters.temporal import TemporalMedianFilter
@@ -0,0 +1,62 @@
1
+ from abc import ABC, abstractmethod
2
+ from typing import Optional
3
+
4
+ import numpy as np
5
+ from PyQt5 import QtWidgets
6
+
7
+
8
+ class AbstractFilter(ABC):
9
+ def __init__(self, name: str = 'Abstract Base Filter', parameters: dict = None):
10
+ self._name = name
11
+ self._parameters = parameters or {}
12
+ self._show_filter = False
13
+
14
+ @abstractmethod
15
+ def run(self, image: np.ndarray) -> np.ndarray:
16
+ '''Apply the filter to the input image.'''
17
+ pass
18
+
19
+ def getWidget(self):
20
+ '''Return the QWidget for configuring the filter.'''
21
+ return QtWidgets.QWidget()
22
+
23
+ def get_metadata(self) -> dict:
24
+ '''Return metadata about the filter.'''
25
+ return {
26
+ 'name': self.name,
27
+ 'parameters': self._parameters,
28
+ }
29
+
30
+ @classmethod
31
+ def get_tree_parameters(cls) -> dict:
32
+ '''Return the parameters for the pyqtgraph tree view.'''
33
+ return None
34
+
35
+ @property
36
+ def name(self):
37
+ return self._name
38
+
39
+ @property
40
+ def parameters(self) -> Optional[dict]:
41
+ return self._parameters
42
+
43
+ class SpatialFilter(AbstractFilter):
44
+ '''Base class for spatial filters.'''
45
+ def __init__(self, name: str = 'Spatial Filter', parameters: dict = None):
46
+ super().__init__(name=name, parameters=parameters)
47
+
48
+ @abstractmethod
49
+ def run(self, image: np.ndarray) -> np.ndarray:
50
+ '''Apply the spatial filter to the input image.'''
51
+ pass
52
+
53
+
54
+ class TemporalFilter(AbstractFilter):
55
+ '''Base class for temporal filters.'''
56
+ def __init__(self, name: str = 'Temporal Filter', parameters: dict = None):
57
+ super().__init__(name=name, parameters=parameters)
58
+
59
+ @abstractmethod
60
+ def run(self, image: np.ndarray) -> np.ndarray:
61
+ '''Apply the temporal filter to the input image.'''
62
+ pass