Hi
For my bachelors end project, I’ve tried to create a “automated” platform for cell localization. The aim of this project is to reduce time needed to localize a Circulating Tumor Cells(CTC) with the ONI nanoimager. The automation of this process saves researchers a lot of time.
After rinsing a clinical blood sample to isolate CTC’s, cell density is very low. The ONI nanoimager is used to do research on the CTC’s. It has a very low Field of View (50 - 80 micrometer), making the localization of CTC’s very time intensive.
I have build the Openflexure microscope as platform to scan a sample slide to search for CTC’s. This is more effective because the openflexure has a larger FOV and is easily customizable.
The goal of this project is to localize CTC obtained from clinical blood samples. Using the Openflexure microscope, a scan of a sample can be made. So that CTC’s can be localized, and their coordinates be used as input for the ONI nanoimager.
All files mentioned can be found on github, i have also uploaded interesting pictures to this github
The custom cad files are below: some are made with help from a friend, others are self-made using tinkercad
ArducamOptics.stl: Camera objective custom made for rducam 8MP 1080P USB-cameramodule (the outer green part has been removed from the arducam)
Slide holder ibid.stl This holder has been made to fit a (75,5x25,5 mm) (Ibidi) sample slide. The slide holder can be mounted on the OF stage and the ONI stage making sure the slide always has the same relative position.
slideholder3rdwellcenter.stl This file is is similar to the normal slide holder, but the slide has been moved in length, so that the 3rd well of a Ibidi µ-Slide VI 0.4 is exactly in the center of the OF microscope. This is useful since the OF microscope has a small Range of motion, A full well can not be scanned using the previous slide holder ibid ( THIS SLIDE HOLDER HAS NOT BEEN USED IN THE RESEARCH BUT DEVELOPED AFTERWARDS)
Calibration slide houder.stl This is a slide holder for a calibration slide, used to calibrate the OF microscope. the Ø = 0.15 mm dot is at the exact center of the microscope.
Microscope-3.5mm minder.stl This is an exact copy of the Main body, except the stage is 3.5 mm lower, this is to correct for the heightening of the sample when using the slide holder.
SOFTWARE SOLUTIONS
A python script “NMG_Microscope_Control” is written to: control the microscope, autofocus on the sample, perform a scan, calibrate the microscope to set the zero point and take pictures. The main purpose of this code is to perform a scan on a slide, so that a montage can be made. This montage is later analyzed to determine the location of individual cells, using the 2nd script, “NMG_Coordinate”.
Montages were created using the Fiji plugin Grid/Stitching [11] The Tile overlap was set to 33%.
FLASHING THE FIRMWARE & SOFTWARE
“NMG_Microscope_Control” was written in Python 3.11 using the UC2-Rest Package by Beniroquai. (/github.com/openUC2/UC2-REST) The firmware for this package was flashed on the ESP32 DEV-based UC2 board. Instructions on how to flash the firmware, and the pin configuration for the stepper motors was on the GitHub of OpenUC2 (/youseetoo.github.io)
Instead of using the ESP32 DEV-based UC2 board, a regular ESP32 WEMOS D1 R32-based UC2 board can also be used.
Let me know If you are interested in more information.