def get_tot_length_C(hyph, t, tp1, args): try: edges = hyph.get_nodes_within(t)[1] lengths = np.array([get_length_um_edge(edge, t) for edge in edges]) tot_length_C = np.sum(lengths) return ('tot_length_C', tot_length_C) except nx.exception.NetworkXNoPath: return ('tot_length_C', None)
def get_length_study_zone(exp, t, args): length = 0 for edge in exp.nx_graph[t].edges: edge_obj = Edge(Node(edge[0], exp), Node(edge[1], exp), exp) is_in_end = np.all(is_in_study_zone(edge_obj.end, t, 1000, 150)) is_in_begin = np.all(is_in_study_zone(edge_obj.begin, t, 1000, 150)) if is_in_end and is_in_begin: length += get_length_um_edge(edge_obj, t) return ("tot_length_study", length)
def get_width_average(hypha, t, tp1, args): try: edges = hypha.get_nodes_within(t)[1] widths = np.array([edge.width(t) for edge in edges]) lengths = np.array([get_length_um_edge(edge, t) for edge in edges]) av_width = np.sum(widths * lengths) / np.sum(lengths) return ('av_width', av_width) except nx.exception.NetworkXNoPath: return ('av_width', None)
def get_width_f(hyph, args): t = hyph.ts[-1] try: edges = hyph.get_nodes_within(t)[1] widths = np.array([edge.width(t) for edge in edges]) lengths = np.array([get_length_um_edge(edge, t) for edge in edges]) av_width = np.sum(widths * lengths) / np.sum(lengths) return ('av_width_final', av_width) except nx.exception.NetworkXNoPath: return ('av_width_final', None)
def get_length(exp, t, args): length = 0 for edge in exp.nx_graph[t].edges: edge_obj = Edge(Node(edge[0], exp), Node(edge[1], exp), exp) length += get_length_um_edge(edge_obj, t) return ("tot_length", length)