Skip to content

feat: add opt-in rasterization tiles#6

Draft
stanbot8 wants to merge 2 commits into
mainfrom
draft/rasterize-output-tiling
Draft

feat: add opt-in rasterization tiles#6
stanbot8 wants to merge 2 commits into
mainfrom
draft/rasterize-output-tiling

Conversation

@stanbot8

Copy link
Copy Markdown
Owner

Draft. Text in square brackets becomes links in the submission.

Summary

A large rasterization canvas can exceed available memory. Compute tiled raster shape and fill metadata 1 time before tile graph construction. Closes [issue 987].

Design

The rasterization path can create 1 output canvas for the complete target extent. An enabled tile size bounds each rasterization canvas and preserves output coordinates and tile boundaries.

The implementation changes [src/spatialdata/_core/operations/rasterize.py].

Limitations

  • Tiling is opt-in.
  • Smaller tiles create more tasks.

Tests

The baseline failed, and the candidate passed the same reproducer. The focused A/B reproducer passed on the candidate. 14 rasterization tests passed. Ruff passed for the changed source and test files.

The tests are in [tests/core/operations/test_rasterize.py].

Commands
python -m pytest tests/core/operations/test_rasterize.py -q
ruff check src/spatialdata/_core/operations/rasterize.py tests/core/operations/test_rasterize.py

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