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.
Project description
microEye
microEye is 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.
Modules
-
miEye Module: Provides the primary GUI for microscope control and data acquisition, combining previous functionalities implemented within Acquisition and Control modules.
-
Multi Viewer Module: An improved GUI replacing Tiff Viewer module that allows processing multiple files providing data analysis and visualization tools.
Note: The following modules are deprecated, and support has been halted. Please consider the alternatives above.
-
Acquisition Module: Enables multi-camera image acquisition within a unified graphical user interface.
-
Control Module: Allows users to set laser excitation presets, manually focus, and perform automatic focus stabilization by monitoring the peak position of a totally internally reflected IR beam and adjusting the piezo stage accordingly.
-
Tiff Viewer Module: Provides access to TIFF images (single files and sequences) of order TYX (2D SMLM) and facilitates visualizing the filtering-localization process (WYSIWYG).
This toolkit is compatible with the hardware used in our microscope. For further details, refer to the miEye microscope paper and OSF project.
Uses Packages
- autopep8
- dask
- h5py
- hidapi
- matplotlib
- numba
- numpy
- ome_types
- opencv_python
- pandas
- pyflakes
- PyQt5
- PyQt5_sip
- pyqtgraph
- pyserial
- pyueye
- QDarkStyle
- QScintilla
- scikit_image
- scikit_learn
- scipy
- setuptools
- tables
- tifffile
- VimbaPython (Included in Vimba SDK and installed manually)
- zarr
How to Install Package
-
Download and install the latest Python 3.9 stable release.
-
Open a terminal and install the microEye package using pip.
pip install microEye
-
Download the requirements.txt file and install the required packages for microEye by executing: (This may take a while)
pip install -r /path/to/requirements.txt
-
Install the specific hardware drivers for the cameras:
-
Integrated Optics Laser control software.
-
IDS uEye CMOS cameras: Install IDS Software Suite 4.96.1 for Windows 32/64-bit.
-
Allied Vision CMOS cameras: Install Vimba SDK 5.0 or 6.0 outside the Program Files to skip the run-as-admin requirement. In a terminal navigate to directory [.../Allied Vision/Vimba_5.0/VimbaPython/] where [setup.py] is located and execute:
python -m pip install .
-
Thorlabs CMOS cameras: Install Thorcam in its default directory. Note, some Thorlabs cameras can get identified by Windows as IDS uEye cameras and run without this software.
-
-
Other hardware used by the miEye microscope:
- Thorlabs Kinesis® Software and Elliptec™ Software.
-
Download and run examples to start using microEye! :partying_face:
Note: microEye might not function as expected in case drivers are missing.
Microscope Scheme
Schematic overview of the miEye instrument. A) The excitation path via single-mode fiber (SMF) for TIRF-, HILO-, and Epi-mode. B) The excitation path via multi-mode fiber (MMF) for Epi-mode when imaging MMF output on the sample plane. C) The fluorescence emission path. D) IR laser-based autofocusing path. AC: achromat lens, AS: aspheric lens, BFP: back-focal plane, TL: tube lens, B: B-coated N-BK7 optics, BS: beamsplitter.
Scheme 1 | Scheme 2 |
---|---|
Hardware
Supported Cameras
-
IDS uEye industrial-grade CMOS cameras, specifically UI-3060CP Rev. 2.
-
Thorlabs DCx cameras using the UC480 driver, specifically DCC1545M.
-
Allied Vision cameras using Vimba SDK, specifically Alvium 1800 U-158m.
Additional Hardware
-
Integrated Optics Multi-wavelength Laser Combiner MatchBox.
-
Piezo Concept nanopositioner for microscope objectives FOC.
-
Thorlab's Elliptec Dual-Position/Four-Position (ELL6/ELL9) support.
-
Thorlab's Kinesis KDC101 controller for Z825B 25mm motorized actuators used for the XY stage instead of manual micrometers. (Requires activating USB VCP to access the COM port from device manager)
-
Parallax Linescan Camera Module used for IR autofocus stabilization tracking TSL1401-DB (#28317) acquisition done by an Arduino LineScanner.
-
RelayBox Arduino for laser control using the camera flash signal with different presets.
-
Parts list of our miEye OSF Project – an iteration of hohlbeinlab miCube.
miEye Module
miEye module | Acquisition Camera |
---|---|
How to use
For Vimba SDK to work, the script should be executed as an administrator on Windows and wrapped in a with
statement:
from microEye.hardware import miEye_module
try:
import vimba as vb
except Exception:
vb = None
if vb:
with vb.Vimba.get_instance() as vimba:
app, window = miEye_module.StartGUI()
app.exec_()
else:
app, window = miEye_module.StartGUI()
app.exec_()
Multi Viewer Module
Raw Data | Localizations |
---|---|
How to use
from microEye import multi_viewer
app, window = multi_viewer.StartGUI('')
app.exec_()
Acquisition Module (Deprecated)
How to use
For Vimba SDK to work, the script should be executed as an administrator on Windows and wrapped in a with
statement:
from microEye.hardware import acquisition_module
try:
import vimba as vb
except Exception:
vb = None
if vb:
with vb.Vimba.get_instance() as vimba:
app, window = acquisition_module.StartGUI()
app.exec_()
else:
app, window = acquisition_module.StartGUI()
app.exec_()
Control Module (Deprecated)
How to use
from microEye.hardware import control_module
app, window = control_module.StartGUI()
app.exec_()
Tiff Viewer Module (Deprecated)
File System | Data Fitting | Localizations Visualization & Analysis |
---|---|---|
How to use
from microEye import tiff_viewer
app, window = tiff_viewer.StartGUI('')
app.exec_()
Authors
Mohammad Nour Alsamsam, PhD student @ Vilnius University.
People Involved
PhD supervision: Dr. Marijonas Tutkus
Sample preparation, experiments and testing:
Acknowledgement
Research and access to intruments and samples is credited to:
- Vilnius University, Lithuania.
- Center For Physical Sciences and Technology, Vilnius, Lithuania.
- Research Council of Lithuania.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.