def project_radii(radii, spacing, r_min, r_max):
""" Projects given radii to values between r_min and r_max; good spacing ~ 1000 """
radii_norm = radii / np.max(radii) # Normalize radii
# Determine min and max of array and generate spacing
radii_to_proj = np.around(np.linspace(np.min(radii_norm), np.max(radii_norm), spacing), 3)
values_to_proj = np.around(np.linspace(r_min, r_max, spacing), 3)
# Determine respective array positions
pos = np.array([np.argmin(np.abs(radii_to_proj -
radii_norm[entry])) for entry in range(len(radii_norm))], dtype=np.int)
# Determine new radii
return np.take(values_to_proj, pos)
###############################################################################
# HUNGARIAN (MUNKRES) ALGORITHM - TAKEN FROM SCIPY
###############################################################################
评论列表
文章目录