Project Problem Definition
For our project, we aim to realize the segmentation and analysis of living cells in microscope images. The study of the morphology of cells is very important to biologists. However, locating, identifying, and counting the cells manually are tedious and time-consuming tasks that could be simplified by means of automatic analysis, in which segmentation is a crucial step. So this project would try to develop our own program to segment different cells and make it robust enough to apply in different datasets.
We use datasets collected by BU-BIL(Boston University - Biomedical Image Library). These datasets consist of six independent cell datasets. Each dataset contains 35~69 images stored as ‘.png’ files. Besides, every dataset has the golden standard segmented results labeled by experts of cells. So we have a way to compare our results and see how well our algorithm is. Every image has one and only one cell required to be seperated.
- Dataset 1:Phase Contrast Microscopy, Rat smooth muscle cells
- Dataset 2 : Phase Contrast Microscopy, Rabbit smooth muscle cells
- Dataset 3 : Phase Contrast Microscopy, Fibroblasts
- Dataset 4 : Fluorescence Microscopy, Lu melanoma cells
- Dataset 5 : Fluorescence Microscopy, WM993 melanoma cells
- Dataset 6 : Magnetic Resonance Images, Rabbit aorta
- Image Smoothing
- Median Blur
- Gaussian Smoothing
- Initial seeds list
- Select a seed point and determine whether 8 - neighborhood have similar properties to the pixel point. If so, the neighborhood continues to be calculated as a seed point
- When all the seeds have been traversed, the algorithm stop
- Get bigger objects of dark-region image and bright-region image and merge them
- Get the edge of objects in new image by using canny edge detection
- Connect the closer edge pixel of each row and column
- Decided how similar we want our contours and the curve are
- Use the poly approximation algorithm to approximates a polygonal curve
- The quality of regional growth depends on the selection of the initial point (seed point), growth criteria and termination conditions. So if we just use the centroids of bigger area of contours as seeds, maybe the result would be better.
- For edge connection, if we rotate the image by say 45 degree, then we do the edge connection again, maybe the result would be better.
- When we selecting the connected field, we first filter the connected fields with small areas and then we select the one closest to the central of the image. Performance maybe better if we evaluate every connected field with a certain algorithm.