/scratch-test-count

https://www.nature.com/articles/nprot.2007.30

Primary LanguagePython

title author
scratch test count
Kozhin PM

Скрипт создан для обсчета данных scratch-test`а (что это такое, можно посмотреть тут: https://www.nature.com/articles/nprot.2007.30)

С помощью класса scratch_test_class анализируются фотографии с клеточными культурами. Сегментируются участки с клетками и без. Вычисляются соответствующие площади.

import pandas as pd
import matplotlib.pyplot as plt
import czifile
import scratch_test_class as st
from skimage.segmentation import mark_boundaries
ST = st.Scratch_test()
ST.setImages('/pics')
ST.setTargets('0d_k')
ST.setTargetThreshold()
ST.count_scratch_area()
0 of 3 images
1 of 3 images
2 of 3 images
Done!
pd.DataFrame({'name': ST.imagenames, 'area': ST.area})
        name     area
0  3d_k_rep0   426554
1  0d_k_rep0  3200451
2  0d_k_rep1  3669344

Сегментированные площади можно подсветить наложением маски или отобразив границы

ST.display(ncols=3)

fig, axes = plt.subplots(ncols=3, nrows=1, figsize=(50, 50))       
for ax, b, i, title in zip(axes.flatten(), ST.binaries, ST.images, ST.imagenames):
    ax.imshow(czifile.imread(i)[0,:,:,0], cmap='gray')
    ax.imshow(b, cmap='Greens_r', alpha=0.5)
    ax.axis('off')
    ax.set_title(title, fontsize=50)
fig.tight_layout()

fig, axes = plt.subplots(ncols=3, nrows=1, figsize=(50, 50))       
for ax, b, i, title in zip(axes.flatten(), ST.binaries, ST.images, ST.imagenames):
    ax.imshow(mark_boundaries(czifile.imread(i)[0,:,:,0], 
                               b, 
                               color=(0, 1, 0), 
                               outline_color=(1, 1, 0),
                               mode = 'thick'))
    ax.axis('off')
    ax.set_title(title, fontsize=50)
fig.tight_layout()