In [66]:
from showit import image
import matplotlib.pyplot as plt

In [67]:
%matplotlib inline

In [68]:
from extraction.utils import make_gaussian
data, series, truth = make_gaussian(n=5, seed=42, noise=0.5, withparams=True)

In [72]:
base = data.mean().toarray()
image(base);



In [73]:
from extraction import NMF
algorithm = NMF(k=5, percentile=95, overlap=0.1)

In [74]:
model = algorithm.fit(data, chunk_size=(100,200))

In [75]:
image(model.regions.mask(dims=data.shape[1:], cmap_stroke='rainbow', fill=None, base=base));



In [78]:
image(truth.regions.mask(dims=data.shape[1:], cmap='rainbow', stroke='black', base=base));



In [79]:
plt.plot(model.transform(data).toarray().T);
plt.axis('off');



In [80]:
plt.plot(series.T);
plt.axis('off');