def detect_lineages()

in poincare_maps.py [0:0]


    def detect_lineages(self, n_lin=2, clustering_name='spectral', k=15, rotated=False):
        pc_proj = []

        if rotated:
            x = self.coordinates_rotated
        else:
            x = self.coordinates
        
        for i in range(len(x)):
            pc_proj.append(get_projected_coordinates(x[i]))
        
        if clustering_name == 'spectral':
            clustering = SpectralClustering(n_clusters=n_lin, eigen_solver='arpack', affinity="nearest_neighbors", n_neighbors=k).fit(pc_proj)      
        elif clustering_name == 'dbs':
            clustering = DBSCAN(eps=1/180, min_samples=10).fit(pc_proj)
        elif clustering_name == 'kmeans':
            clustering = KMeans(n_clusters=n_lin).fit(pc_proj)
        else:
            clustering = AgglomerativeClustering(linkage='ward', n_clusters=n_lin).fit(pc_proj)

        self.lineages = clustering.labels_