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.
- {microeye-2.3.4/src/microeye.egg-info → microeye-2.3.5}/PKG-INFO +22 -20
- {microeye-2.3.4 → microeye-2.3.5}/README.md +20 -17
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/_version.py +1 -1
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/tools/roi_selectors.py +5 -5
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/camera_options.py +56 -11
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/camera_panel.py +148 -255
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/jobs.py +4 -2
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/shortcuts.py +90 -17
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/mieye/devices_manager.py +8 -3
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/mieye/miEye.py +3 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/pycromanager/devices.py +1 -1
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/stages/piezo_concept.py +4 -4
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/stages/stabilizer.py +3 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/stages/stage.py +5 -3
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/widgets/controller.py +27 -4
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/utils/display.py +227 -18
- {microeye-2.3.4 → microeye-2.3.5/src/microeye.egg-info}/PKG-INFO +22 -20
- {microeye-2.3.4 → microeye-2.3.5}/src/microeye.egg-info/requires.txt +1 -2
- {microeye-2.3.4 → microeye-2.3.5}/LICENSE +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/MANIFEST.in +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/pyproject.toml +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/setup.cfg +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/setup.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/__init__.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/__init__.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/checklist_dialog.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/cmosMaps.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/filters/__init__.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/filters/base.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/filters/spatial.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/filters/temporal.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/__init__.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/fit.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/nena.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/phasor_fit.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/processing.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/psf/__init__.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/psf/extract.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/psf/rubost_mean.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/psf/spline.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/psf/stats/__init__.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/psf/stats/core.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/psf/stats/curve_fit.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/psf/stats/io.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/psf/stats/slope_fit.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/psf/temp.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/psf/test.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/pyfit3Dcspline/CPU/CPUfunctions.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/pyfit3Dcspline/CPU/CPUmleFit_LM.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/pyfit3Dcspline/CPU/CPUsplineLib.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/pyfit3Dcspline/CPU/__init__.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/pyfit3Dcspline/GPU/GPUfunctions.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/pyfit3Dcspline/GPU/GPUmleFit_LM_EMCCD.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/pyfit3Dcspline/GPU/GPUmleFit_LM_sCMOS.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/pyfit3Dcspline/GPU/GPUsplineLib.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/pyfit3Dcspline/GPU/__init__.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/pyfit3Dcspline/__init__.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/pyfit3Dcspline/constants.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/pyfit3Dcspline/mainfunctions.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/results.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/results_stats.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/fitting/tardis.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/multi_viewer.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/processing/__init__.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/processing/frc.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/rendering/__init__.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/rendering/base.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/rendering/cloud.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/rendering/core.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/rendering/volumetric.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/tools/__init__.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/tools/kymograms.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/utils/__init__.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/utils/coordinates.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/utils/images.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/utils/windows.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/viewer/__init__.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/viewer/image_options_widget.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/viewer/images.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/viewer/layers_widget.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/viewer/localizations.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/viewer/psf.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/analysis/viewer/volume.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/__init__.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/__init__.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/camera_calibration.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/camera_list.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/dummy/__init__.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/dummy/dummy_panel.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/line_profiler.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/linescan/IR_Cam.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/linescan/__init__.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/micam.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/pco/__init__.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/pco/enums.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/pco/pco_cam.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/pco/pco_panel.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/thorlabs/__init__.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/thorlabs/thorlabs.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/thorlabs/thorlabs_panel.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/ueye/__init__.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/ueye/ueye_camera.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/ueye/ueye_panel.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/vimba/__init__.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/vimba/vimba_cam.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/cams/vimba/vimba_panel.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/device.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/lasers/__init__.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/lasers/io_matchbox.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/lasers/io_params.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/lasers/io_single_laser.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/lasers/laser_relay.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/mieye/__init__.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/mieye/acquisition_manager.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/misc/__init__.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/misc/acquisition_view.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/misc/reglo.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/misc/temp.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/port_config.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/protocols/__init__.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/protocols/actions.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/protocols/actions_items.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/protocols/designer.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/protocols/scene_manager.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/protocols/serialization.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/pycromanager/__init__.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/pycromanager/core.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/pycromanager/enums.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/pycromanager/headless.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/pycromanager/utils.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/pycromanager/widgets/__init__.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/pycromanager/widgets/bridges.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/pycromanager/widgets/headless_manager.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/pycromanager/widgets/headless_options.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/pycromanager/widgets/pycro_panel.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/stages/__init__.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/stages/elliptec/__init__.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/stages/elliptec/baseDevice.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/stages/elliptec/device.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/stages/elliptec/deviceID.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/stages/elliptec/devicePort.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/stages/elliptec/deviceStatus.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/stages/elliptec/devicesView.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/stages/elliptec/ellDevices.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/stages/elliptec/messageUpdater.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/stages/elliptec/motorInfo.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/stages/elliptec/stage.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/stages/elliptec/test.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/stages/kinesis/__init__.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/stages/kinesis/kdc101/__init__.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/stages/kinesis/kdc101/enums.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/stages/kinesis/kdc101/factory.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/stages/kinesis/kdc101/kdc101.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/stages/kinesis/kinesis.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/widgets/__init__.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/widgets/devices.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/widgets/focusWidget.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/widgets/qlist_slider.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/hardware/widgets/scan_acquisition.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/icons/1024.png +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/icons/128.png +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/icons/16.png +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/icons/24.png +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/icons/256.png +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/icons/32.png +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/icons/48.png +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/icons/512.png +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/icons/64.png +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/icons/__init__.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/icons/close.svg +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/icons/mieye.png +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/icons/min.svg +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/icons/viewer.png +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/launcher.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/qt.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/tools/__init__.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/tools/microscopy.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/utils/__init__.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/utils/enum_encoder.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/utils/expandable_groupbox.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/utils/gui_helper.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/utils/hid_utils/__init__.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/utils/hid_utils/controller.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/utils/hid_utils/device.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/utils/hid_utils/enums.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/utils/hid_utils/utils.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/utils/labelled_slider.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/utils/metadata.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/utils/metadata_tree.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/utils/micro_launcher.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/utils/parameter_tree.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/utils/pyscripting.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/utils/retry_exec.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/utils/start_gui.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/utils/thread_worker.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microEye/utils/uImage.py +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microeye.egg-info/SOURCES.txt +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microeye.egg-info/dependency_links.txt +0 -0
- {microeye-2.3.4 → microeye-2.3.5}/src/microeye.egg-info/entry_points.txt +0 -0
- {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.
|
|
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:
|
|
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
|

|
|
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
|
-
|
|
|
287
|
-
|
|
|
288
|
-
|
|
|
289
|
-
|
|
|
290
|
-
|
|
|
291
|
-
|
|
|
292
|
-
|
|
|
293
|
-
|
|
|
294
|
-
|
|
|
295
|
-
|
|
|
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
|

|
|
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
|
-
|
|
|
222
|
-
|
|
|
223
|
-
|
|
|
224
|
-
|
|
|
225
|
-
|
|
|
226
|
-
|
|
|
227
|
-
|
|
|
228
|
-
|
|
|
229
|
-
|
|
|
230
|
-
|
|
|
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,
|
|
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
|
|
406
|
+
elif key in [ord('a'), ord('A')]:
|
|
407
407
|
while self.current_mode != 'Add':
|
|
408
408
|
self.cycle_mode()
|
|
409
|
-
elif key
|
|
409
|
+
elif key in [ord('e'), ord('E')]:
|
|
410
410
|
while self.current_mode != 'Edit':
|
|
411
411
|
self.cycle_mode()
|
|
412
|
-
elif key
|
|
412
|
+
elif key in [ord('i'), ord('I')]:
|
|
413
413
|
while self.current_mode != 'Insert':
|
|
414
414
|
self.cycle_mode()
|
|
415
|
-
elif key
|
|
415
|
+
elif key in [ord('m'), ord('M')]:
|
|
416
416
|
while self.current_mode != 'Move':
|
|
417
417
|
self.cycle_mode()
|
|
418
|
-
elif key
|
|
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
|
-
|
|
56
|
-
DUAL_OVERLAID = 'Display.View Options.Dual Channel (
|
|
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.
|
|
215
|
+
'name': str(CamParams.PLOT_TYPE),
|
|
212
216
|
'type': 'list',
|
|
213
|
-
'limits': [
|
|
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.
|
|
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
|
|
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.
|
|
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__':
|