コード例 #1
0
def test_get_branch_index_sub_divide_2d():
    x = np.random.random_sample(50)
    y = np.random.random_sample(50)
    mst = mist.GetMST(x=x, y=y)
    mst.construct_mst()
    mst.get_degree()
    mst.get_degree_for_edges()
    branch_index, branch_index_rej = mist.get_branch_index(mst.edge_index, mst.edge_degree)
    branch_index_sub, branch_index_sub_rej = mist.get_branch_index_sub_divide(2, mst.edge_index, mst.edge_degree,
                                                                              box_size=1., edge_x=mst.edge_x, edge_y=mst.edge_y)
    assert len(branch_index_sub_rej) == 0
    count = 0
    for i in range(0, len(branch_index)):
        for j in range(0, len(branch_index_sub)):
            if np.array_equal(np.array(sorted(branch_index[i])), np.array(sorted(branch_index_sub[j]))) == True:
                count += 1
            else:
                pass
    assert count == len(branch_index)
    x = np.random.random_sample(500)
    y = np.random.random_sample(500)
    mst = mist.GetMST(x=x, y=y)
    mst.construct_mst()
    mst.get_degree()
    mst.get_degree_for_edges()
    branch_index_sub, branch_index_sub_rej = mist.get_branch_index_sub_divide(2, mst.edge_index, mst.edge_degree,
                                                                              box_size=1., edge_x=mst.edge_x, edge_y=mst.edge_y,
                                                                              branch_cutting_frequency=10)
コード例 #2
0
def test_get_branch_index():
    x = np.random.random_sample(50)
    y = np.random.random_sample(50)
    mst = mist.GetMST(x=x, y=y)
    mst.construct_mst()
    mst.get_degree()
    mst.get_degree_for_edges()
    branch_index, branch_index_rejected = mist.get_branch_index(mst.edge_index, mst.edge_degree)
    assert len(branch_index_rejected) == 0
    x = np.random.random_sample(500)
    y = np.random.random_sample(500)
    mst = mist.GetMST(x=x, y=y)
    mst.construct_mst()
    mst.get_degree()
    mst.get_degree_for_edges()
    branch_index, branch_index_rejected = mist.get_branch_index(mst.edge_index, mst.edge_degree, branch_cutting_frequency=10)
    assert len(branch_index_rejected) == 0
コード例 #3
0
def test_get_branch_end_index():
    x = np.random.random_sample(50)
    y = np.random.random_sample(50)
    mst = mist.GetMST(x=x, y=y)
    mst.construct_mst()
    mst.get_degree()
    mst.get_degree_for_edges()
    branch_index, branch_index_rej = mist.get_branch_index(mst.edge_index, mst.edge_degree)
    branch_end = mist.get_branch_end_index(mst.edge_index, mst.edge_degree, branch_index)
    condition = np.where((mst.degree[branch_end[0]] != 2.) & (mst.degree[branch_end[1]] != 2.))[0]
    assert len(condition) == len(branch_end[0])
コード例 #4
0
def test_get_branch_index_sub_divide_spherical_coords():
    phi = 2.*np.pi*np.random.random_sample(50)
    theta = np.pi*np.random.random_sample(50)
    mst = mist.GetMST(phi=phi, theta=theta)
    mst.construct_mst()
    mst.get_degree()
    mst.get_degree_for_edges()
    branch_index, branch_index_rej = mist.get_branch_index(mst.edge_index, mst.edge_degree)
    branch_index_sub, branch_index_sub_rej = mist.get_branch_index_sub_divide(2, mst.edge_index, mst.edge_degree, phi=phi, theta=theta,
                                                                              mode='spherical', edge_phi=mst.edge_phi, edge_theta=mst.edge_theta, two_dimension=False)
    assert len(branch_index_sub_rej) == 0
    count = 0
    for i in range(0, len(branch_index)):
        for j in range(0, len(branch_index_sub)):
            if np.array_equal(np.array(sorted(branch_index[i])), np.array(sorted(branch_index_sub[j]))) == True:
                count += 1
            else:
                pass
    assert count == len(branch_index)