# Asymmetry of the grating - Will Burrows 20161125 import numpy as np import matplotlib.pyplot as plt import pyfits from scipy.ndimage import median_filter from scipy.optimize import curve_fit table = np.genfromtxt("He_Toward_table.txt", dtype="str") #for loop to iterate through file names in the second column of the table (need to make more general, search for filename column) for i in range (0, len(table)): filename = table[i][1] f = pyfits.open("%s.fit" % filename) d = f[0].data h = f[0].header gain = h.get("EGAIN") px = d.sum(0) py = d.sum(1) gx = px * gain gy = py * gain filtered = median_filter(d, size=4) fpx = filtered.sum(0) fpy = filtered.sum(1) fgx = fpx * gain fgy = fpy * gain pixels = np.arange(0, len(fgx), 1) away_xrange = [np.arange(0,80), np.arange(50,150), np.arange(150,250), np.arange(250,350), np.arange(375,475), np.arange(475,575), np.arange(580,700), np.arange(700,len(fgx))] away_yrange = fgx[away_xrange[i]] toward_xrange = [np.arange(0,100), np.arange(50,200), np.arange(200,300), np.arange(300,420), np.arange(400,503), np.arange(500, 650), np.arange(600,750), np.arange(660,len(fgx))] toward_yrange = fgx[toward_xrange[i]] #plt.plot(pixels, fgx) plt.plot(toward_xrange[i], toward_yrange, 'b') plt.title("Peak asymmetry with blaze arrow pointed towards the camera \n") plt.xlabel("Pixel position") plt.ylabel(r"$N_{\rm{PE}}$") plt.show()