Skip to content

Commit

Permalink
Merge branch 'main' into 2D_I_GUI
Browse files Browse the repository at this point in the history
  • Loading branch information
HKaras authored May 28, 2024
2 parents 7856868 + 5266196 commit 5cd933f
Show file tree
Hide file tree
Showing 8 changed files with 35 additions and 28 deletions.
2 changes: 1 addition & 1 deletion autodeer/FieldSweep.py
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ def __init__(self, dataset:DataArray) -> None:
self.axis = dataset['X']

self.data = dataset
self.data.epr.correctphasefull
self.data = self.data.epr.correctphasefull

if 'LO' in dataset.attrs:
self.LO = dataset.attrs['LO']
Expand Down
4 changes: 2 additions & 2 deletions autodeer/Relaxation.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ def __init__(self, dataset, sequence: Sequence = None) -> None:
else:
self.axis = dataset['X']

dataset.epr.correctphasefull
dataset = dataset.epr.correctphasefull
self.data = dataset.data
self.dataset = dataset
# if sequence is None and hasattr(dataset,'sequence'):
Expand Down Expand Up @@ -363,7 +363,7 @@ def __init__(self, dataset, sequence: Sequence = None) -> None:
self.axis.append(dataset['Xt'])
self.axis.append(dataset['Yt'])

dataset.epr.correctphasefull
dataset = dataset.epr.correctphasefull
self.data = dataset.data
self.dataset = dataset

