def loadOneDotPinchvalues(od, outputdir, verbose=1): """ Load the pinch-off values for a one-dot Arguments --------- od : dict one-dot structure outputdir : string location of the data """ print('analyse data for 1-dot: %s' % od['name']) gg = od['gates'] pv = np.zeros((3, 1)) for ii, g in enumerate(gg): basename = pinchoffFilename(g, od=None) pfile = os.path.join(outputdir, 'one_dot', basename) alldata, _ = loadDataset(pfile) if alldata is None: raise Exception('could not load file %s' % pfile) adata = analyseGateSweep(alldata, fig=None, minthr=None, maxthr=None, verbose=1) if verbose: print('loadOneDotPinchvalues: pinchvalue for gate %s: %.1f' % (g, adata['pinchoff_point'])) pv[ii] = adata['pinchoff_point'] od['pinchvalues'] = pv return od
def test_analyseGateSweep(self, fig=None, verbose=0): x = np.arange(-800, 0, 1) # mV y = logistic(x, x0=-400, alpha=.05) data_set = makeDataSet1Dplain('plunger', x, 'current', y) result = analyseGateSweep(data_set, fig=fig, verbose=verbose) self.assertAlmostEqual(result['_pinchvalueX'], -450.0) self.assertAlmostEqual(result['lowvalue'], 9.445888759986548e-18, 6) self.assertAlmostEqual(result['highvalue'], 0.9999999999999998, 6) self.assertAlmostEqual(result['midvalue'], 0.29999999999999993, 6) self.assertEqual(result['type'], 'gatesweep') if fig: plot_pinchoff(result, ds=data_set, fig=fig) plt.close('all')
scanjob.add_sweep(param_right, start=start, end=start + 400, step=4., wait_time=0.) scanjob.add_sweep(param_left, start=start, end=start + 400, step=5) scanjob.add_minstrument(['keithley1.amplitude']) data = qtt.measurements.scans.scan2D(station, scanjob) gates.set(param_right, -300) gates.set(param_left, -300) gv = gates.allvalues() #%% Fit 1D pinch-off scan: adata = analyseGateSweep(data1d, fig=100) #%% Fit 2D cross try: from projects.autotune4dot.autotuning import analyse2dot qtt.measurements.scans.plotData(data, fig=30) pt, resultsfine = analyse2dot(data, fig=300, efig=400, istep=1, verbose=2) except: pass #%% Make virtual gates np.set_printoptions(precision=2, suppress=True) crosscap_map = OrderedDict( (('VP1', OrderedDict((('P1', 1), ('P2', 0.56), ('P3', 0.15)))),