Skip to content

Non negative Matrix Factorization

Vinay Kumar edited this page Mar 9, 2018 · 4 revisions

Definition

Non-negative Matrix factorization is a concept where a matrix V (where V[i][j] > 0) is factorized to W and H where V = W*H + N where N is noise. All the elements in W and H are greater than 0. With better factorization, N is close to zero-matrix. W is a feature matrix and H is a coefficient matrix.

Neuron Segmentation

For this project, V is a collection of images. We arrange them in (512*512, N) matrix. They are divided into blocks of smaller dimensions and NMF is applied to these matrices. The regions of interest are taken from these feature matrices. We then merge the high overlapping regions in k-nearest neighbors. After the merge, we are regions of interest for images of original dimensions which is the desired output.

Packages and libraries

We have extensively used thunder package in doing most of our NMF implementation. The images are loaded using thunder.images.fromtif() method which loads image dataset in parallel threads. It handles the data in numpy arrays. NMF and other filterings on arrays are internally done using scipy libraries.

Clone this wiki locally