added file existence check to problem1
[BS_AY250.git] / week4 / problem1 / starcam-plot.py
blob4e084366998fbe76cf243fb76970acba5fa93f97
1 #!/usr/bin/env python
2 '''
3 AY250 HW4 Problem 1
4 Make a nice plot
5 Author: Bryan Steinbach
6 '''
8 import os
10 import numpy as np
11 import pylab
13 fn = 'starcamdata-20100828.npy'
14 if not os.path.exists(fn):
15 print "Couldn't find %s"%fn
16 exit()
18 azs,dazs,model_dazs,els,dels,model_dels = np.load(fn)
20 nsource = 15
21 total_time = 6.1
22 allowed_params = 'npae ca ia ie tf ta te'
24 axfs = 10
25 def azelplot():
26 pylab.figure()
28 # Matplotlib doesn't have intelligent layout, so we have to manually pull in the subplots to make room for title and legend
29 pylab.subplots_adjust(bottom=0.16,top=0.89,wspace=0.25,hspace=0.25)
31 pylab.title('Star camera pointing offsets')
33 pylab.subplot(221)
34 pylab.scatter(azs,dazs,facecolor='white')
35 pylab.scatter(azs,model_dazs,marker='+')
36 # pylab.xlabel('Az (degrees)',fontsize=axfs)
37 pylab.ylabel('$\Delta$Az (arcminutes)',fontsize=axfs)
38 pylab.grid()
40 pylab.subplot(222)
41 pylab.scatter(els,dazs,facecolor='white')
42 pylab.scatter(els,model_dazs,marker='+')
43 # pylab.xlabel('El (degrees)',fontsize=axfs)
44 # pylab.ylabel('$\Delta$Az (arcminutes)',fontsize=axfs)
45 pylab.grid()
47 pylab.subplot(223)
48 pylab.scatter(azs,dels,facecolor='white')
49 pylab.scatter(azs,model_dels,marker='+')
50 pylab.xlabel('Az (degrees)',fontsize=axfs)
51 pylab.ylabel('$\Delta$El (arcminutes)',fontsize=axfs)
52 pylab.grid()
54 pylab.subplot(224)
55 l1 = pylab.scatter(els,dels,facecolor='white')
56 l2 = pylab.scatter(els,model_dels,marker='+')
57 pylab.xlabel('El (degrees)',fontsize=axfs)
58 # pylab.ylabel('$\Delta$El (arcminutes)',fontsize=axfs)
59 pylab.grid()
61 pylab.suptitle('Star Camera Pointing Model 8/28/10 %d stars %.1f hours\nModel free parameters: %s'%(nsource,total_time,allowed_params),fontsize=14)
63 pylab.figlegend((l1,l2),('Measured star position - boresight','Model'),'lower center',prop={'size':10})
66 pylab.savefig('starcam-20100828.png',figsize=((10,8)),dpi=250)
69 azelplot()
70 #pylab.show()