From f33643955bccd3c406e719539382ae03c65d383f Mon Sep 17 00:00:00 2001 From: Dominik Demuth Date: Thu, 23 Jan 2025 18:11:45 +0000 Subject: [PATCH] 304-fitparameter (#305) fixes #304 Co-authored-by: Dominik Demuth Reviewed-on: https://gitea.pkm.physik.tu-darmstadt.de/IPKM/nmreval/pulls/305 --- src/gui_qt/io/asciireader.py | 2 +- src/nmreval/io/asciireader.py | 11 ++++++----- src/nmreval/models/diffusion.py | 2 +- src/nmreval/models/relaxation.py | 4 ++-- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/gui_qt/io/asciireader.py b/src/gui_qt/io/asciireader.py index 5fb765b..924bcec 100644 --- a/src/gui_qt/io/asciireader.py +++ b/src/gui_qt/io/asciireader.py @@ -133,7 +133,7 @@ class QAsciiReader(QtWidgets.QDialog, Ui_ascii_reader): if self.column_checkBox.isChecked() and self.line_spinBox.isEnabled(): header_line = self.reader.header[self.line_spinBox.value()-1] header_line = header_line.strip('\n\t\r, ') - header_line = re.sub(r'[\t ;,]+', ';', header_line) + header_line = re.sub(r'[\t, ;]+(?!\w*})', ';', header_line) self.ascii_table.setHorizontalHeaderLabels(header_line.split(';')) diff --git a/src/nmreval/io/asciireader.py b/src/nmreval/io/asciireader.py index 6a31318..ccbb0f7 100644 --- a/src/nmreval/io/asciireader.py +++ b/src/nmreval/io/asciireader.py @@ -49,7 +49,7 @@ class AsciiReader: with self.fname.open('r') as f: for i, line in enumerate(islice(f, len(self.header)+len(self.lines), num_lines)): line = line.strip('\n\t\r, ') - line = re.sub(r'[\t ;,]+', ';', line) + line = re.sub(r'[\t, ;]+(?!\w*})', ';', line) line = line.split(';') try: @@ -146,10 +146,11 @@ class AsciiReader: raw_data = raw_data.reshape((1, *raw_data.shape)) if len(x) == 0 or raw_data.shape[2] == 1: - _temp = np.zeros((raw_data.shape[0], raw_data.shape[1], raw_data.shape[2]+1)) - _temp[:, :, 0] = np.arange(raw_data.shape[1]) - _temp[:, :, 1:] = raw_data - raw_data = _temp + raw_data = raw_data.reshape(raw_data.shape[0], raw_data.shape[2], raw_data.shape[1]) + # _temp = np.zeros((raw_data.shape[0], raw_data.shape[2], raw_data.shape[1])) + # _temp[:, :, 0] = np.arange(raw_data.shape[1]) + # _temp[:, :, 1:] = raw_data + # raw_data = _temp if y: y = [i+1 for i in y] diff --git a/src/nmreval/models/diffusion.py b/src/nmreval/models/diffusion.py index f99e97a..b84d08e 100644 --- a/src/nmreval/models/diffusion.py +++ b/src/nmreval/models/diffusion.py @@ -116,7 +116,7 @@ class Peschier: name = 'Diffusion + Cross-Relaxation' type = 'Diffusion' equation = r'Diffusion with cross-relax f(ast) \rightarrow s(low)' - params = ['M_{0}', 'D', 'T_{1,f}', 'T_{1,s}', 'k', 'p_{f}', 't_{ev}', 'g'] + params = ['M_{0}', 'D', 'T_{1f}', 'T_{1s}', 'k', 'p_{f}', 't_{ev}', 'g'] bounds = [(0, None), (0, None), (0, None), (0, None), (0, None), (0, None)] choices = [(r'\gamma', 'nucleus', gamma)] diff --git a/src/nmreval/models/relaxation.py b/src/nmreval/models/relaxation.py index f92e2fa..81e0165 100644 --- a/src/nmreval/models/relaxation.py +++ b/src/nmreval/models/relaxation.py @@ -75,7 +75,7 @@ class TwoSatRecAbsolute: type = 'Relaxation' name = 'Two-step relaxation (abs. int)' equation = r'M_{0} + \Sigma \DeltaM_{i}(1-exp(-(x/T_{1,i})^{\beta_{i}}))' - params = [r'\DeltaM_{1}', 'T_{1,1}', r'\beta_{1}', r'\DeltaM_{2}', 'T_{1,2}', r'\beta_{2}', 'M_{0}'] + params = [r'\DeltaM_{1}', 'T_{11}', r'\beta_{1}', r'\DeltaM_{2}', 'T_{12}', r'\beta_{2}', 'M_{0}'] choices = [('Type', 'is_inv', {'Saturation': False, 'Inversion': True})] bounds = [(0, None), (0, None), (0, 1), (0, None), (0, None), (0, 1), (None, None)] @@ -92,7 +92,7 @@ class TwoSatRecRelative: name = 'Two-step relaxation (rel. int)' equation = r'M_{0} + \DeltaM[R(1-exp(-(x/T_{1,1})^{\beta_{1}})) + \n'\ r'(1-R)(1-exp(-(x/T_{1,2})^{\beta_{2}}))]' - params = [r'\DeltaM', 'M_{0}', 'T_{1,1}', r'\beta_{1}', 'T_{1,2}', r'\beta_{2}', 'R'] + params = [r'\DeltaM', 'M_{0}', 'T_{11}', r'\beta_{1}', 'T_{12}', r'\beta_{2}', 'R'] choices = [('Type', 'kind', {'Saturation': 'sat', 'Inversion': 'inv'})] bounds = [(0, None), (None, None), (0, None), (0, 1), (0, None), (0, 1), (0, 1)]