Skip to content

Deep learning model to remove noise from microscope images

Notifications You must be signed in to change notification settings

mohakpatel/ImageCleaning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 

Repository files navigation

ImageCleaning

In this project I aimed at cleaning noisy microscope images.

My motivation behind this project is that I write image processing algorithms to extract meaningful quantitative data out of micoscope images. However, writing robust algorithms which work in presense of noise is often challenging. My task becomes easier if I don't have the optical distortions and noise in the images.

Even for people not performing quantiative analysis with images, getting clean images can be benefical. Small features can be observed in images, if can deconvolve and remove noise from the images. While there are many algorithms for deconvolution, performing deconvolution in presence of noise is challenging.

In this project, I use convolutional auto-encoders to performe image deconvolution and remove noise from the images at the same time. To train the model, I synthetically generate my training images based on the optical properties of an microscope.

Here is a sneak-peak of the on the performance of my deep learning model:

Files

  • ImageCleaning.ipynb: I describe the image generation process, and the training, testing and visualization of the model results.
  • model.py: Convolutional auto-encoder model to deconvolve and clean the images implemented in Tensorflow
  • image_generation.py: Synthetic microscope image generation
  • imshow3D.py: 3D image slice viewer developed using ipywidgets

Requirements

I used the following version of libraries in Python 3 for my model

  • Tensorflow 1.12
  • Numpy 1.15.1
  • Scipy 1.1.0
  • scikit-learn 0.19.2
  • matplotlib 2.2.3
  • ipywidgets 7.4.1
  • time
  • os