本文整理汇总了Python中dipy.segment.clustering.ClusterMap类的典型用法代码示例。如果您正苦于以下问题:Python ClusterMap类的具体用法?Python ClusterMap怎么用?Python ClusterMap使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了ClusterMap类的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_cluster_map_getitem
def test_cluster_map_getitem():
nb_clusters = 11
indices = list(range(len(data)))
np.random.shuffle(indices) # None trivial ordering
advanced_indices = indices + [0, 1, 2, -1, -2, -3]
cluster_map = ClusterMap()
clusters = []
for i in range(nb_clusters):
new_cluster = Cluster()
cluster_map.add_cluster(new_cluster)
clusters.append(new_cluster)
# Test indexing
for i in advanced_indices:
assert_equal(cluster_map[i], clusters[i])
# Test advanced indexing
assert_array_equal(cluster_map[advanced_indices], [clusters[i] for i in advanced_indices])
# Test index out of bounds
assert_raises(IndexError, cluster_map.__getitem__, len(clusters))
assert_raises(IndexError, cluster_map.__getitem__, -len(clusters)-1)
# Test slicing and negative indexing
assert_equal(cluster_map[-1], clusters[-1])
assert_array_equal(cluster_map[::2], clusters[::2])
assert_arrays_equal(cluster_map[::-1], clusters[::-1])
assert_arrays_equal(cluster_map[:-1], clusters[:-1])
assert_arrays_equal(cluster_map[1:], clusters[1:])
示例2: test_cluster_map_iter
def test_cluster_map_iter():
rng = np.random.RandomState(42)
nb_clusters = 11
# Test without specifying refdata in ClusterMap
cluster_map = ClusterMap()
clusters = []
for i in range(nb_clusters):
new_cluster = Cluster(indices=rng.randint(0, len(data), size=10))
cluster_map.add_cluster(new_cluster)
clusters.append(new_cluster)
assert_true(all([c1 is c2 for c1, c2 in zip(cluster_map.clusters,
clusters)]))
assert_array_equal(cluster_map, clusters)
assert_array_equal(cluster_map.clusters, clusters)
assert_array_equal(cluster_map, [cluster.indices for cluster in clusters])
# Set refdata
cluster_map.refdata = data
for c1, c2 in zip(cluster_map, clusters):
assert_arrays_equal(c1, [data[i] for i in c2.indices])
# Remove refdata, i.e. back to indices
cluster_map.refdata = None
assert_array_equal(cluster_map, [cluster.indices for cluster in clusters])
示例3: test_cluster_map_get_size
def test_cluster_map_get_size():
nb_clusters = 11
cluster_map = ClusterMap()
clusters = [Cluster() for i in range(nb_clusters)]
cluster_map.add_cluster(*clusters)
assert_equal(len(cluster_map), nb_clusters)
assert_equal(cluster_map.get_size(), nb_clusters)
示例4: test_cluster_map_clear
def test_cluster_map_clear():
nb_clusters = 11
clusters = ClusterMap()
for i in range(nb_clusters):
new_cluster = Cluster(indices=range(i))
clusters.add_cluster(new_cluster)
clusters.clear()
assert_equal(len(clusters), 0)
assert_array_equal(list(itertools.chain(*clusters)), [])
示例5: test_cluster_map_get_small_and_large_clusters
def test_cluster_map_get_small_and_large_clusters():
rng = np.random.RandomState(42)
nb_clusters = 11
cluster_map = ClusterMap()
# Randomly generate small clusters
indices = [rng.randint(0, 10, size=i) for i in range(1, nb_clusters+1)]
small_clusters = [Cluster(indices=indices[i]) for i in range(nb_clusters)]
cluster_map.add_cluster(*small_clusters)
# Randomly generate small clusters
indices = [rng.randint(0, 10, size=i)
for i in range(nb_clusters+1, 2*nb_clusters+1)]
large_clusters = [Cluster(indices=indices[i]) for i in range(nb_clusters)]
cluster_map.add_cluster(*large_clusters)
assert_equal(len(cluster_map), 2*nb_clusters)
assert_equal(len(cluster_map.get_small_clusters(nb_clusters)),
len(small_clusters))
assert_arrays_equal(cluster_map.get_small_clusters(nb_clusters),
small_clusters)
assert_equal(len(cluster_map.get_large_clusters(nb_clusters+1)),
len(large_clusters))
assert_arrays_equal(cluster_map.get_large_clusters(nb_clusters+1),
large_clusters)
示例6: test_cluster_map_get_clusters_sizes
def test_cluster_map_get_clusters_sizes():
rng = np.random.RandomState(42)
nb_clusters = 11
# Generate random indices
indices = [range(rng.randint(1, 10)) for i in range(nb_clusters)]
cluster_map = ClusterMap()
clusters = [Cluster(indices=indices[i]) for i in range(nb_clusters)]
cluster_map.add_cluster(*clusters)
assert_equal(cluster_map.get_clusters_sizes(), list(map(len, indices)))
示例7: test_cluster_map_str_and_repr
def test_cluster_map_str_and_repr():
nb_clusters = 11
cluster_map = ClusterMap()
clusters = []
for i in range(nb_clusters):
new_cluster = Cluster(indices=range(i))
cluster_map.add_cluster(new_cluster)
clusters.append(new_cluster)
expected_str = "[" + ", ".join(map(str, clusters)) + "]"
assert_equal(str(cluster_map), expected_str)
assert_equal(repr(cluster_map), "ClusterMap(" + expected_str + ")")
示例8: test_cluster_map_comparison_with_object
def test_cluster_map_comparison_with_object():
nb_clusters = 4
cluster_map = ClusterMap()
# clusters = []
for i in range(nb_clusters):
new_cluster = Cluster(indices=range(i))
cluster_map.add_cluster(new_cluster)
# clusters.append(new_cluster)
# Comparison with another ClusterMap object
other_cluster_map = copy.deepcopy(cluster_map)
assert_true(cluster_map == other_cluster_map)
other_cluster_map = copy.deepcopy(cluster_map)
assert_false(cluster_map != other_cluster_map)
other_cluster_map = copy.deepcopy(cluster_map)
assert_raises(NotImplementedError, cluster_map.__le__, other_cluster_map)
# Comparison with an object that is not a ClusterMap or int
assert_raises(NotImplementedError, cluster_map.__le__, float(42))
示例9: test_cluster_map_add_cluster
def test_cluster_map_add_cluster():
clusters = ClusterMap()
list_of_cluster_objects = []
list_of_indices = []
for i in range(3):
cluster = Cluster()
list_of_cluster_objects.append(cluster)
list_of_indices.append([])
for id_data in range(2 * i):
list_of_indices[-1].append(id_data)
cluster.assign(id_data)
clusters.add_cluster(cluster)
assert_equal(type(cluster), Cluster)
assert_equal(len(clusters), i+1)
assert_equal(cluster, clusters[-1])
assert_array_equal(list(itertools.chain(*clusters)), list(itertools.chain(*list_of_indices)))
# Test adding multiple clusters at once.
clusters = ClusterMap()
clusters.add_cluster(*list_of_cluster_objects)
assert_array_equal(list(itertools.chain(*clusters)), list(itertools.chain(*list_of_indices)))
示例10: test_cluster_map_comparison_with_int
def test_cluster_map_comparison_with_int():
clusters1_indices = range(10)
clusters2_indices = range(10, 15)
clusters3_indices = [15]
# Build a test ClusterMap
clusters = ClusterMap()
cluster1 = Cluster()
cluster1.assign(*clusters1_indices)
clusters.add_cluster(cluster1)
cluster2 = Cluster()
cluster2.assign(*clusters2_indices)
clusters.add_cluster(cluster2)
cluster3 = Cluster()
cluster3.assign(*clusters3_indices)
clusters.add_cluster(cluster3)
subset = clusters < 5
assert_equal(subset.sum(), 1)
assert_array_equal(list(clusters[subset][0]), clusters3_indices)
subset = clusters <= 5
assert_equal(subset.sum(), 2)
assert_array_equal(list(clusters[subset][0]), clusters2_indices)
assert_array_equal(list(clusters[subset][1]), clusters3_indices)
subset = clusters == 5
assert_equal(subset.sum(), 1)
assert_array_equal(list(clusters[subset][0]), clusters2_indices)
subset = clusters != 5
assert_equal(subset.sum(), 2)
assert_array_equal(list(clusters[subset][0]), clusters1_indices)
assert_array_equal(list(clusters[subset][1]), clusters3_indices)
subset = clusters > 5
assert_equal(subset.sum(), 1)
assert_array_equal(list(clusters[subset][0]), clusters1_indices)
subset = clusters >= 5
assert_equal(subset.sum(), 2)
assert_array_equal(list(clusters[subset][0]), clusters1_indices)
assert_array_equal(list(clusters[subset][1]), clusters2_indices)
示例11: test_cluster_map_remove_cluster
def test_cluster_map_remove_cluster():
clusters = ClusterMap()
cluster1 = Cluster(indices=[1])
clusters.add_cluster(cluster1)
cluster2 = Cluster(indices=[1, 2])
clusters.add_cluster(cluster2)
cluster3 = Cluster(indices=[1, 2, 3])
clusters.add_cluster(cluster3)
assert_equal(len(clusters), 3)
clusters.remove_cluster(cluster2)
assert_equal(len(clusters), 2)
assert_array_equal(list(itertools.chain(*clusters)), list(itertools.chain(*[cluster1, cluster3])))
assert_equal(clusters[0], cluster1)
assert_equal(clusters[1], cluster3)
clusters.remove_cluster(cluster3)
assert_equal(len(clusters), 1)
assert_array_equal(list(itertools.chain(*clusters)), list(cluster1))
assert_equal(clusters[0], cluster1)
clusters.remove_cluster(cluster1)
assert_equal(len(clusters), 0)
assert_array_equal(list(itertools.chain(*clusters)), [])
# Test removing multiple clusters at once.
clusters = ClusterMap()
clusters.add_cluster(cluster1, cluster2, cluster3)
clusters.remove_cluster(cluster3, cluster2)
assert_equal(len(clusters), 1)
assert_array_equal(list(itertools.chain(*clusters)), list(cluster1))
assert_equal(clusters[0], cluster1)
clusters = ClusterMap()
clusters.add_cluster(cluster2, cluster1, cluster3)
clusters.remove_cluster(cluster1, cluster3, cluster2)
assert_equal(len(clusters), 0)
assert_array_equal(list(itertools.chain(*clusters)), [])