mirror of
https://github.com/qurator-spk/eynollah.git
synced 2025-06-08 19:59:56 +02:00
utils.find_num_col: clean up and simplify if-else
This commit is contained in:
parent
58c5d4dce6
commit
4a903d2ec3
1 changed files with 3 additions and 37 deletions
|
@ -557,57 +557,35 @@ def return_hor_spliter_by_index_for_without_verticals(peaks_neg_fin_t, x_min_hor
|
||||||
|
|
||||||
def find_num_col(regions_without_seperators, multiplier=3.8):
|
def find_num_col(regions_without_seperators, multiplier=3.8):
|
||||||
regions_without_seperators_0 = regions_without_seperators[:, :].sum(axis=0)
|
regions_without_seperators_0 = regions_without_seperators[:, :].sum(axis=0)
|
||||||
|
|
||||||
##plt.plot(regions_without_seperators_0)
|
##plt.plot(regions_without_seperators_0)
|
||||||
##plt.show()
|
##plt.show()
|
||||||
|
|
||||||
sigma_ = 35 # 70#35
|
sigma_ = 35 # 70#35
|
||||||
|
|
||||||
meda_n_updown = regions_without_seperators_0[len(regions_without_seperators_0) :: -1]
|
meda_n_updown = regions_without_seperators_0[len(regions_without_seperators_0) :: -1]
|
||||||
|
|
||||||
first_nonzero = next((i for i, x in enumerate(regions_without_seperators_0) if x), 0)
|
first_nonzero = next((i for i, x in enumerate(regions_without_seperators_0) if x), 0)
|
||||||
last_nonzero = next((i for i, x in enumerate(meda_n_updown) if x), 0)
|
last_nonzero = next((i for i, x in enumerate(meda_n_updown) if x), 0)
|
||||||
|
|
||||||
# print(last_nonzero)
|
|
||||||
# print(isNaN(last_nonzero))
|
|
||||||
# last_nonzero=0#halalikh
|
|
||||||
last_nonzero = len(regions_without_seperators_0) - last_nonzero
|
last_nonzero = len(regions_without_seperators_0) - last_nonzero
|
||||||
|
|
||||||
y = regions_without_seperators_0 # [first_nonzero:last_nonzero]
|
y = regions_without_seperators_0 # [first_nonzero:last_nonzero]
|
||||||
|
|
||||||
y_help = np.zeros(len(y) + 20)
|
y_help = np.zeros(len(y) + 20)
|
||||||
|
|
||||||
y_help[10 : len(y) + 10] = y
|
y_help[10 : len(y) + 10] = y
|
||||||
|
|
||||||
x = np.array(range(len(y)))
|
x = np.array(range(len(y)))
|
||||||
|
|
||||||
zneg_rev = -y_help + np.max(y_help)
|
zneg_rev = -y_help + np.max(y_help)
|
||||||
|
|
||||||
zneg = np.zeros(len(zneg_rev) + 20)
|
zneg = np.zeros(len(zneg_rev) + 20)
|
||||||
|
|
||||||
zneg[10 : len(zneg_rev) + 10] = zneg_rev
|
zneg[10 : len(zneg_rev) + 10] = zneg_rev
|
||||||
|
|
||||||
z = gaussian_filter1d(y, sigma_)
|
z = gaussian_filter1d(y, sigma_)
|
||||||
zneg = gaussian_filter1d(zneg, sigma_)
|
zneg = gaussian_filter1d(zneg, sigma_)
|
||||||
|
|
||||||
peaks_neg, _ = find_peaks(zneg, height=0)
|
peaks_neg, _ = find_peaks(zneg, height=0)
|
||||||
peaks, _ = find_peaks(z, height=0)
|
peaks, _ = find_peaks(z, height=0)
|
||||||
|
|
||||||
peaks_neg = peaks_neg - 10 - 10
|
peaks_neg = peaks_neg - 10 - 10
|
||||||
|
|
||||||
last_nonzero = last_nonzero - 100
|
last_nonzero = last_nonzero - 100
|
||||||
first_nonzero = first_nonzero + 200
|
first_nonzero = first_nonzero + 200
|
||||||
|
|
||||||
peaks_neg = peaks_neg[(peaks_neg > first_nonzero) & (peaks_neg < last_nonzero)]
|
peaks_neg = peaks_neg[(peaks_neg > first_nonzero) & (peaks_neg < last_nonzero)]
|
||||||
|
|
||||||
peaks = peaks[(peaks > 0.06 * regions_without_seperators.shape[1]) & (peaks < 0.94 * regions_without_seperators.shape[1])]
|
peaks = peaks[(peaks > 0.06 * regions_without_seperators.shape[1]) & (peaks < 0.94 * regions_without_seperators.shape[1])]
|
||||||
peaks_neg = peaks_neg[(peaks_neg > 370) & (peaks_neg < (regions_without_seperators.shape[1] - 370))]
|
peaks_neg = peaks_neg[(peaks_neg > 370) & (peaks_neg < (regions_without_seperators.shape[1] - 370))]
|
||||||
|
|
||||||
# print(peaks)
|
|
||||||
interest_pos = z[peaks]
|
interest_pos = z[peaks]
|
||||||
|
|
||||||
interest_pos = interest_pos[interest_pos > 10]
|
interest_pos = interest_pos[interest_pos > 10]
|
||||||
|
|
||||||
# plt.plot(z)
|
# plt.plot(z)
|
||||||
# plt.show()
|
# plt.show()
|
||||||
interest_neg = z[peaks_neg]
|
interest_neg = z[peaks_neg]
|
||||||
|
@ -621,9 +599,7 @@ def find_num_col(regions_without_seperators, multiplier=3.8):
|
||||||
min_peaks_neg = 0 # np.min(interest_neg)
|
min_peaks_neg = 0 # np.min(interest_neg)
|
||||||
|
|
||||||
# print(np.min(interest_pos),np.max(interest_pos),np.max(interest_pos)/np.min(interest_pos),'minmax')
|
# print(np.min(interest_pos),np.max(interest_pos),np.max(interest_pos)/np.min(interest_pos),'minmax')
|
||||||
# $print(min_peaks_pos)
|
|
||||||
dis_talaei = (min_peaks_pos - min_peaks_neg) / multiplier
|
dis_talaei = (min_peaks_pos - min_peaks_neg) / multiplier
|
||||||
# print(interest_pos)
|
|
||||||
grenze = min_peaks_pos - dis_talaei # np.mean(y[peaks_neg[0]:peaks_neg[len(peaks_neg)-1]])-np.std(y[peaks_neg[0]:peaks_neg[len(peaks_neg)-1]])/2.0
|
grenze = min_peaks_pos - dis_talaei # np.mean(y[peaks_neg[0]:peaks_neg[len(peaks_neg)-1]])-np.std(y[peaks_neg[0]:peaks_neg[len(peaks_neg)-1]])/2.0
|
||||||
|
|
||||||
# print(interest_neg,'interest_neg')
|
# print(interest_neg,'interest_neg')
|
||||||
|
@ -650,15 +626,11 @@ def find_num_col(regions_without_seperators, multiplier=3.8):
|
||||||
if (peaks_neg_fin[0] > p_g_u and peaks_neg_fin[1] > p_g_u) or (peaks_neg_fin[0] < p_g_l and peaks_neg_fin[1] < p_g_l) or ((peaks_neg_fin[0] + 200) < p_m and peaks_neg_fin[1] < p_m) or ((peaks_neg_fin[0] - 200) > p_m and peaks_neg_fin[1] > p_m):
|
if (peaks_neg_fin[0] > p_g_u and peaks_neg_fin[1] > p_g_u) or (peaks_neg_fin[0] < p_g_l and peaks_neg_fin[1] < p_g_l) or ((peaks_neg_fin[0] + 200) < p_m and peaks_neg_fin[1] < p_m) or ((peaks_neg_fin[0] - 200) > p_m and peaks_neg_fin[1] > p_m):
|
||||||
num_col = 1
|
num_col = 1
|
||||||
peaks_neg_fin = []
|
peaks_neg_fin = []
|
||||||
else:
|
|
||||||
pass
|
|
||||||
|
|
||||||
if num_col == 2:
|
if num_col == 2:
|
||||||
if (peaks_neg_fin[0] > p_g_u) or (peaks_neg_fin[0] < p_g_l):
|
if (peaks_neg_fin[0] > p_g_u) or (peaks_neg_fin[0] < p_g_l):
|
||||||
num_col = 1
|
num_col = 1
|
||||||
peaks_neg_fin = []
|
peaks_neg_fin = []
|
||||||
else:
|
|
||||||
pass
|
|
||||||
|
|
||||||
##print(len(peaks_neg_fin))
|
##print(len(peaks_neg_fin))
|
||||||
|
|
||||||
|
@ -673,7 +645,7 @@ def find_num_col(regions_without_seperators, multiplier=3.8):
|
||||||
for i in range(len(peaks_neg_fin)):
|
for i in range(len(peaks_neg_fin)):
|
||||||
if i == 0:
|
if i == 0:
|
||||||
forest.append(peaks_neg_fin[i])
|
forest.append(peaks_neg_fin[i])
|
||||||
if i < (len(peaks_neg_fin) - 1):
|
if i < len(peaks_neg_fin) - 1:
|
||||||
if diff_peaks[i] <= cut_off:
|
if diff_peaks[i] <= cut_off:
|
||||||
forest.append(peaks_neg_fin[i + 1])
|
forest.append(peaks_neg_fin[i + 1])
|
||||||
if diff_peaks[i] > cut_off:
|
if diff_peaks[i] > cut_off:
|
||||||
|
@ -687,7 +659,7 @@ def find_num_col(regions_without_seperators, multiplier=3.8):
|
||||||
if not isNaN(forest[np.argmin(z[forest])]):
|
if not isNaN(forest[np.argmin(z[forest])]):
|
||||||
peaks_neg_true.append(forest[np.argmin(z[forest])])
|
peaks_neg_true.append(forest[np.argmin(z[forest])])
|
||||||
|
|
||||||
num_col = (len(peaks_neg_true)) + 1
|
num_col = len(peaks_neg_true) + 1
|
||||||
p_l = 0
|
p_l = 0
|
||||||
p_u = len(y) - 1
|
p_u = len(y) - 1
|
||||||
p_m = int(len(y) / 2.0)
|
p_m = int(len(y) / 2.0)
|
||||||
|
@ -706,15 +678,11 @@ def find_num_col(regions_without_seperators, multiplier=3.8):
|
||||||
peaks_neg_true = [peaks_neg_true[0]]
|
peaks_neg_true = [peaks_neg_true[0]]
|
||||||
elif (peaks_neg_true[1] < p_g_u and peaks_neg_true[1] > p_g_l) and (peaks_neg_true[0] < p_quarter):
|
elif (peaks_neg_true[1] < p_g_u and peaks_neg_true[1] > p_g_l) and (peaks_neg_true[0] < p_quarter):
|
||||||
peaks_neg_true = [peaks_neg_true[1]]
|
peaks_neg_true = [peaks_neg_true[1]]
|
||||||
else:
|
|
||||||
pass
|
|
||||||
|
|
||||||
if num_col == 2:
|
if num_col == 2:
|
||||||
if (peaks_neg_true[0] > p_g_u) or (peaks_neg_true[0] < p_g_l):
|
if (peaks_neg_true[0] > p_g_u) or (peaks_neg_true[0] < p_g_l):
|
||||||
num_col = 1
|
num_col = 1
|
||||||
peaks_neg_true = []
|
peaks_neg_true = []
|
||||||
else:
|
|
||||||
pass
|
|
||||||
|
|
||||||
diff_peaks_annormal = diff_peaks[diff_peaks < 360]
|
diff_peaks_annormal = diff_peaks[diff_peaks < 360]
|
||||||
|
|
||||||
|
@ -732,9 +700,7 @@ def find_num_col(regions_without_seperators, multiplier=3.8):
|
||||||
else:
|
else:
|
||||||
peaks_neg_fin_new.append(peaks_neg_fin[ii + 1])
|
peaks_neg_fin_new.append(peaks_neg_fin[ii + 1])
|
||||||
|
|
||||||
elif (ii - 1) in arg_help_ann:
|
elif (ii - 1) not in arg_help_ann:
|
||||||
pass
|
|
||||||
else:
|
|
||||||
peaks_neg_fin_new.append(peaks_neg_fin[ii])
|
peaks_neg_fin_new.append(peaks_neg_fin[ii])
|
||||||
else:
|
else:
|
||||||
peaks_neg_fin_new = peaks_neg_fin
|
peaks_neg_fin_new = peaks_neg_fin
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue