Matlab BUG FOUND !!
- if given an input of type single or double im2bw thresholds at x>T = 1 and x <T =0, regardless of the range of the input variable x. T is however restricted to be between 0 and 1.
- with uint8 and uint16, threshold T between 0 and 1 is simply 0 = 0, and 1 = 2^n where n is 8 or 16.
- Of minor interest, B = im2bw(A,.2) is faster than B = A>.2*2^16, for thresholding uint16 for example.
New watershedding approach
Use max(I) -I as input instead of ~bwdist(~bw) . Works pretty well.
Occassionally weak neighbor is fully in the ‘watershed’ of the stronger neighbor, which thus stays fused and the centroid gets mis-mapped.
New 3D dot finding:
Major changes to dotfinder to fix matlab bug. Need to fix fxn_nuc_seg.m still.
3D dot positions (CheckDotUpDown.m). Now constructs complete z-map for all positions inhabited by transcripts (might not scale well to large images, matrix is 2*Ndots x Zlayers, shouldn’t be too nonlinear in N-(possible)dots.
Can localize all dots in 3D. Can we convert the pancake stacks into inferred real 3D gaussians?