Ejemplo n.º 1
0
def calculate_dgms_of_shape(bin_img, name, save_path, orientation_num=30):
    leaf_dgms = calculate_discrete_NPHT_2d(bin_img, orientation_num)
    dgms = []
    for index, dgm in enumerate(leaf_dgms):
        dgm_arr = np.array(dgm[0])
        dgms.append(dgm_arr)
        # print("dgm shape is: {}".format(dgm_arr.shape))
        file_name = "{}_{}.txt".format(name, index)
        np.savetxt(os.path.join(save_path, file_name), dgm_arr)
def calculate_npht_2d(monochrome_image, directions):
    label_map, count = skimage.morphology.label(monochrome_image,
                                                neighbors=4,
                                                background=0,
                                                return_num=True)
    volumes = [np.count_nonzero(label_map == (i + 1)) for i in range(count)]
    arg_max = np.argmax(volumes)
    label_image = (label_map == (arg_max + 1))
    label_image = np.ndarray.astype(label_image, bool)
    return calculate_discrete_NPHT_2d(label_image, directions)
def get_npht(img, number_of_directions):
    img = np.ndarray.astype(img, bool)
    npht = calculate_discrete_NPHT_2d(img, number_of_directions)
    return npht
Ejemplo n.º 4
0
#    img = X_300[i].reshape(8,8).copy()
#    pdgms_300_8angl.append(calculate_discrete_NPHT_2d(img,8))
#
## With threshold
#pdgms_300_8angl_thr = []
#for i in range(X_300.shape[0]):
#    img = X_300[i].reshape(8,8).copy()
#    val = filters.threshold_otsu(img)
#    img[img<val] = 0
#    img[img>=val] = 1
#    pdgms_300_8angl_thr.append(calculate_discrete_NPHT_2d(img,8))

pdgms_all_4angl = []
for i in range(X_all.shape[0]):
    img = X_all[i].reshape(8,8).copy()
    pdgms_all_4angl.append(calculate_discrete_NPHT_2d(img,4))

#pdgms_all_8angl = []
#for i in range(X_all.shape[0]):
#    img = X_all[i].reshape(8,8).copy()
#    pdgms_all_8angl.append(calculate_discrete_NPHT_2d(img,8))

#pdgms_300_4angl = np.asarray(pdgms_300_4angl)
#pdgms_300_4angl_thr = np.asarray(pdgms_300_4angl_thr)
#pdgms_300_8angl = np.asarray(pdgms_300_8angl)
#pdgms_300_8angl_thr = np.asarray(pdgms_300_8angl_thr)
pdgms_all_4angl = np.asarray(pdgms_all_4angl)
#pdgms_all_8angl = np.asarray(pdgms_all_4angl)

#np.save("../data/pdgms/pdgms_300_4angl", pdgms_300_4angl)
#np.save("../data/pdgms/pdgms_300_4angl_thr", pdgms_300_4angl_thr)