Ejemplo n.º 1
0
def main(args):
    # data = make_circles(100, shuffle=True)[0]
    # data = ReadPlyFile('data/bun000.ply').get_data()
    data = ReadPlyFile('data/drill_1.6mm_0_cyb.ply').get_data()

    # data = ReadPlyFile('data/dragonStandRight_0.ply').get_data()

    # print(len(data))

    def filter_norm(point):
        return np.linalg.norm(point - np.array(data).min(0))

    def filter_x(point):
        return point[0]

    mapper = Mapper(data,
                    resolution=0.2,
                    overlap=0.4,
                    cluster_alg='kmeans',
                    max_clusters=5,
                    filter=filter_norm)
    graph = mapper.run()

    print(graph)

    viz = Visualization(graph)
    viz.draw(36, 3000)

    persistence = Persistence(graph)
    persistence.draw()