Skip to content

Commit ff2e22e

Browse files
committed
fix: use registered attributes module
1 parent 37f7d84 commit ff2e22e

4 files changed

Lines changed: 31 additions & 19 deletions

File tree

pychunkedgraph/graph/chunkedgraph.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -672,7 +672,7 @@ def get_subgraph_leaves(
672672
self, node_id_or_ids, bbox, bbox_is_coordinate, False, True
673673
)
674674

675-
def get_edited_edges(
675+
def get_edges_from_edits(
676676
self, chunk_ids: np.ndarray, time_stamp: datetime.datetime = None
677677
) -> typing.Dict:
678678
"""
@@ -748,7 +748,7 @@ def get_l2_agglomerations(
748748
if self.mock_edges is None:
749749
edges_d = self.read_chunk_edges(chunk_ids)
750750

751-
edited_edges = self.get_edited_edges(chunk_ids)
751+
edited_edges = self.get_edges_from_edits(chunk_ids)
752752
all_chunk_edges = reduce(
753753
lambda x, y: x + y,
754754
chain(edges_d.values(), edited_edges.values()),

pychunkedgraph/graph/edits_sv.py

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,22 +5,20 @@
55
from functools import reduce
66
import logging
77
import multiprocessing as mp
8-
from typing import Callable, Iterable
8+
from typing import Callable
99
from datetime import datetime
1010
from collections import defaultdict, deque
1111

1212
import fastremap
1313
import numpy as np
1414
from tqdm import tqdm
15-
from pychunkedgraph.graph import ChunkedGraph, cache as cache_utils
16-
from pychunkedgraph.graph.attributes import Connectivity
15+
from pychunkedgraph.graph import attributes, ChunkedGraph, cache as cache_utils
1716
from pychunkedgraph.graph.chunks.utils import chunks_overlapping_bbox, get_neighbors
1817
from pychunkedgraph.graph.cutting_sv import (
1918
build_kdtrees_by_label,
2019
pairwise_min_distance_two_sets,
2120
split_supervoxel_helper,
2221
)
23-
from pychunkedgraph.graph.attributes import Hierarchy, OperationLogs
2422
from pychunkedgraph.graph.edges import Edges
2523
from pychunkedgraph.graph.types import empty_2d
2624
from pychunkedgraph.graph import basetypes
@@ -281,9 +279,9 @@ def _add_new_edges(cg: ChunkedGraph, edges_tuple: tuple, time_stamp: datetime =
281279
for chunk_id in np.unique(chunks):
282280
val_dict = {}
283281
mask = chunks_arr[:, 0] == chunk_id
284-
val_dict[Connectivity.SplitEdges] = edges[mask]
285-
val_dict[Connectivity.Affinity] = affinites[mask]
286-
val_dict[Connectivity.Area] = areas[mask]
282+
val_dict[attributes.Connectivity.SplitEdges] = edges[mask]
283+
val_dict[attributes.Connectivity.Affinity] = affinites[mask]
284+
val_dict[attributes.Connectivity.Area] = areas[mask]
287285
rows.append(
288286
cg.client.mutate_row(
289287
serializers.serialize_uint64(chunk_id, fake_edges=True),
@@ -396,13 +394,15 @@ def copy_parents_and_add_lineage(
396394
parents = set()
397395
old_new_map = {k: list(v) for k, v in old_new_map.items()}
398396
parent_cells_map = cg.client.read_nodes(
399-
node_ids=list(old_new_map.keys()), properties=Hierarchy.Parent
397+
node_ids=list(old_new_map.keys()), properties=attributes.Hierarchy.Parent
400398
)
401399
for old_id, new_ids in old_new_map.items():
402400
for new_id in new_ids:
403401
val_dict = {
404-
Hierarchy.FormerIdentity: np.array([old_id], dtype=basetypes.NODE_ID),
405-
OperationLogs.OperationID: operation_id,
402+
attributes.Hierarchy.FormerIdentity: np.array(
403+
[old_id], dtype=basetypes.NODE_ID
404+
),
405+
attributes.OperationLogs.OperationID: operation_id,
406406
}
407407
result.append(
408408
cg.client.mutate_row(serializers.serialize_uint64(new_id), val_dict)
@@ -413,17 +413,19 @@ def copy_parents_and_add_lineage(
413413
result.append(
414414
cg.client.mutate_row(
415415
serializers.serialize_uint64(new_id),
416-
{Hierarchy.Parent: cell.value},
416+
{attributes.Hierarchy.Parent: cell.value},
417417
time_stamp=cell.timestamp,
418418
)
419419
)
420-
val_dict = {Hierarchy.NewIdentity: np.array(new_ids, dtype=basetypes.NODE_ID)}
420+
val_dict = {
421+
attributes.Hierarchy.NewIdentity: np.array(new_ids, dtype=basetypes.NODE_ID)
422+
}
421423
result.append(
422424
cg.client.mutate_row(serializers.serialize_uint64(old_id), val_dict)
423425
)
424426

425427
children_cells_map = cg.client.read_nodes(
426-
node_ids=list(parents), properties=Hierarchy.Child
428+
node_ids=list(parents), properties=attributes.Hierarchy.Child
427429
)
428430
for parent, children_cells in children_cells_map.items():
429431
assert len(children_cells) == 1, children_cells
@@ -437,7 +439,7 @@ def copy_parents_and_add_lineage(
437439
result.append(
438440
cg.client.mutate_row(
439441
serializers.serialize_uint64(parent),
440-
{Hierarchy.Child: children},
442+
{attributes.Hierarchy.Child: children},
441443
time_stamp=cell.timestamp,
442444
)
443445
)

pychunkedgraph/ingest/cli.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
"""
66

77
import logging
8+
import os
89

910
import click
1011
import yaml
@@ -70,9 +71,10 @@ def ingest_graph(
7071
if not retry:
7172
cg.create()
7273

74+
get_seg_source_and_destination_ocdbt(cg.meta.data_source.WATERSHED, create=True)
7375
imanager = IngestionManager(ingest_config, meta)
7476
enqueue_l2_tasks(imanager, create_atomic_chunk)
75-
get_seg_source_and_destination_ocdbt(cg.meta, create=True)
77+
os._exit(0)
7678

7779

7880
@ingest_cli.command("imanager")

pychunkedgraph/ingest/cluster.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,8 +143,16 @@ def create_atomic_chunk(coords: Sequence[int]):
143143
for k, v in chunk_edges_active.items():
144144
logging.debug(f"active_{k}: {len(v)}")
145145

146-
src, dst = get_seg_source_and_destination_ocdbt(imanager.cg.meta)
147-
copy_ws_chunk(imanager.cg, coords, src, dst)
146+
src, dst = get_seg_source_and_destination_ocdbt(
147+
imanager.cg.meta.data_source.WATERSHED
148+
)
149+
copy_ws_chunk(
150+
src,
151+
dst,
152+
imanager.cg.meta.graph_config.CHUNK_SIZE,
153+
coords,
154+
imanager.cg.meta.voxel_bounds,
155+
)
148156
_post_task_completion(imanager, 2, coords)
149157

150158

0 commit comments

Comments
 (0)