1 | import matplotlib.pyplot as plt
|
---|
2 | import numpy as np
|
---|
3 | import numpy.ma as ma
|
---|
4 | import os, sys
|
---|
5 |
|
---|
6 | class camplotter( object ):
|
---|
7 | def __init__( self ):
|
---|
8 | chid, y,x,ye,xe,yh,xh,softid,hardid = np.loadtxt("map_dn.txt",unpack=True)
|
---|
9 | self.fig = plt.figure()
|
---|
10 | self.xe = xe
|
---|
11 | self.ye = ye
|
---|
12 | self.H = (6,0,30./180.*3.1415926)
|
---|
13 |
|
---|
14 | coor2chid = {}
|
---|
15 | chid2coor = []
|
---|
16 | for i in range ( len(chid) ):
|
---|
17 | coor2chid[ (x[i],y[i]) ] = chid[i]
|
---|
18 | chid2coor.append( (x[i],y[i]) )
|
---|
19 |
|
---|
20 | # print coor2chid
|
---|
21 | # print chid2coor
|
---|
22 |
|
---|
23 |
|
---|
24 |
|
---|
25 | #########################################################################
|
---|
26 | #########################################################################
|
---|
27 |
|
---|
28 | if __name__ == '__main__':
|
---|
29 |
|
---|
30 | inputfname = 'nofile.npz'
|
---|
31 |
|
---|
32 | if (len(sys.argv) > 1):
|
---|
33 | inputfname = sys.argv[1]
|
---|
34 | else:
|
---|
35 | print 'Usage ', sys.argv[0], 'input-file-path'
|
---|
36 | exit (0)
|
---|
37 |
|
---|
38 | cplt = camplotter()
|
---|
39 |
|
---|
40 | # np.savez ( filename, amplitude=maxAmp, time=maxPos, integral=integ)
|
---|
41 | npz = np.load( inputfname )
|
---|
42 | print npz.files
|
---|
43 |
|
---|
44 | amp = npz['amplitude']
|
---|
45 | int = npz['integral']
|
---|
46 | tim = npz['time']
|
---|
47 |
|
---|
48 | files = []
|
---|
49 | fig = plt.figure(figsize=(24,16))
|
---|
50 | # plt.title('left amplitude ... right integral')
|
---|
51 | ax1 = fig.add_subplot(231, aspect='equal')
|
---|
52 | ax2 = fig.add_subplot(232, aspect='equal')
|
---|
53 | ax3 = fig.add_subplot(233, aspect='equal')
|
---|
54 | ax4 = fig.add_subplot(234)
|
---|
55 | ax5 = fig.add_subplot(235)
|
---|
56 | ax6 = fig.add_subplot(236)
|
---|
57 |
|
---|
58 | ax1.grid(True)
|
---|
59 | ax2.grid(True)
|
---|
60 | ax3.grid(True)
|
---|
61 | ax4.grid(True)
|
---|
62 | ax5.grid(True)
|
---|
63 | ax6.grid(True)
|
---|
64 |
|
---|
65 | thr = 50
|
---|
66 | hithr = 80
|
---|
67 | lothr = 40
|
---|
68 | print '------------ hiTHR=', hithr, 'loTHR=', lothr ,'-------------------'
|
---|
69 | print '------------', len(amp[:,0]), '-------------------'
|
---|
70 |
|
---|
71 | # for i in range(len(data[:,0])):
|
---|
72 | os.system("mkdir -p pngs")
|
---|
73 | for i in range(50):
|
---|
74 |
|
---|
75 | mamp = ma.masked_less(amp[i,:], thr)
|
---|
76 | mx = ma.masked_where(mamp.mask == True, cplt.xe)
|
---|
77 | my = ma.masked_where(mamp.mask == True, cplt.ye)
|
---|
78 |
|
---|
79 | core = ma.masked_less(amp[i,:], hithr)
|
---|
80 | edgecand = ma.masked_less(amp[i,:], lothr)
|
---|
81 | #edgecand = ma.masked_where(core.mask == True, edgecand)
|
---|
82 |
|
---|
83 | mxc = ma.masked_where(core.mask == True, cplt.xe).compressed()
|
---|
84 | myc = ma.masked_where(core.mask == True, cplt.ye).compressed()
|
---|
85 | mxe = ma.masked_where(edgecand.mask == True, cplt.xe).compressed()
|
---|
86 | mye = ma.masked_where(edgecand.mask == True, cplt.ye).compressed()
|
---|
87 |
|
---|
88 |
|
---|
89 | ax1.cla()
|
---|
90 | ax2.cla()
|
---|
91 | ax3.cla()
|
---|
92 | ax1.scatter(cplt.xe,cplt.ye,s=65,alpha=0.75,marker=cplt.H, c=amp[i,:], edgecolors='none', label='amp')
|
---|
93 | #ax1.scatter(mx.compressed() , my.compressed() ,s=65,alpha=0.75,marker=cplt.H, facecolors='none', linewidths=3, edgecolors='r')
|
---|
94 | if ( len(mxe) > 0 ):
|
---|
95 | ax1.scatter(mxe , mye ,s=65,alpha=0.75,marker=cplt.H, facecolors='none', linewidths=2, edgecolors='r')
|
---|
96 | if ( len(mxc) > 0 ):
|
---|
97 | ax1.scatter(mxc , myc ,s=65,alpha=0.75,marker=cplt.H, facecolors='none', linewidths=3, edgecolors='k')
|
---|
98 | ax1.axis([-22,22,-22,22])
|
---|
99 |
|
---|
100 | ax2.scatter(cplt.xe,cplt.ye,s=70,alpha=0.75,marker=cplt.H, c=int[i,:], edgecolors='none', label='inte')
|
---|
101 | ax2.axis([-22,22,-22,22])
|
---|
102 | ax3.scatter(cplt.xe,cplt.ye,s=70,alpha=0.75,marker=cplt.H, c=tim[i,:], edgecolors='none', label='time')
|
---|
103 | ax3.axis([-22,22,-22,22])
|
---|
104 |
|
---|
105 | ax4.cla()
|
---|
106 | ax4.hist(amp[i,:], 100, facecolor='r', alpha=0.75)
|
---|
107 | ax4.set_yscale("log", nonposy='clip')
|
---|
108 |
|
---|
109 | ax5.cla()
|
---|
110 | ax5.hist(int[i,:], 100, facecolor='g', alpha=0.75)
|
---|
111 | ax5.set_yscale("log", nonposy='clip')
|
---|
112 |
|
---|
113 | ax6.cla()
|
---|
114 | ax6.hist(tim[i,:], 100,facecolor='b', alpha=0.75)
|
---|
115 | ax6.set_yscale("log", nonposy='clip')
|
---|
116 |
|
---|
117 |
|
---|
118 |
|
---|
119 | fname = 'pngs/_tmp%03d.png'%i
|
---|
120 | print 'Saving frame', fname
|
---|
121 | fig.savefig(fname)
|
---|
122 |
|
---|
123 | files.append(fname)
|
---|
124 |
|
---|
125 | # in order to make a movie using mencoder -- uncomment the following two lines
|
---|
126 | #
|
---|
127 | #print 'Making movie animation.mpg - this make take a while'
|
---|
128 | #os.system("mencoder 'mf://pngs/_tmp*.png' -mf type=png:fps=2 -ovc lavc -lavcopts vcodec=wmv2 -oac copy -o animation.mpg")
|
---|
129 |
|
---|
130 | # in order to make an animated gif using ImageMagick -- uncomment the following two lines
|
---|
131 | #
|
---|
132 | #print 'Making animated gif animation.gif - this make take a while'
|
---|
133 | #os.system("convert -delay 33 -loop 0 pngs/_tmp*.png animation.gif")
|
---|
134 | |
---|