This page holds a few example code-snippets for use in pyana analysis. Compare with myana user examples to see how the same things can be done using the myana analysis framework.
Display images from princeton camera
When plotting with MatPlotLib, we don't need to set the limits of the histogram manually, thus we don't need to read the Princeton configuration for this. If we want to sum the image from several events, we must first define and initialize some variables:
def __init__ ( self ): # initialize data self.address = "SxrEndstation-0|Princeton-0" self.data = None
In each event, we add the image array returned from the getPrincetonValue function:
def event ( self, evt, env ) : frame = evt.getPrincetonValue( self.address, env) if frame : # accumulate the data if self.data is None : self.data = np.float_(frame.data()) else : self.data += frame.data()
At the end of the job, display/save the array:
def endjob( self, env ) : plt.imshow( self.data/self.countpass, origin='lower') plt.colorbar() plt.show() # save the full image to a png file plt.imsave(fname="pyana_princ_image.png",arr=self.data, origin='lower')
Note that imsave saves the image only, pixel by pixel. If you want a view of the figure itself, lower resolution, you can save it from the interactive window you get from plt.show().
Overview
Content Tools