def make_master_cals(): # Create the list of biases: n_first = 332777 n_last = 332877 framen = range( n_first, n_last+1 ) nframes = len( framen ) ddir_bias = os.path.join( ddir, 'bias' ) bias_frames = [] for i in range( nframes ): bias_frames += [ '0000{0:.0f}-20130520-OSIRIS-OsirisBias.fits'.format( framen[i] ) ] bias_list_filename = 'bias.lst' bias_list_filepath = os.path.join( adir, bias_list_filename ) np.savetxt( bias_list_filepath, np.array( bias_frames, dtype=str ), fmt='%s' ) # Generate the master bias: ddir_bias = os.path.join( ddir, 'bias' ) reduction.median_combine_frames( bias_list_filepath, ddir_bias, 'mbias.fits', frame_type='bias', n_exts=N_EXTS ) # Create the list of flats: n_first = 333651 n_last = 333751 framen = range( n_first, n_last+1 ) nframes = len( framen ) ddir_flat = os.path.join( ddir, 'flat' ) flat_frames = [] for i in range( nframes ): flat_frames += [ '0000{0:.0f}-20130520-OSIRIS-OsirisDomeFlat.fits'.format( framen[i] ) ] flat_list_filename = 'flat.lst' flat_list_filepath = os.path.join( adir, flat_list_filename ) np.savetxt( flat_list_filepath, np.array( flat_frames, dtype=str ), fmt='%s' ) # Generate the master flat: ddir_flat = os.path.join( ddir, 'flat' ) reduction.median_combine_frames( flat_list_filepath, ddir_flat, 'mflat.fits', frame_type='flat', n_exts=N_EXTS ) # Create the list of arcs: n_first = 333646 n_last = 333647 framen = range( n_first, n_last+1 ) nframes = len( framen ) ddir_arc = os.path.join( ddir, 'arc' ) arc_frames = [] for i in range( nframes ): arc_frames += [ '0000{0:.0f}-20130520-OSIRIS-OsirisCalibrationLamp.fits'.format( framen[i] ) ] arc_list_filename = 'arc.lst' arc_list_filepath = os.path.join( adir, arc_list_filename ) np.savetxt( arc_list_filepath, np.array( arc_frames, dtype=str ), fmt='%s' ) # Generate the master arc: ddir_arc = os.path.join( ddir, 'arc' ) reduction.median_combine_frames( arc_list_filepath, ddir_arc, 'marc.fits', frame_type='arc', n_exts=N_EXTS ) return None
def make_master_cals(bias=True, flat=True, arc=True): # Create the list of biases: if bias == True: n_first = 407479 n_last = 407528 framen = range(n_first, n_last + 1) nframes = len(framen) ddir_bias = os.path.join(ddir, 'bias') bias_frames = [] for i in range(nframes): bias_frames += [ '0000{0:.0f}-20130728-OSIRIS-OsirisBias.fits'.format(framen[i]) ] bias_list_filename = 'bias.lst' bias_list_filepath = os.path.join(adir, bias_list_filename) np.savetxt(bias_list_filepath, np.array(bias_frames, dtype=str), fmt='%s') # Generate the master bias: ddir_bias = os.path.join(ddir, 'bias') reduction.median_combine_frames(bias_list_filepath, ddir_bias, 'mbias.fits', frame_type='bias', n_exts=N_EXTS) # Create the list of flats: if flat == True: n_first = 407531 n_last = 407630 framen = range(n_first, n_last + 1) nframes = len(framen) ddir_flat = os.path.join(ddir, 'flat') flat_frames = [] for i in range(nframes): flat_frames += [ '0000{0:.0f}-20130728-OSIRIS-OsirisSpectralFlat.fits'.format( framen[i]) ] flat_list_filename = 'flat.lst' flat_list_filepath = os.path.join(adir, flat_list_filename) np.savetxt(flat_list_filepath, np.array(flat_frames, dtype=str), fmt='%s') # Generate the master flat: ddir_flat = os.path.join(ddir, 'flat') reduction.median_combine_frames(flat_list_filepath, ddir_flat, 'mflat.fits', frame_type='flat', n_exts=N_EXTS) # Create the list of HgAr arcs: if arc == True: framens = [407634] ddir_arc = os.path.join(ddir, 'arc') arc_frames = [] for i in framens: arc_frames += [ '0000{0:.0f}-20130728-OSIRIS-OsirisCalibrationLamp.fits'. format(i) ] arc_list_filename = 'arc_HgAr.lst' arc_list_filepath = os.path.join(adir, arc_list_filename) np.savetxt(arc_list_filepath, np.array(arc_frames, dtype=str), fmt='%s') # Generate the master HgAr arc: ddir_arc = os.path.join(ddir, 'arc') reduction.median_combine_frames(arc_list_filepath, ddir_arc, 'marc_HgAr.fits', frame_type='arc', n_exts=N_EXTS) # Create the list of Ne arcs: if arc == True: framens = [407636] ddir_arc = os.path.join(ddir, 'arc') arc_frames = [] for i in framens: arc_frames += [ '0000{0:.0f}-20130728-OSIRIS-OsirisCalibrationLamp.fits'. format(i) ] arc_list_filename = 'arc_Ne.lst' arc_list_filepath = os.path.join(adir, arc_list_filename) np.savetxt(arc_list_filepath, np.array(arc_frames, dtype=str), fmt='%s') # Generate the master Ne arc: ddir_arc = os.path.join(ddir, 'arc') reduction.median_combine_frames(arc_list_filepath, ddir_arc, 'marc_Ne.fits', frame_type='arc', n_exts=N_EXTS) return None
def make_master_cals( night='' ): """ This is a fairly bloated routine for LIRIS, mainly because there are dim and bright frames, and two different arc lamps (Ar and Xe), both taken at start and end of the night. """ adir_full = os.path.join( ADIR, night ) raw_ddir_full = os.path.join( RAW_DDIR, '{0}/raw'.format( night ) ) cal_ddir_full = os.path.join( CAL_DDIR, night ) ddir_dark = os.path.join( cal_ddir_full, 'dark' ) ddir_flat = os.path.join( cal_ddir_full, 'flat' ) # Create the list of darks: if night=='20130517': # Darks: dark_framen = range( 1907393, 1907432+1 ) # 45sec ndark = len( dark_framen ) dark_frames = [] for i in range( ndark ): dark_frames += [ 'r{0:.0f}.fit'.format( dark_framen[i] ) ] dark_list_filename = 'dark.lst' mdark_filename = 'mdark.fit' # Flats flat_1arcsec_dim_framen = range( 1906407, 1906456+1 ) flat_1arcsec_dim_list_filename = 'domeflat_1arcsec_dim.lst' mflat_1arcsec_dim_filename = 'mdomeflat_1arcsec_dim.fit' nflat = len( flat_1arcsec_dim_framen ) flat_1arcsec_dim_frames = [] for i in range( nflat ): flat_1arcsec_dim_frames += [ 'r{0:.0f}.fit'.format( flat_1arcsec_dim_framen[i] ) ] flat_1arcsec_bri_framen = range( 1906307, 1906406+1 ) flat_1arcsec_bri_list_filename = 'domeflat_1arcsec_bri.lst' mflat_1arcsec_bri_filename = 'mdomeflat_1arcsec_bri.fit' nflat = len( flat_1arcsec_bri_framen ) flat_1arcsec_bri_frames = [] for i in range( nflat ): flat_1arcsec_bri_frames += [ 'r{0:.0f}.fit'.format( flat_1arcsec_bri_framen[i] ) ] flat_10arcsec_dim_framen = range( 1906257, 1906306+1 ) flat_10arcsec_dim_list_filename = 'domeflat_10arcsec_dim.lst' mflat_10arcsec_dim_filename = 'mdomeflat_10arcsec_dim.fit' nflat = len( flat_10arcsec_dim_framen ) flat_10arcsec_dim_frames = [] for i in range( nflat ): flat_10arcsec_dim_frames += [ 'r{0:.0f}.fit'.format( flat_10arcsec_dim_framen[i] ) ] flat_10arcsec_bri_framen = range( 1906207, 1906256+1 ) flat_10arcsec_bri_list_filename = 'domeflat_10arcsec_bri.lst' mflat_10arcsec_bri_filename = 'mdomeflat_10arcsec_bri.fit' nflat = len( flat_10arcsec_bri_framen ) flat_10arcsec_bri_frames = [] for i in range( nflat ): flat_10arcsec_bri_frames += [ 'r{0:.0f}.fit'.format( flat_10arcsec_bri_framen[i] ) ] # Argon arcs start of night: arc_Ar1_dim_framen = range( 1906856, 1906857+1 ) arc_Ar1_dim_list_filename = 'arc_Ar1_dim.lst' marc_Ar1_dim_filename = 'marc_Ar1_dim.fit' narc = len( arc_Ar1_dim_framen ) arc_Ar1_dim_frames = [] for i in range( narc ): arc_Ar1_dim_frames += [ 'r{0:.0f}.fit'.format( arc_Ar1_dim_framen[i] ) ] arc_Ar1_bri_framen = range( 1906858, 1906859+1 ) arc_Ar1_bri_list_filename = 'arc_Ar1_bri.lst' marc_Ar1_bri_filename = 'marc_Ar1_bri.fit' narc = len( arc_Ar1_bri_framen ) arc_Ar1_bri_frames = [] for i in range( narc ): arc_Ar1_bri_frames += [ 'r{0:.0f}.fit'.format( arc_Ar1_bri_framen[i] ) ] # Argon arcs end of night: arc_Ar2_dim_framen = range( 1907383, 1907384+1 ) arc_Ar2_dim_list_filename = 'arc_Ar2_dim.lst' marc_Ar2_dim_filename = 'marc_Ar2_dim.fit' narc = len( arc_Ar2_dim_framen ) arc_Ar2_dim_frames = [] for i in range( narc ): arc_Ar2_dim_frames += [ 'r{0:.0f}.fit'.format( arc_Ar2_dim_framen[i] ) ] arc_Ar2_bri_framen = range( 1907385, 1907386+1 ) arc_Ar2_bri_list_filename = 'arc_Ar2_bri.lst' marc_Ar2_bri_filename = 'marc_Ar2_bri.fit' narc = len( arc_Ar2_bri_framen ) arc_Ar2_bri_frames = [] for i in range( narc ): arc_Ar2_bri_frames += [ 'r{0:.0f}.fit'.format( arc_Ar2_bri_framen[i] ) ] # Xenon arcs start of night: arc_Xe1_dim_framen = range( 1906860, 1906861+1 ) arc_Xe1_dim_list_filename = 'arc_Xe1_dim.lst' marc_Xe1_dim_filename = 'marc_Xe1_dim.fit' narc = len( arc_Xe1_dim_framen ) arc_Xe1_dim_frames = [] for i in range( narc ): arc_Xe1_dim_frames += [ 'r{0:.0f}.fit'.format( arc_Xe1_dim_framen[i] ) ] arc_Xe1_bri_framen = range( 1906862, 1906863+1 ) arc_Xe1_bri_list_filename = 'arc_Xe1_bri.lst' marc_Xe1_bri_filename = 'marc_Xe1_bri.fit' narc = len( arc_Xe1_bri_framen ) arc_Xe1_bri_frames = [] for i in range( narc ): arc_Xe1_bri_frames += [ 'r{0:.0f}.fit'.format( arc_Xe1_bri_framen[i] ) ] # Xenon arcs end of night: arc_Xe2_dim_framen = range( 1907388, 1907389+1 ) arc_Xe2_dim_list_filename = 'arc_Xe2_dim.lst' marc_Xe2_dim_filename = 'marc_Xe2_dim.fit' narc = len( arc_Xe2_dim_framen ) arc_Xe2_dim_frames = [] for i in range( narc ): arc_Xe2_dim_frames += [ 'r{0:.0f}.fit'.format( arc_Xe2_dim_framen[i] ) ] arc_Xe2_bri_framen = range( 1907390, 1907391+1 ) arc_Xe2_bri_list_filename = 'arc_Xe2_bri.lst' marc_Xe2_bri_filename = 'marc_Xe2_bri.fit' narc = len( arc_Xe2_bri_framen ) arc_Xe2_bri_frames = [] for i in range( narc ): arc_Xe2_bri_frames += [ 'r{0:.0f}.fit'.format( arc_Xe2_bri_framen[i] ) ] elif night=='': pdb.set_trace()#todo elif night=='': pdb.set_trace()#todo else: pdb.set_trace() # not recognised # Create master dark: dark_list_filepath = os.path.join( adir_full, dark_list_filename ) np.savetxt( dark_list_filepath, np.array( dark_frames, dtype=str ), fmt='%s' ) reduction.median_combine_frames( dark_list_filepath, raw_ddir_full, ddir_dark, \ mdark_filename, frame_type='dark', n_exts=N_EXTS ) # Create master dim flat with 1 arcsec slit: flat_1arcsec_dim_list_filepath = os.path.join( adir_full, flat_1arcsec_dim_list_filename ) np.savetxt( flat_1arcsec_dim_list_filepath, np.array( flat_1arcsec_dim_frames, dtype=str ), fmt='%s' ) reduction.median_combine_frames( flat_1arcsec_dim_list_filepath, raw_ddir_full, ddir_flat, \ mflat_1arcsec_dim_filename, frame_type='dflatdim', n_exts=N_EXTS ) # Create master bright flat with 1 arcsec slit: flat_1arcsec_bri_list_filepath = os.path.join( adir_full, flat_1arcsec_bri_list_filename ) np.savetxt( flat_1arcsec_bri_list_filepath, np.array( flat_1arcsec_bri_frames, dtype=str ), fmt='%s' ) reduction.median_combine_frames( flat_1arcsec_bri_list_filepath, raw_ddir_full, ddir_flat, \ mflat_1arcsec_bri_filename, frame_type='dflatbri', n_exts=N_EXTS ) # Create master dim flat with 10 arcsec slit: flat_10arcsec_dim_list_filepath = os.path.join( adir_full, flat_10arcsec_dim_list_filename ) np.savetxt( flat_10arcsec_dim_list_filepath, np.array( flat_10arcsec_dim_frames, dtype=str ), fmt='%s' ) reduction.median_combine_frames( flat_10arcsec_dim_list_filepath, raw_ddir_full, ddir_flat, \ mflat_10arcsec_dim_filename, frame_type='dflatdim', n_exts=N_EXTS ) # Create master bright flat with 10 arcsec slit: flat_10arcsec_bri_list_filepath = os.path.join( adir_full, flat_10arcsec_bri_list_filename ) np.savetxt( flat_10arcsec_bri_list_filepath, np.array( flat_10arcsec_bri_frames, dtype=str ), fmt='%s' ) reduction.median_combine_frames( flat_10arcsec_bri_list_filepath, raw_ddir_full, ddir_flat, \ mflat_10arcsec_bri_filename, frame_type='dflatbri', n_exts=N_EXTS ) # Create master dim Ar arc from start of night: arc_Ar1_dim_list_filepath = os.path.join( adir_full, arc_Ar1_dim_list_filename ) np.savetxt( arc_Ar1_dim_list_filepath, np.array( arc_Ar1_dim_frames, dtype=str ), fmt='%s' ) reduction.median_combine_frames( arc_Ar1_dim_list_filepath, raw_ddir_full, ddir_flat, \ marc_Ar1_dim_filename, frame_type='arc_ar', n_exts=N_EXTS ) # Create master bright Ar arc from start of night: arc_Ar1_bri_list_filepath = os.path.join( adir_full, arc_Ar1_bri_list_filename ) np.savetxt( arc_Ar1_bri_list_filepath, np.array( arc_Ar1_bri_frames, dtype=str ), fmt='%s' ) reduction.median_combine_frames( arc_Ar1_bri_list_filepath, raw_ddir_full, ddir_flat, \ marc_Ar1_bri_filename, frame_type='arc_ar', n_exts=N_EXTS ) # Create master dim Ar arc from end of night: arc_Ar2_dim_list_filepath = os.path.join( adir_full, arc_Ar2_dim_list_filename ) np.savetxt( arc_Ar2_dim_list_filepath, np.array( arc_Ar2_dim_frames, dtype=str ), fmt='%s' ) reduction.median_combine_frames( arc_Ar2_dim_list_filepath, raw_ddir_full, ddir_flat, \ marc_Ar2_dim_filename, frame_type='arc_ar', n_exts=N_EXTS ) # Create master bright Ar arc from end of night: arc_Ar2_bri_list_filepath = os.path.join( adir_full, arc_Ar2_bri_list_filename ) np.savetxt( arc_Ar2_bri_list_filepath, np.array( arc_Ar2_bri_frames, dtype=str ), fmt='%s' ) reduction.median_combine_frames( arc_Ar2_bri_list_filepath, raw_ddir_full, ddir_flat, \ marc_Ar2_bri_filename, frame_type='arc_ar', n_exts=N_EXTS ) # Create master dim Xe arc from start of night: arc_Xe1_dim_list_filepath = os.path.join( adir_full, arc_Xe1_dim_list_filename ) np.savetxt( arc_Xe1_dim_list_filepath, np.array( arc_Xe1_dim_frames, dtype=str ), fmt='%s' ) reduction.median_combine_frames( arc_Xe1_dim_list_filepath, raw_ddir_full, ddir_flat, \ marc_Xe1_dim_filename, frame_type='arc_ar', n_exts=N_EXTS ) # Create master bright Xe arc from start of night: arc_Xe1_bri_list_filepath = os.path.join( adir_full, arc_Xe1_bri_list_filename ) np.savetxt( arc_Xe1_bri_list_filepath, np.array( arc_Xe1_bri_frames, dtype=str ), fmt='%s' ) reduction.median_combine_frames( arc_Xe1_bri_list_filepath, raw_ddir_full, ddir_flat, \ marc_Xe1_bri_filename, frame_type='arc_ar', n_exts=N_EXTS ) # Create master dim Xe arc from end of night: arc_Xe2_dim_list_filepath = os.path.join( adir_full, arc_Xe2_dim_list_filename ) np.savetxt( arc_Xe2_dim_list_filepath, np.array( arc_Xe2_dim_frames, dtype=str ), fmt='%s' ) reduction.median_combine_frames( arc_Xe2_dim_list_filepath, raw_ddir_full, ddir_flat, \ marc_Xe2_dim_filename, frame_type='arc_ar', n_exts=N_EXTS ) # Create master bright Xe arc from end of night: arc_Xe2_bri_list_filepath = os.path.join( adir_full, arc_Xe2_bri_list_filename ) np.savetxt( arc_Xe2_bri_list_filepath, np.array( arc_Xe2_bri_frames, dtype=str ), fmt='%s' ) reduction.median_combine_frames( arc_Xe2_bri_list_filepath, raw_ddir_full, ddir_flat, \ marc_Xe2_bri_filename, frame_type='arc_ar', n_exts=N_EXTS ) # Now create the final master files by subtracting the dims from the brights: dim_ifilepath = os.path.join( ddir_flat, mflat_10arcsec_dim_filename ) bri_ifilepath = os.path.join( ddir_flat, mflat_10arcsec_bri_filename ) ofilepath = os.path.join( ddir_flat, 'mdomeflat_10arcsec_final.fit' ) reduction.subtract_dim_from_bright( dim_ifilepath, bri_ifilepath, ofilepath, frame_type='dflat', n_exts=N_EXTS ) dim_ifilepath = os.path.join( ddir_flat, mflat_1arcsec_dim_filename ) bri_ifilepath = os.path.join( ddir_flat, mflat_1arcsec_bri_filename ) ofilepath = os.path.join( ddir_flat, 'mdomeflat_1arcsec_final.fit' ) reduction.subtract_dim_from_bright( dim_ifilepath, bri_ifilepath, ofilepath, frame_type='dflat', n_exts=N_EXTS ) dim_ifilepath = os.path.join( ddir_flat, marc_Ar1_dim_filename ) bri_ifilepath = os.path.join( ddir_flat, marc_Ar1_bri_filename ) ofilepath = os.path.join( ddir_flat, 'marc_Ar1_final.fit' ) reduction.subtract_dim_from_bright( dim_ifilepath, bri_ifilepath, ofilepath, frame_type='arc_ar', n_exts=N_EXTS ) dim_ifilepath = os.path.join( ddir_flat, marc_Ar2_dim_filename ) bri_ifilepath = os.path.join( ddir_flat, marc_Ar2_bri_filename ) ofilepath = os.path.join( ddir_flat, 'marc_Ar2_final.fit' ) reduction.subtract_dim_from_bright( dim_ifilepath, bri_ifilepath, ofilepath, frame_type='arc_ar', n_exts=N_EXTS ) return None
def make_master_cals( bias=True, flat=True, arc=True ): # Create the list of biases: if bias==True: n_first = 407479 n_last = 407528 framen = range( n_first, n_last+1 ) nframes = len( framen ) ddir_bias = os.path.join( ddir, 'bias' ) bias_frames = [] for i in range( nframes ): bias_frames += [ '0000{0:.0f}-20130728-OSIRIS-OsirisBias.fits'.format( framen[i] ) ] bias_list_filename = 'bias.lst' bias_list_filepath = os.path.join( adir, bias_list_filename ) np.savetxt( bias_list_filepath, np.array( bias_frames, dtype=str ), fmt='%s' ) # Generate the master bias: ddir_bias = os.path.join( ddir, 'bias' ) reduction.median_combine_frames( bias_list_filepath, ddir_bias, 'mbias.fits', frame_type='bias', n_exts=N_EXTS ) # Create the list of flats: if flat==True: n_first = 407531 n_last = 407630 framen = range( n_first, n_last+1 ) nframes = len( framen ) ddir_flat = os.path.join( ddir, 'flat' ) flat_frames = [] for i in range( nframes ): flat_frames += [ '0000{0:.0f}-20130728-OSIRIS-OsirisSpectralFlat.fits'.format( framen[i] ) ] flat_list_filename = 'flat.lst' flat_list_filepath = os.path.join( adir, flat_list_filename ) np.savetxt( flat_list_filepath, np.array( flat_frames, dtype=str ), fmt='%s' ) # Generate the master flat: ddir_flat = os.path.join( ddir, 'flat' ) reduction.median_combine_frames( flat_list_filepath, ddir_flat, 'mflat.fits', frame_type='flat', n_exts=N_EXTS ) # Create the list of HgAr arcs: if arc==True: framens = [ 407634 ] ddir_arc = os.path.join( ddir, 'arc' ) arc_frames = [] for i in framens: arc_frames += [ '0000{0:.0f}-20130728-OSIRIS-OsirisCalibrationLamp.fits'.format( i ) ] arc_list_filename = 'arc_HgAr.lst' arc_list_filepath = os.path.join( adir, arc_list_filename ) np.savetxt( arc_list_filepath, np.array( arc_frames, dtype=str ), fmt='%s' ) # Generate the master HgAr arc: ddir_arc = os.path.join( ddir, 'arc' ) reduction.median_combine_frames( arc_list_filepath, ddir_arc, 'marc_HgAr.fits', frame_type='arc', n_exts=N_EXTS ) # Create the list of Ne arcs: if arc==True: framens = [ 407636 ] ddir_arc = os.path.join( ddir, 'arc' ) arc_frames = [] for i in framens: arc_frames += [ '0000{0:.0f}-20130728-OSIRIS-OsirisCalibrationLamp.fits'.format( i ) ] arc_list_filename = 'arc_Ne.lst' arc_list_filepath = os.path.join( adir, arc_list_filename ) np.savetxt( arc_list_filepath, np.array( arc_frames, dtype=str ), fmt='%s' ) # Generate the master Ne arc: ddir_arc = os.path.join( ddir, 'arc' ) reduction.median_combine_frames( arc_list_filepath, ddir_arc, 'marc_Ne.fits', frame_type='arc', n_exts=N_EXTS ) return None
def make_master_cals(night=''): """ This is a fairly bloated routine for LIRIS, mainly because there are dim and bright frames, and two different arc lamps (Ar and Xe), both taken at start and end of the night. """ adir_full = os.path.join(ADIR, night) raw_ddir_full = os.path.join(RAW_DDIR, '{0}/raw'.format(night)) cal_ddir_full = os.path.join(CAL_DDIR, night) ddir_dark = os.path.join(cal_ddir_full, 'dark') ddir_flat = os.path.join(cal_ddir_full, 'flat') # Create the list of darks: if night == '20130517': # Darks: dark_framen = range(1907393, 1907432 + 1) # 45sec ndark = len(dark_framen) dark_frames = [] for i in range(ndark): dark_frames += ['r{0:.0f}.fit'.format(dark_framen[i])] dark_list_filename = 'dark.lst' mdark_filename = 'mdark.fit' # Flats flat_1arcsec_dim_framen = range(1906407, 1906456 + 1) flat_1arcsec_dim_list_filename = 'domeflat_1arcsec_dim.lst' mflat_1arcsec_dim_filename = 'mdomeflat_1arcsec_dim.fit' nflat = len(flat_1arcsec_dim_framen) flat_1arcsec_dim_frames = [] for i in range(nflat): flat_1arcsec_dim_frames += [ 'r{0:.0f}.fit'.format(flat_1arcsec_dim_framen[i]) ] flat_1arcsec_bri_framen = range(1906307, 1906406 + 1) flat_1arcsec_bri_list_filename = 'domeflat_1arcsec_bri.lst' mflat_1arcsec_bri_filename = 'mdomeflat_1arcsec_bri.fit' nflat = len(flat_1arcsec_bri_framen) flat_1arcsec_bri_frames = [] for i in range(nflat): flat_1arcsec_bri_frames += [ 'r{0:.0f}.fit'.format(flat_1arcsec_bri_framen[i]) ] flat_10arcsec_dim_framen = range(1906257, 1906306 + 1) flat_10arcsec_dim_list_filename = 'domeflat_10arcsec_dim.lst' mflat_10arcsec_dim_filename = 'mdomeflat_10arcsec_dim.fit' nflat = len(flat_10arcsec_dim_framen) flat_10arcsec_dim_frames = [] for i in range(nflat): flat_10arcsec_dim_frames += [ 'r{0:.0f}.fit'.format(flat_10arcsec_dim_framen[i]) ] flat_10arcsec_bri_framen = range(1906207, 1906256 + 1) flat_10arcsec_bri_list_filename = 'domeflat_10arcsec_bri.lst' mflat_10arcsec_bri_filename = 'mdomeflat_10arcsec_bri.fit' nflat = len(flat_10arcsec_bri_framen) flat_10arcsec_bri_frames = [] for i in range(nflat): flat_10arcsec_bri_frames += [ 'r{0:.0f}.fit'.format(flat_10arcsec_bri_framen[i]) ] # Argon arcs start of night: arc_Ar1_dim_framen = range(1906856, 1906857 + 1) arc_Ar1_dim_list_filename = 'arc_Ar1_dim.lst' marc_Ar1_dim_filename = 'marc_Ar1_dim.fit' narc = len(arc_Ar1_dim_framen) arc_Ar1_dim_frames = [] for i in range(narc): arc_Ar1_dim_frames += [ 'r{0:.0f}.fit'.format(arc_Ar1_dim_framen[i]) ] arc_Ar1_bri_framen = range(1906858, 1906859 + 1) arc_Ar1_bri_list_filename = 'arc_Ar1_bri.lst' marc_Ar1_bri_filename = 'marc_Ar1_bri.fit' narc = len(arc_Ar1_bri_framen) arc_Ar1_bri_frames = [] for i in range(narc): arc_Ar1_bri_frames += [ 'r{0:.0f}.fit'.format(arc_Ar1_bri_framen[i]) ] # Argon arcs end of night: arc_Ar2_dim_framen = range(1907383, 1907384 + 1) arc_Ar2_dim_list_filename = 'arc_Ar2_dim.lst' marc_Ar2_dim_filename = 'marc_Ar2_dim.fit' narc = len(arc_Ar2_dim_framen) arc_Ar2_dim_frames = [] for i in range(narc): arc_Ar2_dim_frames += [ 'r{0:.0f}.fit'.format(arc_Ar2_dim_framen[i]) ] arc_Ar2_bri_framen = range(1907385, 1907386 + 1) arc_Ar2_bri_list_filename = 'arc_Ar2_bri.lst' marc_Ar2_bri_filename = 'marc_Ar2_bri.fit' narc = len(arc_Ar2_bri_framen) arc_Ar2_bri_frames = [] for i in range(narc): arc_Ar2_bri_frames += [ 'r{0:.0f}.fit'.format(arc_Ar2_bri_framen[i]) ] # Xenon arcs start of night: arc_Xe1_dim_framen = range(1906860, 1906861 + 1) arc_Xe1_dim_list_filename = 'arc_Xe1_dim.lst' marc_Xe1_dim_filename = 'marc_Xe1_dim.fit' narc = len(arc_Xe1_dim_framen) arc_Xe1_dim_frames = [] for i in range(narc): arc_Xe1_dim_frames += [ 'r{0:.0f}.fit'.format(arc_Xe1_dim_framen[i]) ] arc_Xe1_bri_framen = range(1906862, 1906863 + 1) arc_Xe1_bri_list_filename = 'arc_Xe1_bri.lst' marc_Xe1_bri_filename = 'marc_Xe1_bri.fit' narc = len(arc_Xe1_bri_framen) arc_Xe1_bri_frames = [] for i in range(narc): arc_Xe1_bri_frames += [ 'r{0:.0f}.fit'.format(arc_Xe1_bri_framen[i]) ] # Xenon arcs end of night: arc_Xe2_dim_framen = range(1907388, 1907389 + 1) arc_Xe2_dim_list_filename = 'arc_Xe2_dim.lst' marc_Xe2_dim_filename = 'marc_Xe2_dim.fit' narc = len(arc_Xe2_dim_framen) arc_Xe2_dim_frames = [] for i in range(narc): arc_Xe2_dim_frames += [ 'r{0:.0f}.fit'.format(arc_Xe2_dim_framen[i]) ] arc_Xe2_bri_framen = range(1907390, 1907391 + 1) arc_Xe2_bri_list_filename = 'arc_Xe2_bri.lst' marc_Xe2_bri_filename = 'marc_Xe2_bri.fit' narc = len(arc_Xe2_bri_framen) arc_Xe2_bri_frames = [] for i in range(narc): arc_Xe2_bri_frames += [ 'r{0:.0f}.fit'.format(arc_Xe2_bri_framen[i]) ] elif night == '': pdb.set_trace() #todo elif night == '': pdb.set_trace() #todo else: pdb.set_trace() # not recognised # Create master dark: dark_list_filepath = os.path.join(adir_full, dark_list_filename) np.savetxt(dark_list_filepath, np.array(dark_frames, dtype=str), fmt='%s') reduction.median_combine_frames( dark_list_filepath, raw_ddir_full, ddir_dark, \ mdark_filename, frame_type='dark', n_exts=N_EXTS ) # Create master dim flat with 1 arcsec slit: flat_1arcsec_dim_list_filepath = os.path.join( adir_full, flat_1arcsec_dim_list_filename) np.savetxt(flat_1arcsec_dim_list_filepath, np.array(flat_1arcsec_dim_frames, dtype=str), fmt='%s') reduction.median_combine_frames( flat_1arcsec_dim_list_filepath, raw_ddir_full, ddir_flat, \ mflat_1arcsec_dim_filename, frame_type='dflatdim', n_exts=N_EXTS ) # Create master bright flat with 1 arcsec slit: flat_1arcsec_bri_list_filepath = os.path.join( adir_full, flat_1arcsec_bri_list_filename) np.savetxt(flat_1arcsec_bri_list_filepath, np.array(flat_1arcsec_bri_frames, dtype=str), fmt='%s') reduction.median_combine_frames( flat_1arcsec_bri_list_filepath, raw_ddir_full, ddir_flat, \ mflat_1arcsec_bri_filename, frame_type='dflatbri', n_exts=N_EXTS ) # Create master dim flat with 10 arcsec slit: flat_10arcsec_dim_list_filepath = os.path.join( adir_full, flat_10arcsec_dim_list_filename) np.savetxt(flat_10arcsec_dim_list_filepath, np.array(flat_10arcsec_dim_frames, dtype=str), fmt='%s') reduction.median_combine_frames( flat_10arcsec_dim_list_filepath, raw_ddir_full, ddir_flat, \ mflat_10arcsec_dim_filename, frame_type='dflatdim', n_exts=N_EXTS ) # Create master bright flat with 10 arcsec slit: flat_10arcsec_bri_list_filepath = os.path.join( adir_full, flat_10arcsec_bri_list_filename) np.savetxt(flat_10arcsec_bri_list_filepath, np.array(flat_10arcsec_bri_frames, dtype=str), fmt='%s') reduction.median_combine_frames( flat_10arcsec_bri_list_filepath, raw_ddir_full, ddir_flat, \ mflat_10arcsec_bri_filename, frame_type='dflatbri', n_exts=N_EXTS ) # Create master dim Ar arc from start of night: arc_Ar1_dim_list_filepath = os.path.join(adir_full, arc_Ar1_dim_list_filename) np.savetxt(arc_Ar1_dim_list_filepath, np.array(arc_Ar1_dim_frames, dtype=str), fmt='%s') reduction.median_combine_frames( arc_Ar1_dim_list_filepath, raw_ddir_full, ddir_flat, \ marc_Ar1_dim_filename, frame_type='arc_ar', n_exts=N_EXTS ) # Create master bright Ar arc from start of night: arc_Ar1_bri_list_filepath = os.path.join(adir_full, arc_Ar1_bri_list_filename) np.savetxt(arc_Ar1_bri_list_filepath, np.array(arc_Ar1_bri_frames, dtype=str), fmt='%s') reduction.median_combine_frames( arc_Ar1_bri_list_filepath, raw_ddir_full, ddir_flat, \ marc_Ar1_bri_filename, frame_type='arc_ar', n_exts=N_EXTS ) # Create master dim Ar arc from end of night: arc_Ar2_dim_list_filepath = os.path.join(adir_full, arc_Ar2_dim_list_filename) np.savetxt(arc_Ar2_dim_list_filepath, np.array(arc_Ar2_dim_frames, dtype=str), fmt='%s') reduction.median_combine_frames( arc_Ar2_dim_list_filepath, raw_ddir_full, ddir_flat, \ marc_Ar2_dim_filename, frame_type='arc_ar', n_exts=N_EXTS ) # Create master bright Ar arc from end of night: arc_Ar2_bri_list_filepath = os.path.join(adir_full, arc_Ar2_bri_list_filename) np.savetxt(arc_Ar2_bri_list_filepath, np.array(arc_Ar2_bri_frames, dtype=str), fmt='%s') reduction.median_combine_frames( arc_Ar2_bri_list_filepath, raw_ddir_full, ddir_flat, \ marc_Ar2_bri_filename, frame_type='arc_ar', n_exts=N_EXTS ) # Create master dim Xe arc from start of night: arc_Xe1_dim_list_filepath = os.path.join(adir_full, arc_Xe1_dim_list_filename) np.savetxt(arc_Xe1_dim_list_filepath, np.array(arc_Xe1_dim_frames, dtype=str), fmt='%s') reduction.median_combine_frames( arc_Xe1_dim_list_filepath, raw_ddir_full, ddir_flat, \ marc_Xe1_dim_filename, frame_type='arc_ar', n_exts=N_EXTS ) # Create master bright Xe arc from start of night: arc_Xe1_bri_list_filepath = os.path.join(adir_full, arc_Xe1_bri_list_filename) np.savetxt(arc_Xe1_bri_list_filepath, np.array(arc_Xe1_bri_frames, dtype=str), fmt='%s') reduction.median_combine_frames( arc_Xe1_bri_list_filepath, raw_ddir_full, ddir_flat, \ marc_Xe1_bri_filename, frame_type='arc_ar', n_exts=N_EXTS ) # Create master dim Xe arc from end of night: arc_Xe2_dim_list_filepath = os.path.join(adir_full, arc_Xe2_dim_list_filename) np.savetxt(arc_Xe2_dim_list_filepath, np.array(arc_Xe2_dim_frames, dtype=str), fmt='%s') reduction.median_combine_frames( arc_Xe2_dim_list_filepath, raw_ddir_full, ddir_flat, \ marc_Xe2_dim_filename, frame_type='arc_ar', n_exts=N_EXTS ) # Create master bright Xe arc from end of night: arc_Xe2_bri_list_filepath = os.path.join(adir_full, arc_Xe2_bri_list_filename) np.savetxt(arc_Xe2_bri_list_filepath, np.array(arc_Xe2_bri_frames, dtype=str), fmt='%s') reduction.median_combine_frames( arc_Xe2_bri_list_filepath, raw_ddir_full, ddir_flat, \ marc_Xe2_bri_filename, frame_type='arc_ar', n_exts=N_EXTS ) # Now create the final master files by subtracting the dims from the brights: dim_ifilepath = os.path.join(ddir_flat, mflat_10arcsec_dim_filename) bri_ifilepath = os.path.join(ddir_flat, mflat_10arcsec_bri_filename) ofilepath = os.path.join(ddir_flat, 'mdomeflat_10arcsec_final.fit') reduction.subtract_dim_from_bright(dim_ifilepath, bri_ifilepath, ofilepath, frame_type='dflat', n_exts=N_EXTS) dim_ifilepath = os.path.join(ddir_flat, mflat_1arcsec_dim_filename) bri_ifilepath = os.path.join(ddir_flat, mflat_1arcsec_bri_filename) ofilepath = os.path.join(ddir_flat, 'mdomeflat_1arcsec_final.fit') reduction.subtract_dim_from_bright(dim_ifilepath, bri_ifilepath, ofilepath, frame_type='dflat', n_exts=N_EXTS) dim_ifilepath = os.path.join(ddir_flat, marc_Ar1_dim_filename) bri_ifilepath = os.path.join(ddir_flat, marc_Ar1_bri_filename) ofilepath = os.path.join(ddir_flat, 'marc_Ar1_final.fit') reduction.subtract_dim_from_bright(dim_ifilepath, bri_ifilepath, ofilepath, frame_type='arc_ar', n_exts=N_EXTS) dim_ifilepath = os.path.join(ddir_flat, marc_Ar2_dim_filename) bri_ifilepath = os.path.join(ddir_flat, marc_Ar2_bri_filename) ofilepath = os.path.join(ddir_flat, 'marc_Ar2_final.fit') reduction.subtract_dim_from_bright(dim_ifilepath, bri_ifilepath, ofilepath, frame_type='arc_ar', n_exts=N_EXTS) return None
def make_master_cals(): # Create the list of biases: n_first = 332777 n_last = 332877 framen = range(n_first, n_last + 1) nframes = len(framen) ddir_bias = os.path.join(ddir, 'bias') bias_frames = [] for i in range(nframes): bias_frames += [ '0000{0:.0f}-20130520-OSIRIS-OsirisBias.fits'.format(framen[i]) ] bias_list_filename = 'bias.lst' bias_list_filepath = os.path.join(adir, bias_list_filename) np.savetxt(bias_list_filepath, np.array(bias_frames, dtype=str), fmt='%s') # Generate the master bias: ddir_bias = os.path.join(ddir, 'bias') reduction.median_combine_frames(bias_list_filepath, ddir_bias, 'mbias.fits', frame_type='bias', n_exts=N_EXTS) # Create the list of flats: n_first = 333651 n_last = 333751 framen = range(n_first, n_last + 1) nframes = len(framen) ddir_flat = os.path.join(ddir, 'flat') flat_frames = [] for i in range(nframes): flat_frames += [ '0000{0:.0f}-20130520-OSIRIS-OsirisDomeFlat.fits'.format(framen[i]) ] flat_list_filename = 'flat.lst' flat_list_filepath = os.path.join(adir, flat_list_filename) np.savetxt(flat_list_filepath, np.array(flat_frames, dtype=str), fmt='%s') # Generate the master flat: ddir_flat = os.path.join(ddir, 'flat') reduction.median_combine_frames(flat_list_filepath, ddir_flat, 'mflat.fits', frame_type='flat', n_exts=N_EXTS) # Create the list of arcs: n_first = 333646 n_last = 333647 framen = range(n_first, n_last + 1) nframes = len(framen) ddir_arc = os.path.join(ddir, 'arc') arc_frames = [] for i in range(nframes): arc_frames += [ '0000{0:.0f}-20130520-OSIRIS-OsirisCalibrationLamp.fits'.format( framen[i]) ] arc_list_filename = 'arc.lst' arc_list_filepath = os.path.join(adir, arc_list_filename) np.savetxt(arc_list_filepath, np.array(arc_frames, dtype=str), fmt='%s') # Generate the master arc: ddir_arc = os.path.join(ddir, 'arc') reduction.median_combine_frames(arc_list_filepath, ddir_arc, 'marc.fits', frame_type='arc', n_exts=N_EXTS) return None