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');