Skip to content

Commit

Permalink
dataset correctphase update
Browse files Browse the repository at this point in the history
correctphase returns a new object not correcting the old object
  • Loading branch information
HKaras committed May 13, 2024
1 parent 8c6817f commit 571b5c6
Show file tree
Hide file tree
Showing 8 changed files with 31 additions and 25 deletions.
2 changes: 1 addition & 1 deletion autodeer/FieldSweep.py
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,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 @@ -32,7 +32,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 @@ -362,7 +362,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
2 changes: 1 addition & 1 deletion autodeer/classes.py
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ 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:
print("WARNING: Dataset missing number of averages(nAvgs)!")
nAvgs = 1
finally:
Expand Down
12 changes: 6 additions & 6 deletions autodeer/dataset.py
Original file line number Diff line number Diff line change
Expand Up @@ -174,13 +174,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 @@ -189,13 +189,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
6 changes: 3 additions & 3 deletions autodeer/gui/autoDEER_worker.py
Original file line number Diff line number Diff line change
Expand Up @@ -241,7 +241,7 @@ def run_2D_relax(self):
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
10 changes: 7 additions & 3 deletions autodeer/gui/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -691,10 +691,15 @@ def create_relax_figure(self):

def refresh_relax_figure(self):


if 'relax2D' in self.current_results:
if isinstance(self.relax_ax, np.ndarray):
self.relax_ax[0].cla()
self.relax_ax[1].cla()
else:
self.relax_ax.cla()


if 'relax2D' in self.current_results:

fig, axs = plt.subplots(2,1,figsize=(12.5, 6.28),layout='constrained',height_ratios=[2,1])
relax_canvas = FigureCanvas(fig)
self.relax_canvas.figure.clear()
Expand All @@ -705,7 +710,6 @@ def refresh_relax_figure(self):
self.current_results['relax2D'].plot2D(axs=self.relax_ax[0],fig=fig)
self.current_results['relax2D'].plot1D(axs=self.relax_ax[1],fig=fig)
else:
self.relax_ax.cla()
fig = self.relax_canvas.figure
axs = self.relax_ax
relax1D_results = []
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
16 changes: 9 additions & 7 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 @@ -254,10 +254,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 +319,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 +468,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 +811,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 @@ -888,4 +889,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 571b5c6

Please sign in to comment.