Мой английский может быть не очень хорошим. Я надеюсь, вы понимаете мой вопрос. У меня есть кусок кода, который отмечает ядра. Я хочу определить координаты центра этих блобов, а затем соединить их на части размером 64х64.

Мой код:

import numpy as np
from numpy import linalg

from math import sqrt

import matplotlib.pyplot as plt

from skimage import data
from skimage.color import separate_stains, rgb2grey
from skimage.exposure import rescale_intensity
from skimage.feature import blob_dog


#Color deconvolution
#Hematoxylin(0) perm red(1) & DAB(2)
rgb_from_hrd = np.array([[0.644, 0.710, 0.285],
                         [0.0326, 0.873, 0.487],
                         [0.270, 0.562, 0.781]])
hrd_from_rgb = linalg.inv(rgb_from_hrd)

#Import picture
ihc_rgb = data.imread(r'C:/Users/dogac/Desktop/projebitirme/Training_data/Invasive/t53.tif')

#Stain space conversion
ihc_hrd = separate_stains(ihc_rgb, hrd_from_rgb)


'''DAB'''
#Rescale signals
#[:, :, 012 color]
dab_rescale = rescale_intensity(ihc_hrd[:, :, 2], out_range=(0, 1))
dab_array = np.dstack((np.zeros_like(dab_rescale), dab_rescale, dab_rescale))


#Blob detection
image2dD = rgb2grey(dab_array)


blobs_DoG_DAB = blob_dog(image2dD, min_sigma=1, max_sigma=25, threshold=.3, overlap=0.3)
blobs_DoG_DAB[:, 2] = blobs_DoG_DAB[:, 2] * sqrt(2)

blobs = [blobs_DoG_DAB]
colors = ['orange']
titles = ['Difference of Gaussian: DAB']
sequence = zip(blobs, colors, titles)

for blobs, color, title in sequence:
    fig, ax = plt.subplots(1, 1)
    ax.set_title(title)
    ax.imshow(image2dD, interpolation='nearest', cmap=plt.cm.gray)
    for blob in blobs:
        y, x, r = blob
        c = plt.Circle((x, y), r, color=color, linewidth=1, fill=False)
        ax.add_patch(c)
0
J.Doe123