The microEye
is a Python toolkit for fluorescence microscopy that supports super-resolution single-molecule localization microscopy and single-particle tracking. It features hardware control, data analysis, and visualization.
This toolkit is compatible with the hardware used in our microscope. For further details, refer to the miEye microscope paper and OSF project.
__ ____ ____ ___ ___ ___
/ |/ (_)__________ / __/_ _____ _ __|_ | / _ \ / _ \
/ /|_/ / / __/ __/ _ \/ _// // / -_) | |/ / __/_/ // // // /
/_/ /_/_/\__/_/ \___/___/\_, /\__/ |___/____(_)___(_)___/
/___/
The miEye_module
provides the primary graphical user interface (GUI) for microscope control and data acquisition, combining the functionalities of the deprecated Acquisition and Control modules.
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_()
The multi_viewer
Module is an improved GUI that replaces the deprecated tiff_viewer
module. It allows users to process multiple files and provides data analysis and visualization tools for super-resolution single-molecule localization microscopy and single-particle tracking.
Raw Data | Localizations |
---|---|
How to use:
from microEye import multi_viewer
app, window = multi_viewer.StartGUI('')
app.exec_()
The microEye
uses the following Python packages:
Data Analysis and Visualization | GUI and UI Development | Code Quality and Formatting | Image and Video Processing | File and Data Storage | Other Utilities |
---|---|---|---|---|---|
dask | PyQt5 | autopep8 | opencv-python | ome-types | hidapi |
h5py | pyqtdarktheme | pyflakes | tables | pyfiglet | |
matplotlib | pyqtgraph | zarr | pyserial | ||
numba | QDarkStyle | pyueye | |||
numpy | QScintilla | setuptools | |||
pandas | tabulate | ||||
scikit-image | VimbaPython | ||||
scikit-learn | |||||
scipy | |||||
tifffile | |||||
vispy |
Note: VimbaPython is included in Vimba SDK and needs to be installed manually.
How to Install microEye
-
Install Python:
Download and install the latest Python 3.9 stable release.
-
Install microEye package:
Open a terminal and execute the following command to install microEye using pip:
pip install microEye
-
Install required packages:
Download the requirements.txt file. Navigate to the directory containing the requirements file in your terminal and run:
pip install -r requirements.txt
Note: This step might take a while.
-
Install specific hardware drivers: (Optional)
-
For Integrated Optics: Download and install Laser control software.
-
For IDS uEye CMOS cameras: Install IDS Software Suite 4.96.1 for Windows 32/64-bit.
-
For Allied Vision CMOS cameras: Install Vimba SDK 5.0 or 6.0 outside the Program Files. Navigate to the directory containing setup.py and run:
python -m pip install .
-
For Thorlabs CMOS cameras: Install Thorcam in its default directory. Note: Some Thorlabs cameras may be identified as IDS uEye cameras by Windows and may run without Thorcam.
-
For Thorlabs hardware, install Kinesis® Software and Elliptec™ Software.
-
-
Download and run examples: Download examples to start using microEye!
🥳 Note: Ensure all necessary drivers are installed for microEye to function properly.
Schematic overview of the miEye instrument:
- A) Single-Mode Fiber (SMF): Excitation path for TIRF-, HILO-, and Epi-mode.
- B) Multi-Mode Fiber (MMF): Excitation path for Epi-mode when imaging MMF output on the sample plane.
- C) Fluorescence Emission: Path for fluorescence emission.
- D) Automatic Focus Stabilization: the automatic focus stabilization path using an IR laser in TIRF setting.
Scheme 1 | Scheme 2 |
---|---|
Key Components: AC: Achromat lens, AS: Aspheric lens, BFP: Back-focal plane, TL: Tube lens, B: B-coated N-BK7 optics, BS: Beamsplitter.
Camera | Description | Link |
---|---|---|
IDS uEye UI-3060CP Rev. 2 | IDS industrial-grade CMOS cameras | Link |
Thorlabs DCC1545M | DCx camera using UC480 driver | Link |
Allied Vision Alvium 1800 | Allied Vision industrial-grade CMOS cameras (U-158m, U-511m) | Link |
Hardware | Description | Link |
---|---|---|
Integrated Optics MatchBox | Multi-wavelength Laser Combiner, Single Laser MatchBox | Link |
Piezo Concept FOC | Nanopositioner for microscope objectives | Link |
Thorlabs Elliptec ELL6/ELL9 | Dual/Four-Position Support | ELL6, ELL9 |
Thorlabs KDC101 | Kinesis Controller for Z825B/Z925B actuators (Activate USB VCP to access the COM port in device manager) | Link |
Parallax TSL1401-DB (#28317) | Linescan Camera Module | Link |
RelayBox Arduino | For laser control using camera GPIO signals | RelayBox |
miEye OSF Project Parts List | Parts list of miEye OSF Project | Link |
Mohammad Nour Alsamsam, PhD student @ Vilnius University.
PhD supervision: Dr. Marijonas Tutkus
Sample preparation, experiments and testing:
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.