Expand Down
3 changes: 2 additions & 1 deletion autodeer/classes.py
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,8 @@ def terminate_at(self, criterion, test_interval=2, keep_running=True, verbosity=
try:
# nAvgs = data.num_scans.value
nAvgs = data.attrs['nAvgs']
except AttributeError:

except AttributeError or KeyError:
self.log.warning("WARNING: Dataset missing number of averages(nAvgs)!")
nAvgs = 1
finally:
Expand Down
2 changes: 1 addition & 1 deletion autodeer/colors.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
primary_colors=['#D95B6F','#42A399','E1AE38']
primary_colors=['#D95B6F','#42A399','#E1AE38']
ReIm_colors = ['#D61B00','#00BBD6']
shade_colors=[]
12 changes: 6 additions & 6 deletions autodeer/dataset.py
Original file line number Diff line number Diff line change
Expand Up @@ -173,13 +173,13 @@ def save(self, filename,type='netCDF'):

@property
def correctphase(self):

new_obj = copy.deepcopy(self._obj)
if np.iscomplexobj(self._obj.data):
corr_data = correctphase(self._obj.data)
self._obj.data = corr_data
new_obj.data = corr_data
else:
UserWarning("Data is not complex, phase correction not applied")
return self._obj
return new_obj

@property
def normalise(self):
Expand All @@ -188,13 +188,13 @@ def normalise(self):

@property
def correctphasefull(self):

new_obj = copy.deepcopy(self._obj)
if np.iscomplexobj(self._obj.data):
Re,Im,_ = correctphase(self._obj.data,full_output=True)
self._obj.data = Re + 1j*Im
new_obj.data = Re + 1j*Im
else:
UserWarning("Data is not complex, phase correction not applied")
return self._obj
return new_obj

@property
def SNR(self):
Expand Down
14 changes: 7 additions & 7 deletions autodeer/gui/autoDEER_worker.py
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ def __init__(self, interface, wait:QtCore.QWaitCondition, mutex:QtCore.QMutex,pu
self.stop_flag = False
self.quick_deer_state = True

self.max_tau = 5
self.max_tau = 3.5

if (self.project is None) or (self.project == ''):
def savename(exp, suffix=""):
Expand Down Expand Up @@ -190,7 +190,7 @@ def run_CP_relax(self,dt=200):
gyro = self.gyro
reptime = self.reptime
relax = DEERSequence(
B=LO/gyro, LO=LO,reptime=reptime,averages=10,shots=int(10*self.noise_mode),
B=LO/gyro, LO=LO,reptime=reptime,averages=10,shots=int(20*self.noise_mode),
tau1=0.5, tau2=0.5, tau3=0.2, dt=15,
exc_pulse=self.pulses['exc_pulse'], ref_pulse=self.pulses['ref_pulse'],
pump_pulse=self.pulses['pump_pulse'], det_event=self.pulses['det_event']
Expand All @@ -217,7 +217,7 @@ def run_T2_relax(self,dt=60):
reptime = self.reptime

seq = T2RelaxationSequence(
B=LO/gyro, LO=LO,reptime=reptime,averages=10,shots=int(20*self.noise_mode),
B=LO/gyro, LO=LO,reptime=reptime,averages=10,shots=int(40*self.noise_mode),
step=dt,dim=200,pi2_pulse=self.pulses['exc_pulse'],
pi_pulse=self.pulses['ref_pulse'], det_event=self.pulses['det_event'])

Expand All @@ -236,12 +236,12 @@ def run_2D_relax(self):
reptime = self.reptime

seq = RefocusedEcho2DSequence(
B=LO/gyro, LO=LO,reptime=reptime,averages=10,shots=int(20*self.noise_mode),
B=LO/gyro, LO=LO,reptime=reptime,averages=10,shots=int(50*self.noise_mode),
tau=self.max_tau, pi2_pulse=self.pulses['exc_pulse'],
pi_pulse=self.pulses['ref_pulse'], det_event=self.pulses['det_event'])

self.interface.launch(seq,savename=self.savename("2D_DEC"),IFgain=2)
self.interface.terminate_at(SNRCriteria(10),test_interval=0.5)
self.interface.terminate_at(SNRCriteria(30),test_interval=0.5)
while self.interface.isrunning():
time.sleep(self.updaterate)
self.signals.Relax2D_result.emit(self.interface.acquire_dataset())
Expand Down Expand Up @@ -388,11 +388,11 @@ def _build_methods(self):

if (seq is None) or (seq == '5pDEER'):
methods.append(self.run_CP_relax)
methods.append(self.run_T2_relax)
elif (seq == '4pDEER') or (seq == 'Ref2D'):
methods.append(self.run_CP_relax)
methods.append(self.run_T2_relax)
methods.append(self.run_2D_relax)

methods.append(self.run_T2_relax)

if seq == 'Ref2D':
return methods
Expand Down
4 changes: 2 additions & 2 deletions autodeer/hardware/Bruker_AWG.py
Original file line number Diff line number Diff line change
Expand Up @@ -253,7 +253,7 @@ def tune_rectpulse(self,*,tp, LO, B, reptime, shots=400):
while self.isrunning():
time.sleep(10)
dataset = self.acquire_dataset()
dataset.epr.correctphase
dataset = dataset.epr.correctphase

data = np.abs(dataset.data)
scale = np.around(dataset.pulse0_scale[data.argmax()].data,2)
Expand Down Expand Up @@ -358,7 +358,7 @@ def tune_pulse(self, pulse, mode, LO, B , reptime, shots=400):
while self.isrunning():
time.sleep(10)
dataset = self.acquire_dataset()
dataset.epr.correctphase
dataset = dataset.epr.correctphase
data = dataset.data
axis = dataset.pulse0_scale
# data = correctphase(dataset.data)
Expand Down
22 changes: 14 additions & 8 deletions autodeer/hardware/ETH_awg.py
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ def acquire_dataset(self,verbosity=0):
if self.bg_data is None:
data = self.acquire_dataset_from_matlab(verbosity=verbosity)
else:
data = create_dataset_from_sequence(self.bg_data, self.cur_exp)
data = self.bg_data

return super().acquire_dataset(data)

Expand Down Expand Up @@ -152,6 +152,10 @@ def extract_date_time(str):
data = uwb_eval_match(Matfile, exp,verbosity=verbosity,filter_type='cheby2',filter_width=0.01)
else:
data = uwb_eval_match(Matfile, exp,verbosity=verbosity)

if np.all(data.data == 0+0j):
time.sleep(10)
continue
except OSError:
time.sleep(10)
except IndexError:
Expand Down Expand Up @@ -254,10 +258,11 @@ def launch_long(self, sequence , savename: str, IFgain: int = 0, axID=-1):
for item in p.dim:
dim.append(item)
self.cur_exp = sequence
init_data = np.zeros(dim,dtype=np.complex128)
self.bg_data = create_dataset_from_sequence(init_data,self.cur_exp,extra_params={'nAvgs':0})

self.stop_flag = threading.Event()
self.bg_thread = threading.Thread(target=bg_thread,args=[self,sequence,savename,IFgain,axID,self.stop_flag])
self.bg_data = np.zeros(dim,dtype=np.complex128)

self.bg_thread.start()
log.debug('Background thread starting')

Expand Down Expand Up @@ -318,7 +323,7 @@ def tune_rectpulse(self,*,tp, LO, B, reptime, shots=400):
while self.isrunning():
time.sleep(10)
dataset = self.acquire_dataset()
dataset.epr.correctphase
dataset = dataset.epr.correctphase

data = np.abs(dataset.data)
scale = np.around(dataset.pulse0_scale[data.argmax()].data,2)
Expand Down Expand Up @@ -467,7 +472,7 @@ def tune_pulse(self, pulse, mode, LO, B , reptime, shots=400):
while self.isrunning():
time.sleep(10)
dataset = self.acquire_dataset()
dataset.epr.correctphase
dataset = dataset.epr.correctphase
data = dataset.data
axis = dataset.pulse0_scale
# data = correctphase(dataset.data)
Expand Down Expand Up @@ -810,7 +815,7 @@ def terminate(self):
self.engine.dig_interface('terminate', nargout=0)
self.stop_flag.set()
self.bg_thread = None
self.bg_data = None

pass


Expand Down Expand Up @@ -879,7 +884,7 @@ def set_params_by_uuid(new_seq, progTable,uuid,index):
while bool(interface.engine.dig_interface('savenow')):
if stop_flag.is_set():
break
time.sleep(1)
time.sleep(10)

if reduced:
single_scan_data = interface.acquire_dataset_from_matlab(cur_exp=tmp_seq).data
Expand All @@ -888,4 +893,5 @@ def set_params_by_uuid(new_seq, progTable,uuid,index):

if stop_flag.is_set():
break
interface.bg_data += single_scan_data
interface.bg_data.data += single_scan_data
interface.bg_data.attrs['nAvgs'] = iavg+1

0 comments on commit 5cd933f

Please sign in to comment.