From a71217cc779fa111fb2f19d6797d60cad8c8cad3 Mon Sep 17 00:00:00 2001 From: anna-grim Date: Tue, 16 Dec 2025 20:42:45 +0000 Subject: [PATCH 1/4] bug: try-exc report params --- .../merge_proofreading/merge_inference.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/neuron_proofreader/merge_proofreading/merge_inference.py b/src/neuron_proofreader/merge_proofreading/merge_inference.py index fe3ee79..88d8032 100644 --- a/src/neuron_proofreader/merge_proofreading/merge_inference.py +++ b/src/neuron_proofreader/merge_proofreading/merge_inference.py @@ -198,6 +198,7 @@ def __init__( img_path, patch_shape, batch_size=16, + brightness_clip=300, is_multimodal=False, min_search_size=0, prefetch=128, @@ -208,6 +209,7 @@ def __init__( # Instance attributes self.batch_size = batch_size + self.brightness_clip = brightness_clip self.distance_traversed = 0 self.graph = graph self.is_multimodal = is_multimodal @@ -320,6 +322,7 @@ def __init__( img_path, patch_shape, batch_size=16, + brightness_clip=300, is_multimodal=False, min_search_size=0, prefetch=128, @@ -332,6 +335,7 @@ def __init__( img_path, patch_shape, batch_size=batch_size, + brightness_clip=brightness_clip, is_multimodal=is_multimodal, min_search_size=min_search_size, prefetch=prefetch, @@ -427,7 +431,15 @@ def _get_batch(self, nodes, img, offset): batch = np.empty((len(patch_centers), 2,) + self.patch_shape) for i, center in enumerate(patch_centers): s = img_util.get_slices(center, self.patch_shape) - batch[i, 0, ...] = img_util.normalize(np.minimum(img[s], 400)) + try: + patch = img[s] + except: + print("center:", center) + print("img.shape:", img.shape) + print("\noffset:", offset) + print("patch_centers:", patch_centers) + stop + batch[i, 0, ...] = img_util.normalize(np.minimum(patch, self.brightness_clip)) batch[i, 1, ...] = label_mask[s] return nodes, torch.tensor(batch, dtype=torch.float) @@ -442,7 +454,7 @@ def _get_multimodal_batch(self, nodes, img, offset): point_clouds = np.empty((batch_size, 3, 3600), dtype=np.float32) for i, (node, center) in enumerate(zip(nodes, patch_centers)): s = img_util.get_slices(center, self.patch_shape) - patches[i, 0, ...] = img_util.normalize(np.minimum(img[s], 400)) + patches[i, 0, ...] = img_util.normalize(np.minimum(img[s], self.brightness_clip)) patches[i, 1, ...] = label_mask[s] subgraph = self.graph.get_rooted_subgraph(node, self.subgraph_radius) From 6c98e4d1a99e00129c798e43efaf78a9563a4de7 Mon Sep 17 00:00:00 2001 From: anna-grim Date: Tue, 16 Dec 2025 20:51:39 +0000 Subject: [PATCH 2/4] refactor: normalization in inference --- .../merge_proofreading/merge_inference.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/neuron_proofreader/merge_proofreading/merge_inference.py b/src/neuron_proofreader/merge_proofreading/merge_inference.py index 88d8032..0de92f0 100644 --- a/src/neuron_proofreader/merge_proofreading/merge_inference.py +++ b/src/neuron_proofreader/merge_proofreading/merge_inference.py @@ -311,6 +311,8 @@ def read_superchunk(self, nodes): shape = (end - start).astype(int) center = (start + shape // 2).astype(int) superchunk = self.img_reader.read(center, shape) + superchunk = np.minimum(superchunk, self.brightness_clip) + superchunk = img_util.normalize(superchunk) return superchunk, start.astype(int) @@ -432,15 +434,14 @@ def _get_batch(self, nodes, img, offset): for i, center in enumerate(patch_centers): s = img_util.get_slices(center, self.patch_shape) try: - patch = img[s] + batch[i, 0, ...] = img[s] + batch[i, 1, ...] = label_mask[s] except: print("center:", center) print("img.shape:", img.shape) print("\noffset:", offset) print("patch_centers:", patch_centers) stop - batch[i, 0, ...] = img_util.normalize(np.minimum(patch, self.brightness_clip)) - batch[i, 1, ...] = label_mask[s] return nodes, torch.tensor(batch, dtype=torch.float) def _get_multimodal_batch(self, nodes, img, offset): @@ -454,7 +455,7 @@ def _get_multimodal_batch(self, nodes, img, offset): point_clouds = np.empty((batch_size, 3, 3600), dtype=np.float32) for i, (node, center) in enumerate(zip(nodes, patch_centers)): s = img_util.get_slices(center, self.patch_shape) - patches[i, 0, ...] = img_util.normalize(np.minimum(img[s], self.brightness_clip)) + patches[i, 0, ...] = img[s] patches[i, 1, ...] = label_mask[s] subgraph = self.graph.get_rooted_subgraph(node, self.subgraph_radius) From 03757af540a64a0b2dc1c8829de2806bb31fa8c3 Mon Sep 17 00:00:00 2001 From: anna-grim Date: Tue, 3 Feb 2026 03:45:32 +0000 Subject: [PATCH 3/4] bug: image normalization --- src/neuron_proofreader/merge_proofreading/merge_inference.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/neuron_proofreader/merge_proofreading/merge_inference.py b/src/neuron_proofreader/merge_proofreading/merge_inference.py index d6c8874..6c2720c 100644 --- a/src/neuron_proofreader/merge_proofreading/merge_inference.py +++ b/src/neuron_proofreader/merge_proofreading/merge_inference.py @@ -502,7 +502,7 @@ def _get_batch(self, nodes, img, offset): batch = np.empty((len(nodes), 2,) + self.patch_shape) for i, center in enumerate(patch_centers): s = img_util.get_slices(center, self.patch_shape) - batch[i, 0, ...] = img[s] + batch[i, 0, ...] = img_util.normalize(img[s]) batch[i, 1, ...] = label_mask[s] return nodes, torch.tensor(batch, dtype=torch.float) @@ -516,7 +516,7 @@ def _get_multimodal_batch(self, nodes, img, offset): point_clouds = np.empty((len(nodes), 3, 3600), dtype=np.float32) for i, (node, center) in enumerate(zip(nodes, patch_centers)): s = img_util.get_slices(center, self.patch_shape) - patches[i, 0, ...] = np.normalize(img[s]) + patches[i, 0, ...] = img_util.normalize(img[s]) patches[i, 1, ...] = label_mask[s] subgraph = self.graph.get_rooted_subgraph( From c9f88b7894f4449146978ab140f855aba2f59cb0 Mon Sep 17 00:00:00 2001 From: anna-grim Date: Tue, 3 Feb 2026 03:45:55 +0000 Subject: [PATCH 4/4] bug: image normalization --- src/neuron_proofreader/merge_proofreading/merge_inference.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/neuron_proofreader/merge_proofreading/merge_inference.py b/src/neuron_proofreader/merge_proofreading/merge_inference.py index 6c2720c..3832099 100644 --- a/src/neuron_proofreader/merge_proofreading/merge_inference.py +++ b/src/neuron_proofreader/merge_proofreading/merge_inference.py @@ -347,7 +347,6 @@ def read_superchunk(self, nodes): center = (start + shape // 2).astype(int) superchunk = self.img_reader.read(center, shape) superchunk = np.minimum(superchunk, self.brightness_clip) - #superchunk = img_util.normalize(superchunk) return superchunk, start.astype(int) def is_near_leaf(self, node, threshold=20):