In [1]:
import os
import matplotlib.pyplot as plt
import numpy as np
from skimage.filter.rank import autolevel_percentile
import skimage.io
import matplotlib.colors

%matplotlib inline

In [2]:
files = []
def func(files, dirname, fnames):
    if len(files) > 20:
        return
    if 'tn' in fnames:
        fnames.remove('tn')
    excludes = ['.DS_Store']
    include = 'snap'
    for fname in fnames:
        absname = os.path.join(dirname, fname)
        if not os.path.isfile(absname):
            continue
        if fname in excludes:
            continue
        if include not in fname:
            continue
        files.append(absname)
        
os.path.walk('/Users/baart_f/data/c1', func, files)

In [40]:
import skimage.segmentation
images = [plt.imread(f) for f in list(sorted(files))[:10]]
imgrgb = np.concatenate([x[:,:,np.newaxis,:].astype('float')/255.0 for x in images], -2)
segments = skimage.segmentation.slic(imgrgb[::4,::4,:,:],enforce_connectivity=False, n_segments=400, sigma=0.2)

In [79]:
from IPython.html.widgets import interact

@interact(i=(0,9), vmin=[100,110], vmax=[200,210])
def p(i, vmin, vmax):
    fig, axes = plt.subplots(1, 2, figsize=(15,6))
    axes[0].imshow(images[i])
    axes[1].imshow(segments[:,:,i]*np.in1d(segments[:,:,i], [100,101,119,120,121,122,123, 140,141,142,143,144,145,164,165]).reshape(segments[:,:,i].shape), vmin=vmin,vmax=vmax)



In [12]:
imgrgb.shape


Out[12]:
(2048, 2448, 10, 3)

In [49]:
np.in1d(np.random.randint(0,3, (20,20)), [2])


Out[49]:
array([False,  True, False,  True, False, False,  True, False, False,
        True, False, False, False,  True, False, False, False, False,
       False, False,  True,  True, False,  True,  True,  True, False,
        True, False,  True, False, False, False, False,  True, False,
       False, False, False, False,  True, False, False,  True, False,
        True,  True, False,  True,  True,  True, False, False, False,
        True, False, False,  True, False, False,  True, False,  True,
       False, False, False, False, False,  True, False, False,  True,
       False, False, False, False,  True,  True,  True, False, False,
        True, False,  True,  True, False, False, False,  True, False,
       False, False, False, False,  True, False, False, False,  True,
       False,  True,  True,  True,  True, False, False,  True,  True,
       False, False, False, False, False,  True, False, False, False,
       False, False, False, False, False, False,  True, False,  True,
        True,  True,  True, False, False,  True,  True, False, False,
       False, False,  True,  True,  True,  True, False, False, False,
       False, False, False, False,  True, False,  True, False,  True,
       False,  True,  True, False,  True,  True, False,  True,  True,
       False, False, False, False, False, False,  True, False,  True,
        True,  True, False, False,  True,  True, False,  True, False,
        True, False, False, False, False, False, False, False, False,
       False,  True, False, False, False, False, False,  True, False,
        True, False,  True, False, False, False, False, False,  True,
       False,  True, False, False, False, False,  True, False, False,
       False, False, False,  True, False, False,  True, False,  True,
       False,  True, False,  True, False, False, False, False, False,
        True,  True, False, False, False, False,  True,  True, False,
       False, False,  True, False, False,  True,  True, False,  True,
       False, False, False, False, False,  True, False, False, False,
       False, False, False, False, False, False,  True, False,  True,
        True, False, False, False, False, False, False, False,  True,
       False, False, False, False,  True, False, False,  True,  True,
       False, False,  True,  True,  True, False,  True, False, False,
       False,  True, False, False, False, False, False,  True, False,
       False, False, False, False,  True,  True, False, False, False,
        True, False, False, False, False, False, False,  True,  True,
       False, False, False, False,  True, False,  True,  True,  True,
        True, False, False, False, False,  True, False, False, False,
       False,  True,  True, False,  True, False, False,  True, False,
        True,  True, False,  True,  True, False,  True, False,  True,
        True,  True,  True, False,  True, False, False, False,  True,
       False, False, False, False,  True,  True, False,  True,  True,
       False,  True,  True, False, False, False, False,  True, False,
       False,  True,  True, False, False, False, False, False, False,
        True, False, False, False], dtype=bool)

In [ ]: