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

View File

@ -302,15 +302,26 @@ class HdfReader(HdfNode):
def make_signal(self, node, flag: str = 'fid', value: str = None, group: str = None):
if value is None:
data_name = node.name
value = self._get_parameter_values(node, node.parameter)
else:
try:
data_name = f"{value}={node.parameter[value]}"
value = node.parameter[value]
except KeyError:
print(node.title_parameter)
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:
print(f'{value} is not a valid key for {node.name}')
data_name = node.name
value = None
if group is None:
@ -343,11 +354,11 @@ class HdfReader(HdfNode):
dw = float(index['dwelltime'])
if flag == 'fid':
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':
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:
raise ValueError(f'{flag} unknown, use `fid` or `spectrum`.')