Skip to content

Commit

Permalink
automatic phase correction fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
ludwigc committed Dec 9, 2024
1 parent f9f52ff commit a2b2f61
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 6 deletions.
14 changes: 11 additions & 3 deletions metabolabpy/nmr/nmrData.py
Original file line number Diff line number Diff line change
Expand Up @@ -582,9 +582,11 @@ def autophase1d_bl(self, upper_min=10.0, lower_max=-0.5, ref_spc=[], run_compare
if len(ref_spc) == 0:
return

print('autophase1d_bl!!!!!!!')
phase = [0.0, 0.0]
#self.autophase1d()
pars0 = [self.proc.ph0[0], self.proc.ph1[0]]
self.proc_spc1d()
self.auto_ref()
eval_parameters = optimize.minimize(self.autophase1d_bl_fct, phase, method='Powell',
args=(upper_min, lower_max, ref_spc))
Expand All @@ -594,6 +596,7 @@ def autophase1d_bl(self, upper_min=10.0, lower_max=-0.5, ref_spc=[], run_compare
if run_compare:
self.autophase1d1()
self.auto_ref()
self.proc_spc1d()
eval_parameters = optimize.minimize(self.autophase1d_bl_fct, phase, method='Powell',
args=(upper_min, lower_max, ref_spc))

Expand All @@ -609,17 +612,18 @@ def autophase1d_bl(self, upper_min=10.0, lower_max=-0.5, ref_spc=[], run_compare
self.proc.ph0[0] += pars1[0]
self.proc.ph1[0] += pars1[1]

self.auto_ref()
self.proc_spc1d()
print(self.proc.window_type[0])
#print(self.proc.window_type[0])
if self.invert_spc():
self.proc.ph0[0] += 180.0
self.proc.ph0[0] %= 360.0
self.proc.ph0[0] += 180.0
self.proc.ph0[0] %= 360.0
self.proc.ph0[0] -= 180.0

self.proc_spc1d()
self.auto_ref()
self.proc_spc1d()

def autophase1d_bl_fct(self, phase, upper_min=10.0, lower_max=-0.5, ref_spc=[], left_only=False):
if len(ref_spc) == 0:
Expand Down Expand Up @@ -796,6 +800,7 @@ def autophase1d1(self, gamma_factor=1.0):
self.proc.ph0[0] = 0
self.proc.ph1[0] = 0
self.proc_spc1d()
self.auto_ref()
fit_parameters = [0.0, 0.0]
spc = np.copy(self.spc[0])
eval_parameters = optimize.minimize(self.autophase1d_fct, fit_parameters, method='Powell')
Expand Down Expand Up @@ -1031,6 +1036,9 @@ def autopick_hsqc(self, metabolite_list=[]):
# end autopick_hsqc

def auto_ref(self, tmsp=True):
if tmsp == True:
self.ref = 'auto'

if self.ref == 'auto':
if self.acq.o1 == 0:
self.ref_shift[0] = 4.76
Expand Down Expand Up @@ -1065,7 +1073,7 @@ def auto_ref(self, tmsp=True):
npts = len(self.spc[0])
r = np.arange(npts - max(pts), npts - min(pts))
r = np.copy(r[np.where(r < len(self.spc[0]))])
spc = self.spc[0][r].real
spc = np.abs(self.spc[0][r].real)
ref_p = np.where(spc == np.amax(spc))
self.ref_point[0] -= ref_p[0][0] - int((max(pts) - min(pts)) / 2) + 1
else:
Expand Down
8 changes: 5 additions & 3 deletions metabolabpy/nmr/nmrDataSet.py
Original file line number Diff line number Diff line change
Expand Up @@ -128,27 +128,29 @@ def autophase1d_bl(self, upper_min=10.0, lower_max=-0.5):
return

if self.e != ref_spc_no:
self.nmrdat[self.s][ref_spc_no].proc_spc1d()
ref_spc = np.copy(self.nmrdat[self.s][ref_spc_no].spc[0])
self.nmrdat[self.s][self.e].proc.ph0[0] = self.nmrdat[self.s][ref_spc_no].proc.ph0[0]
self.nmrdat[self.s][self.e].proc.ph1[0] = self.nmrdat[self.s][ref_spc_no].proc.ph1[0]
self.nmrdat[self.s][self.e].proc_spc1d()
self.nmrdat[self.s][self.e].auto_ref()
self.nmrdat[self.s][self.e].autophase1d_bl(upper_min, lower_max, ref_spc)
self.auto_ref()
self.nmrdat[self.s][self.e].auto_ref()


def autophase1d_bl_all(self, upper_min=10.0, lower_max=-0.5):
ref_spc_no = self.nmrdat[self.s][0].display.ph_ref_exp - 1
if ref_spc_no == -1:
return

self.nmrdat[self.s][ref_spc_no].proc_spc1d()
ref_spc = np.copy(self.nmrdat[self.s][ref_spc_no].spc[0])
for k in range(len(self.nmrdat[self.s])):
if k != ref_spc_no:
ref_spc = np.copy(self.nmrdat[self.s][ref_spc_no].spc[0])
self.nmrdat[self.s][k].proc.ph0[0] = self.nmrdat[self.s][ref_spc_no].proc.ph0[0]
self.nmrdat[self.s][k].proc.ph1[0] = self.nmrdat[self.s][ref_spc_no].proc.ph1[0]
self.nmrdat[self.s][k].proc_spc1d()
self.nmrdat[self.s][k].auto_ref()
self.nmrdat[self.s][k].proc_spc1d()
self.nmrdat[self.s][k].autophase1d_bl(upper_min, lower_max, ref_spc)
self.nmrdat[self.s][k].auto_ref()

Expand Down

0 comments on commit a2b2f61

Please sign in to comment.