Medical Image Processing Case Study

Medical Diagnostics Image Recognition

How to detect live cells from dead cells


This project is in the field of medical research to discover a cure for Alzheimer and numerous other neurodegenerative diseases. The customer’s aspiring research is focused on a ground-breaking approach to accelerate drug discovery process.

Project Objectives

The goal of this project was to determine cultured cells in the petri dish as dead or alive. To test drug’s effectiveness, it is injected into body cells. Next the cells are checked in the microscope by the research scientists to determine cell’s viability and lifetime of each cell. Since these cells are light sensitive, the process is performed regularly once a day over a period of 10 days.

Increase research accuracy and reduce human error
Being able to examine microscopy images and draw from them information that researchers had been unable to visually identify. By using computer vision and deep learning, researcher is able to learn and see more fine details that scientists couldn’t using naked eye, hence increase research accuracy and human error reduction.

Dramatically reduce time
It will minimize the need for manual checking of the condition of every cell in the petri dish. Manual checking is a time-consuming and error-prone procedure.

Determine Cell Viability
The success rate of this treatment depends on calls viability over the period of ten days. So, the third objective is to determine how many cells remain alive, and how many cells die every day.

The Challenge

Cell separation from a cultured petri dish was the main challenge in this project. So, our goal was to detect and separate each cell in the culture to determine whether it’s viability.


The end solution takes a picture as an input

Our highly skilled data scientist developer used mathematical graph theory methods to solve this problem in the following way:


First, he had to detect the smallest single cells on the original image. Next, he blurred the image and tried to detect big cells and cell groups. Next, he removed detected big cells and separated them from the other cells in the group.

Once all cells have been detected and separated. We had to determine if they still showed neurites in the bodily structure. A neurite or neuronal process refers to any projection from the cell body of a neuron. This projection can be either an axon or a dendrite. The term is frequently used when speaking of immature or developing neurons, especially of cells in culture, because it can be difficult to tell axons from dendrites before differentiation is complete.

The presence of the neurites allows us to determine whether the cell is alive or not.

determine cell viability


The script was developed using image processing, mapping and computer vision.

To start the microscope takes 10 pictures as an input. The images seen on the slide are sent electronically to a computer, or laptop. Next the algorithm recognizes the living and dead cells and marks them on the image. Next the script returns the images with the marked cells and several text reports containing detailed information about the cells. The script is currently being used by our client and is already helping them in their research.

*All case studies are for illustration purposes only. Due to NDA agreements between the client and the development team, project details cannot be disclosed.


A collection of scripts


Medical Research


Python, OpenCV

Areas of Expertise

Computer Vision, Machine Learning, Image Processing, Mapping, Camera API, User Setting Persistence, Custom UI Widgets


2 months


1 developer, 1 QA specialist