| dmitriy@243 | 1 | #!/usr/bin/env python2 |
| dmitriy@171 | 2 | |
| dmitriy@171 | 3 | import pd |
| dmitriy@171 | 4 | from sys import argv, exit |
| dmitriy@171 | 5 | |
| dmitriy@171 | 6 | if len(argv) < 2: |
| dmitriy@171 | 7 | print "Usage: %s FILENAME [MULTIPLIER=1] [NOISE=0] [RADIUS=.15] [DIMENSIONS=XMIN,YMIN,XMAX,YMAX]" % argv[0] |
| dmitriy@171 | 8 | print " MULTIPLIER - multiply coordinates of each point by this quantity" |
| dmitriy@171 | 9 | print " NOISE - filter out points below this persistence" |
| dmitriy@171 | 10 | print " RADIUS - radius of a point in the persistence diagram" |
| dmitriy@171 | 11 | print " DIMENSIONS - dimensions of the persistence diagram" |
| dmitriy@171 | 12 | print |
| dmitriy@171 | 13 | print " Example: %s torus.dgm 1 0 .05 -1,-1,10,10" % argv[0] |
| dmitriy@171 | 14 | exit() |
| dmitriy@171 | 15 | |
| dmitriy@171 | 16 | multiplier = float(argv[2]) if len(argv) > 2 else 1 |
| dmitriy@171 | 17 | noise = float(argv[3]) if len(argv) > 3 else 0 |
| dmitriy@171 | 18 | R = float(argv[4]) if len(argv) > 4 else .15 |
| dmitriy@171 | 19 | dimensions = map(float, argv[5].split(',')) if len(argv) > 5 else None |
| dmitriy@171 | 20 | |
| dmitriy@171 | 21 | noise_filter = pd.noise_filter(noise) |
| dmitriy@171 | 22 | amplify_filter = pd.amplify_filter(multiplier) |
| dmitriy@171 | 23 | |
| dmitriy@171 | 24 | dgm = pd.PersistenceDiagram(argv[1], lambda x,y: noise_filter(x,y) and amplify_filter(x,y)) |
| dmitriy@171 | 25 | dgm.savePDF(argv[1] + '.', radius = R, dimensions = dimensions) |