move def get_parent_child_relationships(file: h5py.File) from ..._vis.py to ..._ops.py
This commit is contained in:
@ -196,3 +196,35 @@ def list_datasets_in_hdf5file(hdf5_file_path):
|
|||||||
dataset_df['parent_file'] = dataset_df['dataset_name'].apply(lambda x: x.split('/')[-2])
|
dataset_df['parent_file'] = dataset_df['dataset_name'].apply(lambda x: x.split('/')[-2])
|
||||||
|
|
||||||
return dataset_df
|
return dataset_df
|
||||||
|
|
||||||
|
def get_parent_child_relationships(file: h5py.File):
|
||||||
|
|
||||||
|
nodes = ['/']
|
||||||
|
parent = ['']
|
||||||
|
#values = [file.attrs['count']]
|
||||||
|
# TODO: maybe we should make this more general and not dependent on file_list attribute?
|
||||||
|
#if 'file_list' in file.attrs.keys():
|
||||||
|
# values = [len(file.attrs['file_list'])]
|
||||||
|
#else:
|
||||||
|
# values = [1]
|
||||||
|
values = [len(file.keys())]
|
||||||
|
|
||||||
|
def node_visitor(name,obj):
|
||||||
|
if name.count('/') <=2:
|
||||||
|
nodes.append(obj.name)
|
||||||
|
parent.append(obj.parent.name)
|
||||||
|
#nodes.append(os.path.split(obj.name)[1])
|
||||||
|
#parent.append(os.path.split(obj.parent.name)[1])
|
||||||
|
|
||||||
|
if isinstance(obj,h5py.Dataset):# or not 'file_list' in obj.attrs.keys():
|
||||||
|
values.append(1)
|
||||||
|
else:
|
||||||
|
print(obj.name)
|
||||||
|
try:
|
||||||
|
values.append(len(obj.keys()))
|
||||||
|
except:
|
||||||
|
values.append(0)
|
||||||
|
|
||||||
|
file.visititems(node_visitor)
|
||||||
|
|
||||||
|
return nodes, parent, values
|
@ -13,38 +13,9 @@ from plotly.subplots import make_subplots
|
|||||||
import plotly.graph_objects as go
|
import plotly.graph_objects as go
|
||||||
import plotly.express as px
|
import plotly.express as px
|
||||||
#import plotly.io as pio
|
#import plotly.io as pio
|
||||||
|
from hdf5_ops import get_parent_child_relationships
|
||||||
|
|
||||||
def get_parent_child_relationships(file: h5py.File):
|
|
||||||
|
|
||||||
nodes = ['/']
|
|
||||||
parent = ['']
|
|
||||||
#values = [file.attrs['count']]
|
|
||||||
# TODO: maybe we should make this more general and not dependent on file_list attribute?
|
|
||||||
#if 'file_list' in file.attrs.keys():
|
|
||||||
# values = [len(file.attrs['file_list'])]
|
|
||||||
#else:
|
|
||||||
# values = [1]
|
|
||||||
values = [len(file.keys())]
|
|
||||||
|
|
||||||
def node_visitor(name,obj):
|
|
||||||
if name.count('/') <=2:
|
|
||||||
nodes.append(obj.name)
|
|
||||||
parent.append(obj.parent.name)
|
|
||||||
#nodes.append(os.path.split(obj.name)[1])
|
|
||||||
#parent.append(os.path.split(obj.parent.name)[1])
|
|
||||||
|
|
||||||
if isinstance(obj,h5py.Dataset):# or not 'file_list' in obj.attrs.keys():
|
|
||||||
values.append(1)
|
|
||||||
else:
|
|
||||||
print(obj.name)
|
|
||||||
try:
|
|
||||||
values.append(len(obj.keys()))
|
|
||||||
except:
|
|
||||||
values.append(0)
|
|
||||||
|
|
||||||
file.visititems(node_visitor)
|
|
||||||
|
|
||||||
return nodes, parent, values
|
|
||||||
|
|
||||||
def display_group_hierarchy_on_a_treemap(filename: str):
|
def display_group_hierarchy_on_a_treemap(filename: str):
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user