def __init__(self): self._filename = filename self._datapath = datapath if datapath.endswith('\\') else (datapath + '\\') self._generator = d.IncrementalGenerator( self._datapath + self._filename, 1) #data number generator self._vallabels = g.get_vallabels( ) #value labels, [reading1, reading2, reading3, ..]
def __init__(self): self._filename = filename self._datapath = datapath if datapath.endswith('\\') else (datapath + '\\') self._generator = d.IncrementalGenerator( self._datapath + self._filename, 1) self._vallabels = g.get_vallabels( ) #value labels, [reading1, reading2, reading3, ..] self._coolabels = ['', '', '' ] #coordinator labels, [output1, output2, output3]
def __init__(self): self._filename = filename self._datapath = datapath if datapath.endswith('\\') else (datapath + '\\') self._generator = d.IncrementalGenerator( self._datapath + self._filename, 1) #data number generator self._vallabels = g.get_vallabels( ) #value labels, [reading1, reading2, reading3, ..] self._coolabels = [ '', '', '' ] #coordinator labels, [output1, output2, output3]. Here, the first 3 column are called coordinators, the rest are called values.
def laserscan(dataname, ins_laser_scan=ins_laser_scan): ins_laser_scan.set_StartVoltage(start_v) ins_laser_scan.set_StopVoltage(stop_v) ins_laser_scan.set_ScanSteps(steps) ins_laser_scan.set_IntegrationTime(pxtime) ins_running = True step = 0 #_before_voltages = ins_adwin.get_dac_voltages(['green_aom','newfocus_aom']) #FIXME NEED A CONDITION FOR WHEN THE Newfocus IS ONE THE AWG. if LT2: GreenAOM.set_power(green_before) qt.msleep(1) NewfocusAOM.set_power(red_during) GreenAOM.set_power(green_during) else: GreenAOM_lt1.set_power(green_before) qt.msleep(1) NewfocusAOM_lt1.set_power(red_during) GreenAOM_lt1.set_power(green_during) #make sure microwaves are off ins_mw.set_status('off') if mw: ins_mw.set_iq('off') ins_mw.set_pulm('off') ins_mw.set_power(mw_power) ins_mw.set_frequency(mw_frq) ins_mw.set_status('on') qt.mstart() qt.Data.set_filename_generator(data.DateTimeGenerator()) d = qt.Data(name=dataname) d.add_coordinate('voltage [V]') d.add_value('frequency [GHz]') d.add_value('counts') d.create_file() p_f = qt.Plot2D(d, 'rO', name='frequency', coorddim=0, valdim=1, clear=True) p_c = qt.Plot2D(d, 'bO', name='counts', coorddim=1, valdim=2, clear=True) # go manually to initial position ins_adwin.set_dac_voltage(('newfocus_frq', start_v)) qt.msleep(1) ins_laser_scan.start_scan() qt.msleep(1) timer_id = gobject.timeout_add(abort_check_time, check_for_abort) while (ins_running): ins_running = not ins_laser_scan.get_TraceFinished() _step = ins_laser_scan.get_CurrentStep() qt.msleep(0.3) if _step > step: _v = ins_laser_scan.get_voltages()[step:_step] _f = ins_laser_scan.get_frequencies()[step:_step] - f_offset _c = ins_laser_scan.get_counts()[step:_step] # print _v,_f,_c _valid_elmnts = (_f > 0) _v = _v[_valid_elmnts] _f = _f[_valid_elmnts] _c = _c[_valid_elmnts] if not (len(_v) == 0): if len(_v) == 1: _v = _v[0] _f = _f[0] _c = _c[0] d.add_data_point(_v, _f, _c) step = _step p_f.update() p_c.update() ins_laser_scan.end_scan() gobject.source_remove(timer_id) #ins_adwin.set_dac_voltage(['green_aom',_before_voltages[0]]) #ins_adwin.set_dac_voltage(['newfocus_aom',_before_voltages[1]]) if mw: ins_mw.set_status('off') qt.mend() pfsave = p_f pcsave = p_c if do_smooth: basepath = d.get_filepath()[:-4] ds = qt.Data() ds.set_filename_generator(data.IncrementalGenerator(basepath)) ds.add_coordinate('voltage [V]') ds.add_value('smoothed frequency [GHz]') ds.add_value('counts') ds.create_file() p_fs = qt.Plot2D(ds, 'r-', name='frequency smoothed', coorddim=0, valdim=1, clear=True) p_cs = qt.Plot2D(ds, 'b-', name='counts smoothed', coorddim=1, valdim=2, clear=True) ds.add_data_point(d.get_data()[:, 0], rolling_avg(d.get_data()[:, 1]), d.get_data()[:, 2]) ds.close_file() pfsave = p_fs pcsave = p_cs if plot_strain_lines: try: from analysis import nvlevels Ey_line = float(raw_input('Ey line?')) #GHz Ex_line = float(raw_input('Ex line?')) #GHz lx, ly = nvlevels.get_ES_ExEy_plottable(Ex_line, Ey_line, max(d.get_data()[:, 2])) pcsave.add(lx, ly) except ValueError: print 'Could not understand input for lines' pass pfsave.save_png() pcsave.save_png() d.close_file() qt.Data.set_filename_generator(data.DateTimeGenerator()) if LT2: MatisseAOM.set_power(0) NewfocusAOM.set_power(0) GreenAOM.set_power(green_before) ins_adwin.set_linescan_var(set_phase_locking_on=0, set_gate_good_phase=0) else: MatisseAOM_lt1.set_power(0) NewfocusAOM_lt1.set_power(0) GreenAOM_lt1.set_power(green_before)
step = _step p_f.update() p_c.update() ins_laser_scan.end_scan() ins_adwin.set_dac_voltage(['green_aom',_before_voltages[0]]) ins_adwin.set_dac_voltage(['newfocus_aom',_before_voltages[1]]) if mw: SMB100.set_status('off') qt.mend() if do_smooth: basepath = d.get_filepath()[:-4] ds = qt.Data() ds.set_filename_generator(data.IncrementalGenerator(basepath)) ds.add_coordinate('voltage [V]') ds.add_value('smoothed frequency [GHz]') ds.add_value('counts') ds.create_file() p_fs = qt.Plot2D(ds, 'rO', name='frequency smoothed', coorddim=0, valdim=1, clear=True) p_cs = qt.Plot2D(ds, 'bO', name='counts smoothed', coorddim=1, valdim=2, clear=True) ds.add_data_point(d.get_data()[:,0], rolling_avg(d.get_data()[:,1]), d.get_data()[:,2]) ds.close_file() p_fs.save_png() p_cs.save_png() else: p_f.save_png()
# Example for how to set an auto-increment filename generator import data gen = data.IncrementalGenerator('tmp/test') qt.Data.set_filename_generator(gen)
def laserscan(ins_laser_scan=ins_laser_scan): ins_laser_scan.set_WavemeterChannel(2) ins_laser_scan.set_CounterChannel(1) ins_laser_scan.set_StartVoltage(start_v) ins_laser_scan.set_StopVoltage(stop_v) ins_laser_scan.set_ScanSteps(steps) ins_laser_scan.set_IntegrationTime(pxtime) ins_running = True step = 0 #_before_voltages = ins_adwin.get_dac_voltages(['green_aom','newfocus_aom']) #FIXME NEED A CONDITION FOR WHEN THE Newfocus IS ONE THE AWG. GreenAOM.set_power(green_before) qt.msleep(1) NewfocusAOM.set_power(red_during) GreenAOM.set_power(green_during) if mw: ins_mw.set_iq('off') ins_mw.set_pulm('off') ins_mw.set_power(mw_power) ins_mw.set_frequency(mw_frq) ins_mw.set_status('on') qt.mstart() qt.Data.set_filename_generator(data.DateTimeGenerator()) d = qt.Data(name=dataname) d.add_coordinate('voltage [V]') d.add_value('frequency [GHz]') d.add_value('counts') d.create_file() p_f = qt.Plot2D(d, 'rO', name='frequency', coorddim=0, valdim=1, clear=True) p_c = qt.Plot2D(d, 'bO', name='counts', coorddim=1, valdim=2, clear=True) # go manually to initial position ins_adwin.set_dac_voltage(('newfocus_frq', start_v)) qt.msleep(1) ins_laser_scan.start_scan() qt.msleep(1) timer_id = gobject.timeout_add(abort_check_time, check_for_abort) while (ins_running): ins_running = not ins_laser_scan.get_TraceFinished() _step = ins_laser_scan.get_CurrentStep() qt.msleep(0.3) if _step > step: _v = ins_laser_scan.get_voltages()[step:_step] _f = ins_laser_scan.get_frequencies()[step:_step] - f_offset _c = ins_laser_scan.get_counts()[step:_step] # print _v,_f,_c if len(_v) == 1: _v = _v[0] _f = _f[0] _c = _c[0] d.add_data_point(_v, _f, _c) step = _step p_f.update() p_c.update() ins_laser_scan.end_scan() gobject.source_remove(timer_id) #ins_adwin.set_dac_voltage(['green_aom',_before_voltages[0]]) #ins_adwin.set_dac_voltage(['newfocus_aom',_before_voltages[1]]) if mw: ins_mw.set_status('off') qt.mend() if do_smooth: basepath = d.get_filepath()[:-4] ds = qt.Data() ds.set_filename_generator(data.IncrementalGenerator(basepath)) ds.add_coordinate('voltage [V]') ds.add_value('smoothed frequency [GHz]') ds.add_value('counts') ds.create_file() p_fs = qt.Plot2D(ds, 'rO', name='frequency smoothed', coorddim=0, valdim=1, clear=True) p_cs = qt.Plot2D(ds, 'bO', name='counts smoothed', coorddim=1, valdim=2, clear=True) ds.add_data_point(d.get_data()[:, 0], rolling_avg(d.get_data()[:, 1]), d.get_data()[:, 2]) ds.close_file() p_fs.save_png() p_cs.save_png() else: p_f.save_png() p_c.save_png() d.close_file() qt.Data.set_filename_generator(data.DateTimeGenerator()) MatisseAOM.set_power(0) NewfocusAOM.set_power(0) GreenAOM.set_power(green_before)
# Temperature monitor script for VTI. Continuously monitors insert and bath temperatures. # Ludo Cornelissen import qt import time import data as d temp_control = qt.instruments.get('temp_control') try: magnet_supply = qt.instruments.get('magnet_supply') except: magnet_supply = None generator = d.IncrementalGenerator( qt.config['datadir'] + '\\' + 'temperaturedata', 1) qt.Data.set_filename_generator(generator) data = qt.Data('') data.add_coordinate('time (s)') data.add_value('Tinsert (K)') data.add_value('Tbath (K)') plotlist = [] plotlist.append(qt.Plot2D(data, name='Insert temperature', coordim=1, valdim=1)) plotlist.append(qt.Plot2D(data, name='Bath temperature', coordim=1, valdim=2)) if magnet_supply is not None: data.add_value('He level (mm)') plotlist.append(qt.Plot2D(data, name='He level', coordim=1, valdim=3))