A python toolkit for fluorescence microscopy that features multi IDS uEye industrial-grade CMOS cameras and Integrated Optics laser combiner MatchBox.
Project description
microEye
A python toolkit for fluorescence microscopy that features IDS uEye industrial-grade CMOS cameras.
The Acquisition Module allows multi-cam image acquisition within one graphical user interface.
The Control Module allows setting the laser excitation presets, manual focus and automatic focus stabilization by monitoring the peak position of a totally internally reflected IR beam and moving the piezo stage accordingly.
The Tiff Viewer Module allows accessing tiff images (single file and sequecnces) of order TYX (2D SMLM), also allows for visualizing the filtering-localization process WYSIWYG.
This toolkit is compatible with the hardware we are using in our microscope. For further details check our miEye microscope's OSF project
Uses Packages
- Numpy
- scipy
- pandas
- Zarr
- dask
- pyueye
- cv2
- tifffile
- PyQt5
- pyqtgraph
- qdarkstyle
- ome-types
- lmfit
- pyqode.python (Jedi Fix)
- VimbaPython (Included in Vimba SDK and installed manually)
How to Install Package
-
Download and install the latest Python 3.9 stable release. (We tested with 3.9.4 and 3.9.7)
-
Open a terminal and install microEye package using pip.
pip install microEye
-
Download the file requirements.txt and install the microEye required packages by executing the following line. (This may take a while)
pip install -r /path/to/requirements.txt
-
Install the dependent hardware specific drivers for the cameras if you intend to use the hardware control or acquisition modules. (microEye might not function as expected in case drivers are missing)
-
Integrated Optics Laser control software.
-
IDS uEye CMOS cameras: install IDS Software Suite 4.96.1 for Windows 32/64-bit. (We did not test it with Linux)
-
Allied Vision CMOS cameras: install the Vimba SDK 5.0 or 6.0 outside the Program Files to skip the run as admin requirement, then 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 as it is initial to have uc480_64.dll in path 'C:\Program Files\Thorlabs\Scientific Imaging\ThorCam\uc480_64.dll'. (Note, Thorlabs cameras can get identified by Windows as IDS uEye cameras and run without this software)
-
-
Other hardware used by the miEye microscope include:
- Thorlabs Kinesis® Software and Elliptec™ Software.
-
Download and run examples to start using microEye! :partying_face:
Microscope Scheme
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.
- Integrated Optics Multi-wavelength Laser Combiner MatchBox.
- Piezo Concept nanopositioner for microscope objectives FOC.
- 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 related to our iteration of hohlbeinlab miCube (TBA).
Acquisition Module
How to use
from microEye.hardware import acquisition_module
try:
app, window = acquisition_module.StartGUI()
app.exec_()
except Exception as e:
traceback.print_exc()
finally:
# dispose camera adapters
for cam in window.ids_cams:
cam.dispose()
# Destroys the OpenCv windows
cv2.destroyAllWindows()
For Vimba SDK to work the script should be executed as administrator on Windows and wrapped in a with statement:
from microEye.hardware import acquisition_module
try:
import vimba as vb
except Exception:
vb = None
with vb.Vimba.get_instance() as vimba:
app, window = acquisition_module.StartGUI()
app.exec_()
Control Module
How to use
from microEye.hardware import control_module
app, window = control_module.StartGUI()
app.exec_()
Data Viewer / Processor
How to use
from microEye import tiff_viewer
app, window = tiff_viewer.StartGUI('D:/')
app.exec_()
Authors
Mohammad Nour Alsamsam
People Involved
Dr. Marijonas Tutkus (supervision)
Aurimas Kopūstas (sample preparation and experiments)
Acknowledgement
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.