elif ts == "T3": flnmflat = "n20160130.fiberflat_T3.0014.fits" elif ts == "T4": flnmflat = "n20160130.fiberflat_T4.0015.fits" else: print("{} is not a valid telescope".format(ts)) continue # Import tungsten fiberflat fileflat = os.path.join(data_dir, "n20160130", flnmflat) ff = pyfits.open(fileflat, ignore_missing_end=True, uint=True) ccd_tmp = ff[0].data trace_ccd += ccd_tmp[::-1, 0:actypix] ### Find traces and label for the rest of the code print("Searching for Traces") multi_coeffs = utils.find_trace_coeffs( trace_ccd, 2, fiber_space, num_points=num_points, num_fibers=num_fibers, skip_peaks=1 ) trace_coeffs = multi_coeffs[0] trace_intense_coeffs = multi_coeffs[1] trace_sig_coeffs = multi_coeffs[2] trace_pow_coeffs = multi_coeffs[3] ### Save for future use hdu1 = pyfits.PrimaryHDU(trace_coeffs) hdu2 = pyfits.PrimaryHDU(trace_intense_coeffs) hdu3 = pyfits.PrimaryHDU(trace_sig_coeffs) hdu4 = pyfits.PrimaryHDU(trace_pow_coeffs) hdulist = pyfits.HDUList([hdu1]) hdulist.append(hdu2) hdulist.append(hdu3) hdulist.append(hdu4) hdulist.writeto(os.path.join(sim_dir, "trace.fits")) # ,clobber=True)
#fileflat = os.path.join(paths,'minerva_flat.fits') ff = pyfits.open(fileflat,ignore_missing_end=True,uint=True) fa = pyfits.open(filearc,ignore_missing_end=True,uint=True) ccd_tmp = ff[0].data arc_tmp = fa[0].data trace_ccd += ccd_tmp[::-1,0:actypix] arc_ccd += arc_tmp[::-1,0:actypix] raw_img = arc_ccd #ccd = arc_ccd #Temporary, just to examine fiber vs. wavelength #ccd -= np.median(ccd) #ccd[ccd<0] = 0 #i2 = False trace_coeffs, trace_intense_coeffs, trace_sig_coeffs, trace_pow_coeffs = m_utils.find_trace_coeffs(trace_ccd,2,args.fiber_space,num_points=args.num_points,num_fibers=28*args.telescopes,skip_peaks=1) ###Plot to visualize traces #fig,ax = plt.subplots() #ax.pcolorfast(trace_ccd) #for i in range(num_fibers-4): # ys = (np.arange(ypix)-ypix/2)/ypix # xs = trace_coeffs[2,i]*ys**2+trace_coeffs[1,i]*ys+trace_coeffs[0,i] # yp = np.arange(ypix) # plt.plot(yp,xs) #plt.show() #plt.imshow(raw_img,interpolation='none') #plt.show()