Conversation
…Graph Co-authored-by: Cursor <cursoragent@cursor.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Add
distance_from_node_setso segmentation can compute hop distances from seed nodes.Multi-source BFS on a
PNAGraph. Seeds get distance 0. Other nodes get the shortest unweighted path to the nearest seed, up tomax_iter(default 40). Unreached nodes stay missing (None). The result is written as node attributedistance_from_seed, replacing that attribute if it already exists. The same graph instance is updated in place and returned. Missing seeds raiseValueError(seed nodes must be present), matching R.Fixes: PNA-3550
Type of change
How Has This Been Tested?
Python unit tests only (no R gold files). Tests use a synthetic bipartite line plus a disconnected edge and check exact hops, multiple seeds,
max_iter, attribute replacement, and the missing-seed error.PR checklist:
Note
Low Risk
Additive analysis helper that mutates graph node attributes in place; no pipeline or auth changes, with broad unit test coverage.
Overview
Adds
distance_from_node_setfor PNA segmentation: multi-source BFS on aPNAGraphannotates each node with integer hop distance to the nearest seed (or missing if unreachable or beyondmax_iter, default 40). Results are written in place on thedistance_from_seednode attribute; the same graph is returned.The function lives under
pixelator.pna.analysis.segmentationand is re-exported frompixelator.pna.analysis. Inputs are validated (PNAGraph, non-empty seeds present in the graph,max_itertype/range). Optionalverboselogs per-iteration reach counts.CHANGELOG and
docs/api/overview.rstdocument the new API. Unit tests cover single/multiple seeds,max_iter, attribute replacement, errors, and the public export.Reviewed by Cursor Bugbot for commit f35750a. Bugbot is set up for automated code reviews on this repo. Configure here.