def get_interpolated_coordinates()

in interpolation.py [0:0]


def get_interpolated_coordinates(coordinates, labels, clusters, distances, 
                                 clusters_from, clusters_to, 
                                 points_list = None,
                                 n_points=10, n_starts=10, space='poincare'):
    
    interpolated_coordinates = np.copy(coordinates)
    interpolated_labels = np.copy(labels)
    
    if points_list is None:
        points_list = []
        for i1, cl_from in enumerate(clusters_from):
            for i2, cl_to in enumerate(clusters_to):
                if cl_from != cl_to:
                    print(f"{cl_from} to {cl_to}")
                    for i in range(n_starts):
                        u, v, iu, iv = get_closest(coordinates, distances, clusters, cluster_from=cl_from, cluster_to=cl_to)
                        points_list.append([iu, iv])
    for p_pair in points_list:        
        u = coordinates[p_pair[0]]
        v = coordinates[p_pair[1]]
        if space == 'poincare':
            interpolated_coordinates = np.concatenate((interpolated_coordinates, 
                                                       poincare_linspace(u, v, n_points=n_points)))
        else:            
            interpolated_coordinates = np.concatenate((interpolated_coordinates, 
                                                       intermediates(u, v, nb_points=n_points)))

        interpolated_labels = np.concatenate((np.array(interpolated_labels), 
                          np.array(['interpolation']*n_points)))
                
    return interpolated_coordinates, interpolated_labels, points_list