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, ..]
Exemple #2
0
 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()
Exemple #6
0
# 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))