Adding NMF mode
Adding NMF mode

This adds NMF based filtering for the standard selection mode.

1)  self.useNMF boolean flag enables it's use

2)  'n' quick key toggles self.useNMF

3)  lots of code in addCell() that after morphological segmentation,
calls self.doLocalNMF() and uses the modes it gets back.  In
particular, it thresholds the modes and fits them with 2d gaussians.
The parameters of these fits are used to determine if the mode a)
corresponds to a cell and b) is *this* cell.  we only use a mode if it
corresponds to a cell

If it is this cell, we add in those pixels in a area around the
morphologically selected cell body.

If it is another cell, we remove any pixels that overlap with the
morphologically selected cell body.

We close holes and eliminate any ROIs smaller than 10 pixels to get rid
of tiny shit.  This should probably be a parameter.

-------------

I've put in hooks in the other modes to use NMF, but nothing is done
there.

dattalab/d_code,dattalab/d_code