
Gather files that satisfy a given condition
[ ]:
[13]:
start_time = time.time()
# condition
label_is_pipefittings = lambda ds: ds['face_labels'] == 15
filelist = explorer.get_file_list(group="Labels", where=label_is_pipefittings)
print(f"Filtering completed in {(time.time() - start_time):.2f} seconds")
print(f"Found {len(filelist)} files with face_labels == 15 (chamfer)\n")
print(filelist)
Filtering completed in 0.05 seconds
Found 2088 files with face_labels == 15 (chamfer)
[ 0 2 3 ... 9984 9986 9987]
Query data for single file
[14]:
def demo_query_single_file(explorer, file_id):
"""Show how to access and query dataset details for a single file."""
print("=== Single File Dataset Access ===")
import time
# Get and print parquet info
df_info = explorer.get_parquet_info_by_code(file_id)
print("File info:")
for column in df_info.columns:
print(f"Column: {column}")
for value in df_info[column]:
print(f" {value}")
print()
# Access various dataset groups
datasets = {grp: explorer.file_dataset(file_id_code=file_id, group=grp) for grp in groups}
print(f"Datasets for file ID '{file_id}':")
for grp, ds in datasets.items():
for name, da in ds.data_vars.items():
print(f" [{grp}] VARIABLE: {name}, Shape: {da.shape}, Dims: {da.dims}, Size: {da.size}")
print()
# Query face discretization data for a specific face
start_time = time.time()
face_discretization_data = datasets["faces"]["face_discretization"].isel(face=2)
print("Face discretization data for face index 2:")
np_face_discretization = face_discretization_data.data.compute()
print(f"Query took {(time.time() - start_time):.2f} seconds\n")
[15]:
demo_query_single_file(explorer,file_id=4500)
=== Single File Dataset Access ===
File info:
Column: name
7369dda24b8737152ef738380c3f76c9_0
Column: id
4500
Column: description
C:\Users\LuisSalazar.LY-LS-LEGION\Documents\data\Cadsynth_aag\step\00027023.stp
Column: subset
N/A
Column: table_name
file_info
Datasets for file ID '4500':
[edges] VARIABLE: edge_convexities, Shape: (92,), Dims: ('edge',), Size: 92
[edges] VARIABLE: edge_dihedral_angles, Shape: (92,), Dims: ('edge',), Size: 92
[edges] VARIABLE: edge_indices, Shape: (92,), Dims: ('edge',), Size: 92
[edges] VARIABLE: edge_lengths, Shape: (92,), Dims: ('edge',), Size: 92
[edges] VARIABLE: edge_types, Shape: (92,), Dims: ('edge',), Size: 92
[edges] VARIABLE: edge_u_grids, Shape: (92, 5, 6), Dims: ('edge', 'u', 'component'), Size: 2760
[edges] VARIABLE: file_id_code_edges, Shape: (92,), Dims: ('edge',), Size: 92
[graph] VARIABLE: edges_destination, Shape: (92,), Dims: ('edge',), Size: 92
[graph] VARIABLE: edges_source, Shape: (92,), Dims: ('edge',), Size: 92
[graph] VARIABLE: file_id_code_graph, Shape: (92,), Dims: ('edge',), Size: 92
[graph] VARIABLE: num_nodes, Shape: (92,), Dims: ('edge',), Size: 92
[faces] VARIABLE: face_areas, Shape: (34,), Dims: ('face',), Size: 34
[faces] VARIABLE: face_centroids, Shape: (34, 3), Dims: ('face', 'dim'), Size: 102
[faces] VARIABLE: face_discretization, Shape: (34, 25, 7), Dims: ('face', 'sample', 'component'), Size: 5950
[faces] VARIABLE: face_indices, Shape: (34,), Dims: ('face',), Size: 34
[faces] VARIABLE: face_loops, Shape: (34,), Dims: ('face',), Size: 34
[faces] VARIABLE: face_neighborscount, Shape: (34,), Dims: ('face',), Size: 34
[faces] VARIABLE: face_types, Shape: (34,), Dims: ('face',), Size: 34
[faces] VARIABLE: file_id_code_faces, Shape: (34,), Dims: ('face',), Size: 34
[faceface] VARIABLE: a3_distance, Shape: (1156, 64), Dims: ('facepair', 'bin'), Size: 73984
[faceface] VARIABLE: d2_distance, Shape: (1156, 64), Dims: ('facepair', 'bin'), Size: 73984
[faceface] VARIABLE: extended_adjacency, Shape: (1156,), Dims: ('facepair',), Size: 1156
[faceface] VARIABLE: face_pair_edges_path, Shape: (1156, 32), Dims: ('facepair', 'dim_path'), Size: 36992
[faceface] VARIABLE: file_id_code_faceface, Shape: (1156,), Dims: ('facepair',), Size: 1156
[Labels] VARIABLE: face_labels, Shape: (34,), Dims: ('faces',), Size: 34
[Labels] VARIABLE: file_id_code_Labels, Shape: (34,), Dims: ('faces',), Size: 34
Face discretization data for face index 2:
Query took 0.06 seconds
[ ]: