Skip to content

Commit 67b84ba

Browse files
committed
microEye v2.3.6
Enhancements: - Moved histogram equalization of acquired images from `PyQtGraphDisplay` image update slot into the camera display thread to reduce GUI freeze if any. - `io_combiner` and `io_single_laser`: - Replaced Qt-based serial communication with pyserial for laser controls, as pyserial is faster to implement and supports the `read_until` method in blocking mode. This change aims to address occasional GUI freezes when displaying acquired images while the serial communication queries laser readings/settings and updates the GUI periodically. The previous send command method was inefficient and introduced lag. - The ideal solution would be to use a separate thread for serial communication, but this is not currently implemented. Other Changes: - Added a user guide for the image analysis features in the Tiff Viewer module. BUG TO BE FIXED: Issue with focus stabilization on `PycroStage` using Java backend causes significant GUI freeze. (tested with FOC100) Future Updates: - Finalized Pycro-Manager Integration with XY-Stage and Focus Stabilization. - MacOS compatibility testing - 3D Localization fitting from Experimental PSF - Introduction of 2D/3D Single-Particle Tracking
1 parent c5646ce commit 67b84ba

35 files changed

Lines changed: 767 additions & 114 deletions

README.md

Lines changed: 28 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,11 @@ This toolkit is compatible with the [hardware](#hardware) used in our microscope
3131
![GitHub Stars](https://img.shields.io/github/stars/samhitech/microEye.svg)
3232

3333
```bash
34-
__ __ _ ___ ___ ____ ___
35-
| \/ (_)__ _ _ ___| __| _ ___ __ _|_ ) |__ / | __|
36-
| |\/| | / _| '_/ _ \ _| || / -_) \ V // / _ |_ \_|__ \
37-
|_| |_|_\__|_| \___/___\_, \___| \_//___(_)___(_)___/
38-
|__/
34+
__ ____ ____ ___ ____ ____
35+
/ |/ (_)__________ / __/_ _____ _ __|_ | |_ / / __/
36+
/ /|_/ / / __/ __/ _ \/ _// // / -_) | |/ / __/_ _/_ <_/ _ \
37+
/_/ /_/_/\__/_/ \___/___/\_, /\__/ |___/____(_)____(_)___/
38+
/___/
3939
```
4040

4141
## Table of Contents
@@ -57,6 +57,7 @@ This toolkit is compatible with the [hardware](#hardware) used in our microscope
5757
- [Additional Hardware](#additional-hardware)
5858
- [Pycro-Manager Integration](#pycro-manager-integration)
5959
- [Features](#features)
60+
- [Integrated Hardware](#integrated-hardware)
6061
- [How to Use](#how-to-use)
6162
- [Authors](#authors)
6263
- [People Involved](#people-involved)
@@ -253,25 +254,27 @@ Schematic overview of the miEye instrument:
253254

254255
### Supported Cameras
255256

256-
| Camera | Description | Link |
257-
| ------------------------- | ------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------- |
258-
| IDS uEye UI-3060CP Rev. 2 | IDS industrial-grade CMOS cameras | [Link](https://en.ids-imaging.com/store/products/cameras/ui-3060cp-rev-2.html) |
259-
| Thorlabs DCC1545M | DCx camera using UC480 driver | [Link](https://www.thorlabs.com/thorProduct.cfm?partNumber=DCC1545M) |
260-
| Allied Vision Alvium 1800 | Allied Vision industrial-grade CMOS cameras (U-158m, U-511m) | [Link](https://www.alliedvision.com/en/products/alvium-configurator/alvium-1800-u/158/#_configurator) |
257+
| Camera | Description | Link |
258+
| :-----------------------: | ------------------------------------------------------------------------ | :-----------------------------------------------------------------------------------------------------------: |
259+
| IDS uEye UI-3060CP Rev. 2 | IDS industrial-grade CMOS cameras | [Product Link](https://en.ids-imaging.com/store/products/cameras/ui-3060cp-rev-2.html) |
260+
| Thorlabs DCC1545M | DCx camera using UC480 driver | [Product Link](https://www.thorlabs.com/thorProduct.cfm?partNumber=DCC1545M) |
261+
| Allied Vision Alvium 1800 | Allied Vision industrial-grade CMOS cameras (U-158m, U-511m) | [Product Link](https://www.alliedvision.com/en/products/alvium-configurator/alvium-1800-u/158/#_configurator) |
262+
| Excelitas PCO sCMOS | Excelitas pco.edge 4.2 LT USB sCMOS Camera | [Product Link](https://www.excelitas.com/product/pcoedge-42-lt-usb-scmos-camera) |
263+
| Pycro-camera | Access to cameras via Micro-Manager drivers/adapters using Pycro-Manager | - |
261264

262265
### Additional Hardware
263266

264267
| Hardware | Description | Link |
265268
| --------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
266-
| Integrated Optics MatchBox | Multi-wavelength Laser Combiner, Single Laser MatchBox | [Link](https://integratedoptics.com/products/wavelength-combiners) |
267-
| Piezo Concept FOC | Nanopositioner for microscope objectives | [Link](https://piezoconcept-store.squarespace.com/1-axis/p/foc) |
269+
| Integrated Optics MatchBox | Multi-wavelength Laser Combiner, Single Laser MatchBox | [Products Link](https://integratedoptics.com/products/wavelength-combiners) |
270+
| Piezo Concept FOC | Nanopositioner for microscope objectives | [Piezo Concept FOC](https://piezoconcept-store.squarespace.com/1-axis/p/foc) |
268271
| Thorlabs Elliptec ELL6/ELL9/ELL12 | Dual/Four/Six-Position Slider | [ELL6](https://www.thorlabs.com/thorproduct.cfm?partnumber=ELL6), [ELL9](https://www.thorlabs.com/thorproduct.cfm?partnumber=ELL9), [ELL12](https://www.thorlabs.com/thorproduct.cfm?partnumber=ELL12) |
269272
| Thorlabs Elliptec ELL14 | Rotation Mount: SM1 Threaded | [ELL14](https://www.thorlabs.com/thorproduct.cfm?partnumber=ELL14) |
270273
| Thorlabs Elliptec ELL20 | Linear Stage: 60 mm Travel | [ELL20](https://www.thorlabs.com/thorproduct.cfm?partnumber=ELL20) |
271-
| Thorlabs KDC101 | Kinesis Controller for Z825B/[Z925B](https://www.thorlabs.com/thorproduct.cfm?partnumber=Z925B) actuators (Activate USB VCP to access the COM port in device manager) | [Link](https://www.thorlabs.com/thorproduct.cfm?partnumber=KDC101) |
272-
| Parallax TSL1401-DB (#28317) | Linescan Camera Module | [Link](https://eu.mouser.com/ProductDetail/Parallax/28317?qs=%2Fha2pyFaduiCRhuOAXMuCmQIeG1Q3R01m6Y1EH%252BmN80%3D) |
274+
| Thorlabs KDC101 | Kinesis Controller for Z825B/[Z925B](https://www.thorlabs.com/thorproduct.cfm?partnumber=Z925B) actuators (Activate USB VCP to access the COM port in device manager) | [KDC101](https://www.thorlabs.com/thorproduct.cfm?partnumber=KDC101) |
275+
| Parallax TSL1401-DB (#28317) | Linescan Camera Module | [Parallax TSL1401-DB](https://eu.mouser.com/ProductDetail/Parallax/28317?qs=%2Fha2pyFaduiCRhuOAXMuCmQIeG1Q3R01m6Y1EH%252BmN80%3D) |
273276
| RelayBox Arduino | For laser control using camera GPIO signals | [RelayBox](https://github.com/samhitech/RelayBox) |
274-
| miEye OSF Project Parts List | Parts list of miEye OSF Project | [Link](https://osf.io/j2fqy/) |
277+
| miEye OSF Project Parts List | Parts list of miEye OSF Project | [Repo Link](https://osf.io/j2fqy/) |
275278

276279
## Pycro-Manager Integration
277280

@@ -282,6 +285,15 @@ Integration with Pycro-Manager is now implemented, providing support for managin
282285
- **Headless Manager**: Manage multiple headless Micro-Manager instances (JavaBackend), including starting, stopping, and saving configurations.
283286
- **Core Instances Manager**: Handle multiple PycroCore instances for device communication and control.
284287

288+
### Integrated Hardware
289+
290+
The following table lists the hardware devices that are integrated and supported by the `miEye module`:
291+
292+
| Device | Description |
293+
| :----: | ------------------------------------------------------------------------------------------- |
294+
| Camera | Access Micro-Manager cameras (mainly done for focus stabilization). |
295+
| ZStage | Access Micro-Manager Z-stage devices for focus stabilization and axial positioning control. |
296+
285297
### How to Use
286298

287299
1. **Headless Manager**:
@@ -346,7 +358,7 @@ Special thanks to the following projects and libraries that make this work possi
346358
> Raw data to results: a hands-on introduction and overview of computational analysis for single-molecule localization microscopy", Martens et al., (2022), Frontiers in Bioinformatics. [Paper](https://www.frontiersin.org/articles/10.3389/fbinf.2021.817254)
347359
348360
- **TARDIS (Temporal Analysis of Relative Distances)**: We have developed a partial Python implementation of TARDIS without fitting for now. For more information, refer to the [TARDIS software releases](https://github.com/kjamartens/TARDIS-public). The underlying algorithms and scientific details of TARDIS are detailed in the manuscript:
349-
> Martens et al., “Temporal analysis of relative distances (TARDIS) is a robust, parameter-free alternative to single-particle tracking”, Nature Methods (2024). [Link](https://rdcu.be/dv1sr)
361+
> Martens et al., “Temporal analysis of relative distances (TARDIS) is a robust, parameter-free alternative to single-particle tracking”, Nature Methods (2024). [Article](https://rdcu.be/dv1sr)
350362
351363
**Note**: I'm committed to maintaining an accurate acknowledgment list for our project. However, if I inadvertently miss acknowledging your work, please don't hesitate to reach out to us. I appreciate your understanding, and I'm doing my best to manage all acknowledgments amidst my other responsibilities.
352364

0 commit comments

Comments
 (0)