Skip to content

Edge-detection follow-ups: Canny anisotropy honesty, ROI/orientation, docs#14

Merged
jacobson30-bot merged 1 commit into
mainfrom
edge-detection-followups
Jun 5, 2026
Merged

Edge-detection follow-ups: Canny anisotropy honesty, ROI/orientation, docs#14
jacobson30-bot merged 1 commit into
mainfrom
edge-detection-followups

Conversation

@jacobson30-bot
Copy link
Copy Markdown
Contributor

Follow-up to #12 / #13 addressing a further review pass.

Changes

  • Medium — Canny honest about anisotropy. canny_edges accepts pixel_size_x_nm/pixel_size_y_nm, records per-axis sigma_x_nm/sigma_y_nm, and the docstring states the smoothing is pixel-space (scalar sigma), not physically isotropic. The dialog sigma label shows both axes on anisotropic scans.
  • Low — mask channel mismatch surfaced. The viewer warns (non-blocking) when the active mask's recorded source_channel differs from the channel currently displayed, instead of applying a same-shape stale mask silently.
  • Low — README wording. No longer implies direct active-mask plane-fit exclusion: statistics are restricted directly; a plane fit is excluded after converting the mask to ROI(s). The integration test is renamed to test_mask_to_roi_excludes_region_from_plane_fit.
  • Low — orientation ROI bounds. gradient_filter now ROI-bounds the returned gradient_orientation field (previously only display/magnitude/edge_mask were masked).

Verification

  • 1969 passed, 207 skipped, ruff check clean.
  • New regression tests: per-axis sigma_nm provenance; ROI-bounded orientation.

🤖 Generated with Claude Code

…tion, docs)

- Medium: Canny is honest about anisotropy. canny_edges accepts
  pixel_size_x_nm/pixel_size_y_nm, records per-axis sigma_x_nm/sigma_y_nm, and
  the docstring states smoothing is pixel-space (scalar sigma), not physically
  isotropic. The dialog sigma label shows both axes when pixels are anisotropic.
- Low: active-mask channel mismatch is surfaced, not silent. The viewer warns
  (non-blocking) when the active mask's recorded source_channel differs from the
  channel currently displayed.
- Low: README no longer overstates plane-fit exclusion — it now says statistics
  are restricted directly and a plane fit is excluded after converting the mask
  to ROI(s). The integration test is renamed test_mask_to_roi_excludes_region_
  from_plane_fit to reflect the bridge.
- Low: gradient_filter now ROI-bounds the returned gradient_orientation field
  (previously only display/magnitude/edge_mask were masked).

Adds regression tests for per-axis sigma_nm provenance and ROI-bounded
orientation. Full suite green, ruff clean.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@jacobson30-bot jacobson30-bot merged commit e140c74 into main Jun 5, 2026
3 checks passed
@jacobson30-bot jacobson30-bot deleted the edge-detection-followups branch June 5, 2026 14:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant