Goal: develop a tool using machine learning to segment images of packed epithelial cell layers (for future use in pycellfit)
Project started in May 2020 by Nilai Vemula
- Status: Planning and Brainstorming
- Background Research
- Make a FCN or other type of neural network in TensorFlow
- Write scripts to pre-process and post-process images
- Create a training set of images from the ECAD dataset (provided by James White)
- Train neural network
- Evaluate accuracy of model and continue training
- Collect code as a package
- CSML: Paper pre-print & GitHub
- Instance Segmentation: DeepMask Review
- Semantic Segmentation: FCN Review
- Tensorflow: FCN in Tensorflow
- FCN in Tensorflow for Segmentation: GitHub
This project should require numpy and tensorflow for developing the neural network as well as Pillow and opencv for
some image processing. Additional requirements include matplotlib, scikit-learn, and scipy. A full list of
requirements is present in requirements.txt
and should be used with a virtual environment based on Python 3.8.
For testing data, we are using a variety of images (some from James White). Each raw tif image is found in data/raw
. Each raw image is then loaded into SeedWaterSegmenter and is manually segmented using a watershed method. The
output files from SeedWaterSegmenter are located in data/ground_truth/<name_of_raw_tif>
. The watershed-segmented
file is located in data/ground_truth/<name_of_raw_tif>/Segments/Segment_0_000.tif
. This file is then converted to
a black and white mesh by the neural_net_cell_segmenter/ground_truth_preprocess.py
script. The mesh is saved in
data/ground_truth/<name_of_raw_tif>_mask.tif
.