| 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 | |
|---|