changing default order of hdf works with node names and displays correct label #310

Merged
dominik merged 1 commits from hdf-label-selection into master 2025-06-03 17:53:49 +00:00
Showing only changes of commit a6f6d274bf - Show all commits

View File

@ -302,15 +302,26 @@ class HdfReader(HdfNode):
def make_signal(self, node, flag: str = 'fid', value: str = None, group: str = None): def make_signal(self, node, flag: str = 'fid', value: str = None, group: str = None):
if value is None: if value is None:
data_name = node.name
value = self._get_parameter_values(node, node.parameter) value = self._get_parameter_values(node, node.parameter)
else: else:
try: try:
data_name = f"{value}={node.parameter[value]}"
value = node.parameter[value] value = node.parameter[value]
except KeyError: except KeyError:
print(node.title_parameter)
try: try:
value = node.title_parameter[1][value] temp = node
while value != temp.title_parameter[0][0]:
if temp.parent is None:
break
temp = temp.parent
value = temp.title_parameter[0][1]
data_name = temp.name
except KeyError: except KeyError:
print(f'{value} is not a valid key for {node.name}') print(f'{value} is not a valid key for {node.name}')
data_name = node.name
value = None value = None
if group is None: if group is None:
@ -343,11 +354,11 @@ class HdfReader(HdfNode):
dw = float(index['dwelltime']) dw = float(index['dwelltime'])
if flag == 'fid': if flag == 'fid':
x = np.arange(len(y)) * dw x = np.arange(len(y)) * dw
ret = FID(x, y, name=node.name, value=value, group=group, filename=self.file.filename) ret = FID(x, y, name=data_name, value=value, group=group, filename=self.file.filename)
elif flag == 'spectrum': elif flag == 'spectrum':
x = np.linspace(-1/dw, 1/dw, num=len(y)) x = np.linspace(-1/dw, 1/dw, num=len(y))
ret = Spectrum(x, y, name=node.name, value=value, group=group, filename=self.file.filename) ret = Spectrum(x, y, name=data_name, value=value, group=group, filename=self.file.filename)
else: else:
raise ValueError(f'{flag} unknown, use `fid` or `spectrum`.') raise ValueError(f'{flag} unknown, use `fid` or `spectrum`.')