Skip to content
Snippets Groups Projects
Commit f1aba90c authored by Alán Muñoz's avatar Alán Muñoz
Browse files

refactor(signal): simplify syntax

parent 2de065f5
No related branches found
No related tags found
No related merge requests found
...@@ -241,7 +241,7 @@ class Signal(BridgeH5): ...@@ -241,7 +241,7 @@ class Signal(BridgeH5):
try: try:
if isinstance(dataset, str): if isinstance(dataset, str):
with h5py.File(self.filename, "r") as f: with h5py.File(self.filename, "r") as f:
df = self.dset_to_df(f, dataset) df = self.dataset_to_df(f, dataset)
if in_minutes: if in_minutes:
df = self.cols_in_mins(df) df = self.cols_in_mins(df)
return df return df
...@@ -269,8 +269,8 @@ class Signal(BridgeH5): ...@@ -269,8 +269,8 @@ class Signal(BridgeH5):
else: else:
return None return None
def dset_to_df(self, f, dataset): def dataset_to_df(self, f: h5py.File, path: str):
dset = f[dataset] dset = f[path]
index_names = copy(self.index_names) index_names = copy(self.index_names)
valid_names = [lbl for lbl in index_names if lbl in dset.keys()] valid_names = [lbl for lbl in index_names if lbl in dset.keys()]
...@@ -278,34 +278,37 @@ class Signal(BridgeH5): ...@@ -278,34 +278,37 @@ class Signal(BridgeH5):
[dset[lbl] for lbl in valid_names], names=valid_names [dset[lbl] for lbl in valid_names], names=valid_names
) )
columns = ( columns = dset.attrs.get("columns", None) # dset.attrs["columns"]
dset["timepoint"][()] if "timepoint" in dset:
if "timepoint" in dset columns = f[path + "/timepoint"][()]
else dset.attrs["columns"]
)
df = pd.DataFrame(dset[("values")][()], index=index, columns=columns)
return df return pd.DataFrame(
f[path + "/values"][()],
index=index,
columns=columns,
)
@property @property
def stem(self): def stem(self):
return self.filename.stem return self.filename.stem
@staticmethod # def dataset_to_df(self, f: h5py.File, path: str):
def dataset_to_df(f: h5py.File, path: str):
all_indices = ["experiment", "position", "trap", "cell_label"] # all_indices = self.index_names
indices = {
k: f[path][k][()] for k in all_indices if k in f[path].keys() # valid_indices = {
} # k: f[path][k][()] for k in all_indices if k in f[path].keys()
return pd.DataFrame( # }
f[path + "/values"][()],
index=pd.MultiIndex.from_arrays( # new_index = pd.MultiIndex.from_arrays(
list(indices.values()), names=indices.keys() # list(valid_indices.values()), names=valid_indices.keys()
), # )
columns=f[path + "/timepoint"][()],
) # return pd.DataFrame(
# f[path + "/values"][()],
# index=new_index,
# columns=f[path + "/timepoint"][()],
# )
def get_siglist(self, name: str, node): def get_siglist(self, name: str, node):
fullname = node.name fullname = node.name
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment