Skip to content

Fix multiscale resolution selection picking wrong scale level#591

Open
timtreis wants to merge 1 commit intomainfrom
fix/issue-589-multiscale-resolution
Open

Fix multiscale resolution selection picking wrong scale level#591
timtreis wants to merge 1 commit intomainfrom
fix/issue-589-multiscale-resolution

Conversation

@timtreis
Copy link
Copy Markdown
Member

@timtreis timtreis commented Apr 16, 2026

Summary

  • Fixes Multiscale image resolution display bug #589: the scale selection heuristic in _multiscale_to_spatial_image used min(x_index, y_index) on an ascending-sorted scale list, selecting lower resolution when x/y optimal pixel counts disagreed — opposite of the stated intent
  • Also fixes unreliable searchsorted on y_dims that may not be sorted after x-based reordering (e.g. non-uniform downsampling across pyramid levels)
  • Replaced with a direct loop that finds the lowest-resolution scale where both x and y dimensions meet the target pixel count, falling back to the highest available resolution

The heuristic in `_multiscale_to_spatial_image` used `min()` on indices
from an ascending-sorted scale list, which selected *lower* resolution
when x and y optimal pixel counts disagreed.  It also relied on
`searchsorted` over y_dims that may not be sorted after x-based
reordering.

Replace with a direct loop that finds the lowest-resolution scale where
both x and y dimensions meet the target pixel count, falling back to
the highest available resolution.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@codecov-commenter
Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 76.32%. Comparing base (5cfedc7) to head (be3ddf3).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #591      +/-   ##
==========================================
+ Coverage   76.30%   76.32%   +0.01%     
==========================================
  Files          11       11              
  Lines        3229     3227       -2     
  Branches      757      757              
==========================================
- Hits         2464     2463       -1     
  Misses        465      465              
+ Partials      300      299       -1     
Files with missing lines Coverage Δ
src/spatialdata_plot/pl/utils.py 66.48% <100.00%> (+0.02%) ⬆️
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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.

Multiscale image resolution display bug

2 participants