tools/draw-diagram/draw.py
author Dmitriy Morozov <dmitriy@mrzv.org>
Mon Jul 25 23:21:29 2011 -0700 (10 months ago)
branchdev
changeset 244 66235db8d8b7
parent 171a172b960aaaa
permissions -rwxr-xr-x
Added cohomology/candidates counter to i/t/cohomology-persistence.hpp
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)