Skip to content

fix(tiling): fall back to a smaller margin instead of dropping tiles - #61

Merged
EliHei2 merged 1 commit into
mainfrom
bugfix/tiling-margin-fallback
Jun 9, 2026
Merged

fix(tiling): fall back to a smaller margin instead of dropping tiles#61
EliHei2 merged 1 commit into
mainfrom
bugfix/tiling-margin-fallback

Conversation

@EliHei2

@EliHei2 EliHei2 commented Jun 1, 2026

Copy link
Copy Markdown
Collaborator

When the inner-tile negative buffer uses too large a margin, small tiles shrink to empty. Previously those tiles were removed from the spatial query, silently dropping every geometry they contained (a frequent cause of large numbers of unassigned transcripts on dense/small-tile datasets).

Instead, progressively halve the margin (down to 0) until every tile survives the buffer, emitting a warning with the reduced value. No behavior change when the requested margin already leaves all tiles non-empty.

What to review:

  • src/segger/data/tiling.py: the buffer/fallback loop in the query method.
  • The loop is bounded (margin strictly halves; terminates at 0 = unbuffered tiles, which can never be empty), so it cannot spin.
  • Trade-off: a reduced margin means slightly less inner/outer separation for the affected tiles, which is strictly better than dropping their geometries.

When the inner-tile negative buffer uses too large a margin, small tiles shrink
to empty. Previously those tiles were removed from the spatial query, silently
dropping every geometry they contained (a frequent cause of large numbers of
unassigned transcripts on dense/small-tile datasets).

Instead, progressively halve the margin (down to 0) until every tile survives
the buffer, emitting a warning with the reduced value. No behavior change when
the requested margin already leaves all tiles non-empty.

What to review:
- src/segger/data/tiling.py: the buffer/fallback loop in the query method.
- The loop is bounded (margin strictly halves; terminates at 0 = unbuffered
  tiles, which can never be empty), so it cannot spin.
- Trade-off: a reduced margin means slightly less inner/outer separation for the
  affected tiles, which is strictly better than dropping their geometries.
@EliHei2
EliHei2 requested a review from Tobiaspk June 1, 2026 13:08
@Tobiaspk

Tobiaspk commented Jun 8, 2026

Copy link
Copy Markdown
Collaborator

I prefer this over the current approach to dropping empty tiles entirely. I'm good to move forward with this. But going forward, let's update this with a more dynamic approach that reduces empty tiles in the first place.

@andrewmoorman suggested transcript-density-derived margins. Please also add your comments on this so we're on the same page.

@EliHei2

EliHei2 commented Jun 9, 2026

Copy link
Copy Markdown
Collaborator Author

I like transcript-density-derived margins, but that's another dev, for now for not entirely missing the tile could we put this in, then add that as a future TODO?

@Tobiaspk Tobiaspk left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Let's make sure to update this in a future revision with a density based estimator.

@EliHei2
EliHei2 merged commit 98765aa into main Jun 9, 2026
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.

3 participants