Skip to main content

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

  1. Download and install the latest Python 3.9 stable release.

  2. Open a terminal and install the microEye package using pip.

    pip install microEye
    
  3. 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
    
  4. 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.

  5. Other hardware used by the miEye microscope:

  6. 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
quadScheme_4 scheme_git_0

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
miEye Cam_acq

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
Stack_images Stack_loc

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
Capture Viewer Capture Viewer 2 Capture Viewer 3

How to use

from microEye import tiff_viewer

app, window = tiff_viewer.StartGUI('')

app.exec_()

Authors

Mohammad Nour Alsamsam, PhD student @ Vilnius University.

Twitter URL

People Involved

PhD supervision: Dr. Marijonas Tutkus

Twitter URL

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

microEye-1.0.5.tar.gz (565.6 kB view hashes)

Uploaded Source

Built Distribution

microEye-1.0.5-py3-none-any.whl (595.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page