Changeset 19831
- Timestamp:
- Oct 2, 2008, 9:12:00 AM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/sj_ippTests_branch_20080929/ippTests/compIPPphoto.py
r19803 r19831 46 46 # to write the file. 47 47 48 def scatterplot(x,y,ptype,xlab,ylab,xrange='',yrange='',append=False,close=True,dev='x11'): 49 """Make an sm scatter plot on current device.""" 48 def smOpenPlot(filename,format='eps'): 49 """Issue sm device command for file of given format: 50 eps -> postfile 51 else just use given format as 'device'""" 52 from sm import device, erase 53 if filename == 'x11': 54 device('x11') 55 elif format == 'eps': 56 device('postfile '+filename) 57 else: 58 device(format +' '+filename) 59 erase() 60 61 def smClosePlot(): 62 from sm import device 63 device('nodevice') 64 65 def isNone(something): 66 return isinstance(something,type(None)) 67 68 def smHistoPlot(vec,step=None,minbin=None,maxbin=None,nbins=None,\ 69 xlab=None,ylab=None,xrange=None,yrange=None,\ 70 box1=None,box2=None,box3=None,box4=None,\ 71 append=False): 72 """Plot a histogram, intelligently deriving bins from the given 73 parameters if they are given intelligently. Otherwise, silently 74 do nothing.""" 75 import sm 76 if isNone(minbin): 77 minbin = min(vec) 78 if isNone(maxbin): 79 maxbin = max(vec) 80 # I am assuming bins are bin centers 81 if not isNone(step): 82 nbins = (maxbin-minbin)/step+1 83 if isNone(nbins): 84 return 85 histo,leftbinedges = histogram(vec,nbins,[minbin,maxbin]) 86 bincenters = leftbinedges + 0.5*(leftbinedges[1]-leftbinedges[0]) 87 88 if not append: 89 smSetup(bincenters,histo,xrange,yrange,xlab,ylab,box1,box2,box3,box4) 90 sm.histogram(bincenters,histo) 91 92 def smLinePlot(x,y,ltype=0,xlab=None,ylab=None,xrange=None,yrange=None,\ 93 box1=None,box2=None,box3=None,box4=None,\ 94 append=False): 95 """Make an sm scatter plot on current device. If append=True, 96 overplot with current limits. Otherwise, draw box box1 box2 box3 box4""" 50 97 import sm 51 98 sm.expand(1.8) … … 54 101 try: 55 102 if not append: 56 sm.device(dev) 57 sm.erase() 58 if xrange == '': 59 xrange = x 60 if yrange == '': 61 yrange = y 62 sm.limits(x,y) 63 sm.box() 64 sm.xlabel(xlab) 65 sm.ylabel(ylab) 103 smSetup(x,y,xrange,yrange,xlab,ylab,box1,box2,box3,box4) 104 sm.ltype(ltype) 105 sm.connect(x,y) 106 except: 107 pass 108 109 110 def smScatterPlot(x,y,ptype=41,xlab=None,ylab=None,xrange=None,yrange=None,\ 111 box1=None,box2=None,box3=None,box4=None,\ 112 append=False): 113 """Make an sm scatter plot on current device. If append=True, 114 overplot with current limits. Otherwise, draw box box1 box2 box3 box4""" 115 import sm 116 sm.expand(1.8) 117 sm.lweight(5) 118 # Silently ignore any problems with plot generation 119 try: 120 if not append: 121 smSetup(x,y,xrange,yrange,xlab,ylab,box1,box2,box3,box4) 66 122 sm.ptype(ptype) 67 123 sm.points(x,y) 68 # Close active device - maybe add flag to skip this so plot69 # remains appendable, or use meta? but can't use colour in meta...70 if close:71 sm.device('nodevice')72 124 except: 73 125 pass 126 127 def smSetup(x,y,xrange,yrange,xlab,ylab,box1,box2,box3,box4): 128 import sm 129 sm.erase() 130 if isNone(xrange): 131 xrange = x 132 if isNone(yrange): 133 yrange = y 134 sm.limits(x,y) 135 smBox(box1,box2,box3,box4) 136 if not isNone(xlab): 137 sm.xlabel(xlab) 138 if not isNone(ylab): 139 sm.ylabel(ylab) 140 141 def smBox(box1,box2,box3,box4): 142 from sm import box 143 if not isNone(box4): 144 box(box1,box2,box3,box4) 145 elif not isNone(box3): 146 box(box1,box2,box3) 147 elif not isNone(box2): 148 box(box1,box2) 149 elif not isNone(box1): 150 box(box1) 151 else: 152 box() 74 153 75 154 def compIPPphoto(summaryTable,mode): … … 244 323 # Compute array for internal use 245 324 SDSScol_good = -2.5*log10(SDSScol_good) 325 246 326 if PS1colname == 'PSF_INST_MAG_SIG' and SDSScolname.lower() == 'psfcountserr': 247 327 # Create column with SDSS instrumental magnitude error … … 254 334 SDSScol_good,PS1col_good,SDSScounts_good = filterGoodVal3(SDSScol,PS1col,SDSScounts) 255 335 SDSScol_good = 2.5/log(10.)*SDSScol_good/SDSScounts_good 336 256 337 delta = SDSScol_good - PS1col_good 257 338 avg = delta.mean()
Note:
See TracChangeset
for help on using the changeset viewer.
