Skip to content
Snippets Groups Projects
Commit b3dc2153 authored by Baptiste Bauvin's avatar Baptiste Bauvin
Browse files

Feat ids

parent 0ff03150
No related branches found
No related tags found
No related merge requests found
...@@ -14,7 +14,7 @@ from .organization import secure_file_path ...@@ -14,7 +14,7 @@ from .organization import secure_file_path
of SuMMIT''' of SuMMIT'''
class Dataset(): class Dataset:
""" """
This is the base class for all the type of multiview datasets of SuMMIT. This is the base class for all the type of multiview datasets of SuMMIT.
""" """
...@@ -165,11 +165,9 @@ class Dataset(): ...@@ -165,11 +165,9 @@ class Dataset():
return selected_label_names return selected_label_names
def gen_feat_id(self): def gen_feat_id(self, view_ind):
self.feature_ids = [["ID_" + str(i) for i in self.feature_ids[view_ind] = ["ID_" + str(i) for i in
range(self.get_v(view_ind).shape[1])] range(self.get_v(view_ind).shape[1])]
for view_ind in self.view_dict.values()]
class RAMDataset(Dataset): class RAMDataset(Dataset):
...@@ -193,13 +191,14 @@ class RAMDataset(Dataset): ...@@ -193,13 +191,14 @@ class RAMDataset(Dataset):
self.name = name self.name = name
self.nb_view = len(self.views) self.nb_view = len(self.views)
self.is_temp = False self.is_temp = False
self.feature_ids = [_ for _ in range(self.nb_view)]
for view_ind in range(self.nb_view):
if feature_ids is not None: if feature_ids is not None:
feature_ids = [[feature_id if not is_just_number(feature_id) self.feature_ids[view_ind] = [feature_id if not is_just_number(feature_id)
else "ID_" + feature_id for feature_id in else "ID_" + feature_id for feature_id in
feat_ids] for feat_ids in feature_ids] feature_ids[view_ind]]
self.feature_ids = feature_ids
else: else:
self.gen_feat_id() self.gen_feat_id(view_ind)
def get_view_name(self, view_idx): def get_view_name(self, view_idx):
return self.view_names[view_idx] return self.view_names[view_idx]
...@@ -377,14 +376,15 @@ class HDF5Dataset(Dataset): ...@@ -377,14 +376,15 @@ class HDF5Dataset(Dataset):
else: else:
self.sample_ids = ["ID_" + str(i) self.sample_ids = ["ID_" + str(i)
for i in range(labels.shape[0])] for i in range(labels.shape[0])]
self.feature_ids = [_ for _ in range(self.nb_view)]
for view_index in range(self.nb_view):
if feature_ids is not None: if feature_ids is not None:
feature_ids = [[feature_id if not is_just_number(feature_id) feat_ids = [feature_id if not is_just_number(feature_id)
else "ID_" + feature_id for feature_id in else "ID_" + feature_id for feature_id in
feat_ids] for feat_ids in feature_ids] feature_ids[view_index]]
self.feature_ids = feature_ids self.feature_ids = feat_ids
else: else:
self.gen_feat_id() self.gen_feat_id(view_index)
def get_v(self, view_index, sample_indices=None): def get_v(self, view_index, sample_indices=None):
""" Extract the view and returns a numpy.ndarray containing the description """ Extract the view and returns a numpy.ndarray containing the description
...@@ -443,6 +443,7 @@ class HDF5Dataset(Dataset): ...@@ -443,6 +443,7 @@ class HDF5Dataset(Dataset):
""" """
self.nb_view = self.dataset["Metadata"].attrs["nbView"] self.nb_view = self.dataset["Metadata"].attrs["nbView"]
self.feature_ids = [_ for _ in range(self.nb_view)]
self.view_dict = self.get_view_dict() self.view_dict = self.get_view_dict()
self.view_names = [self.dataset["View{}".format(ind)].attrs['name'] for ind in range(self.nb_view)] self.view_names = [self.dataset["View{}".format(ind)].attrs['name'] for ind in range(self.nb_view)]
if "sample_ids" in self.dataset["Metadata"].keys(): if "sample_ids" in self.dataset["Metadata"].keys():
...@@ -454,14 +455,14 @@ class HDF5Dataset(Dataset): ...@@ -454,14 +455,14 @@ class HDF5Dataset(Dataset):
else: else:
self.sample_ids = ["ID_" + str(i) for i in self.sample_ids = ["ID_" + str(i) for i in
range(self.dataset["Labels"].shape[0])] range(self.dataset["Labels"].shape[0])]
if "feature_ids" in self.dataset["Metadata"].keys(): for view_index in range(self.nb_view):
self.feature_ids = [[feature_id.decode() if "feature_ids-View{}".format(view_index) in self.dataset["Metadata"].keys():
self.feature_ids[view_index] = [feature_id.decode()
if not is_just_number(feature_id.decode()) if not is_just_number(feature_id.decode())
else "ID_" + feature_id.decode() else "ID_" + feature_id.decode()
for feature_id in feature_ids] for feature_ids in for feature_id in self.dataset["Metadata"]["feature_ids-View{}".format(view_index)]]
self.dataset["Metadata"]["feature_ids"]]
else: else:
self.gen_feat_id() self.gen_feat_id(view_index)
def get_nb_samples(self): def get_nb_samples(self):
""" """
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment