) sf = signal_flow(adj) # %% [markdown] # # Compute signal flow marginals for known cell types signal_flow_marginal(adj, class_labels) stashfig("known-class-sf-marginal") # %% [markdown] # # Write out signal flow as color for jsons norm = colors.Normalize(vmin=sf.min(), vmax=sf.max()) sm = ScalarMappable(norm=norm, cmap="Reds") cmap = sm.to_hex(sf) export_skeleton_json("signal-flow", skeleton_labels, cmap, palette=None) # # %% [markdown] # # # # node_signal_flow = signal_flow(adj) # mean_sf = np.zeros(k) # for i in np.unique(pred_labels): # inds = np.where(pred_labels == i)[0] # mean_sf[i] = np.mean(node_signal_flow[inds]) # cluster_mean_latent = gmm.model_.means_[:, 0] # block_probs = SBMEstimator().fit(bin_adj, y=pred_labels).block_p_ # block_prob_df = pd.DataFrame(data=block_probs, index=range(k), columns=range(k)) # block_g = nx.from_pandas_adjacency(block_prob_df, create_using=nx.DiGraph)