Brightfield timelapse example

Install and import the dependencies

[1]:
# install the basicpy in case of Google Colaboratory
try:
    import google.colab

    %pip uninstall -yq basicpy
    %pip install --upgrade -q basicpy
except ModuleNotFoundError:
    pass
[2]:
from basicpy import BaSiC
from basicpy import datasets as bdata
from matplotlib import pyplot as plt

Load the sample images

[3]:
images = bdata.timelapse_brightfield()
plt.imshow(images[10])
Downloading file 'timelapse_brightfield.npz' from 'doi:10.5281/zenodo.6974039/timelapse_brightfield.npz' to '/home/docs/.cache/basicpy'.
[3]:
<matplotlib.image.AxesImage at 0x7fd4716acf10>
../_images/notebooks_timelapse_brightfield_5_2.png

Fit the flatfield and darkfield

[4]:
basic = BaSiC(get_darkfield=True, smoothness_flatfield=1)
basic.fit(images)

Plot the fit results

[5]:
fig, axes = plt.subplots(1, 3, figsize=(9, 3))
im = axes[0].imshow(basic.flatfield)
fig.colorbar(im, ax=axes[0])
axes[0].set_title("Flatfield")
im = axes[1].imshow(basic.darkfield)
fig.colorbar(im, ax=axes[1])
axes[1].set_title("Darkfield")
axes[2].plot(basic.baseline)
axes[2].set_xlabel("Frame")
axes[2].set_ylabel("Baseline")
fig.tight_layout()
../_images/notebooks_timelapse_brightfield_9_0.png

Correct the original images

[6]:
images_transformed = basic.transform(
    images,
)

Plot the corrected results

[7]:
i = 12
fig, axes = plt.subplots(1, 2, figsize=(6, 3))
im = axes[0].imshow(images[i])
fig.colorbar(im, ax=axes[0])
axes[0].set_title("Original")
im = axes[1].imshow(images_transformed[i])
fig.colorbar(im, ax=axes[1])
axes[1].set_title("Corrected")
fig.tight_layout()
../_images/notebooks_timelapse_brightfield_13_0.png
[ ]: