/neuron-tracking

Applying Computer Vision basics in studying neurons.

Primary LanguageJupyter NotebookMIT LicenseMIT

Neuron tracking

This project was born as the final task during the Intro to Computer Vision course at Skoltech.

Studying images from a confocal microscope, thick acute brain slices have a tendency to fluctuate, which is why the coordinates of ROI (cells) are unstable. My role was to detect the bodies of neurons and track them throughout the recording time.

Data source and scientific reasoning

The images from the confocal microscope have 3 sources, in this case recorded at 420 and 500 nm, which is significant because the protein called Hydrogen peroxide sensor (HyPer, Evrogen) has two maxima in fluorescence at these specific channels. This protein is capable of detecting intracellular hydrogen peroxide and when it is present, HyPer starts to fluorescent. By this fluorescence, we can determine whether our genetic construct containing the HyPer gene is in the neuron cell.

hyper

Neurons bodies detection

  • Normalizing scale (intensity) of the channel
  • Denoizing + adaptive threshold
  • Morphology playing
  • Watershed segmentation of clumped cells
  • Mask extraction

Initial frame of neurons Mask

Tracking detected ROI through the time

The further problem has the Object Tracking Open CV realization that uses previuos frame in video where the obect has moved. From each cell contour we extracted the bounding boxes and trained the Boosting MultiTracker.

tracked cells

Afterwards, we can calculate the intensities of each cells on every frame and find out whether the genetic construct is present in a particular cell.

image

For futher improvements, we have to find undetected cells in initial frame and check whether there are no cells have been identified in further frames.