build: upgrade to itkwasm-downsample 2.0.1 - #638
Conversation
2.0.1 fixes the pipeline abort while reconstructing B-spline transforms; the downsampled pixels are unchanged.
itkwasm-downsample 2.0.1 reconstructs BSplineTransform instead of aborting; cover the bare transform and the affine + B-spline composite a registration returns. The multiscales metadata block records the downsampler's version, which changes on every upgrade while the pixels stay identical. Exclude that provenance field from the baseline metadata comparison so upgrades stop forcing baseline-archive rebuilds.
itkwasm-downsample 2.0.1 reconstructs B-spline transforms, so the upstream defect the note described is fixed.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughThe change requires ChangesResampling and metadata validation
Estimated code review effort: 3 (Moderate) | ~20 minutes Possibly related PRs
Suggested reviewers: Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@py/test/_data.py`:
- Around line 272-276: Update the exclude_regex_paths configuration in the test
data to match only the supported root .zattrs paths: direct root metadata and
consolidated metadata under ['metadata']['.zattrs']; anchor each alternative so
DeepDiff’s re.search() cannot match nested paths. Add pytest coverage verifying
allowed provenance changes in those paths and rejecting equivalent nested
metadata changes.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 9b24aac9-147d-4be1-a3be-f5e3e08f358e
⛔ Files ignored due to path filters (2)
py/pixi.lockis excluded by!**/*.lockts/deno.lockis excluded by!**/*.lock
📒 Files selected for processing (5)
docs/itk.mdpy/pyproject.tomlpy/test/_data.pypy/test/test_itk_transform_resample_bounding_box.pyts/deno.json
💤 Files with no reviewable changes (1)
- docs/itk.md
DeepDiff applies exclude_regex_paths with re.search, so the suffix-only pattern would also ignore a version field on a look-alike path nested anywhere in the metadata. Anchor the exclusion to the root .zattrs object and the consolidated .zmetadata copy, and cover both the allowed in-place drift and the rejected nested change.
The 0.5 layout keeps the attributes under zarr.json's "ome" key, a third path shape for the recorded downsampler version. Anchor it like the .zattrs forms, extend the guard test to the 0.5 layout, and apply ruff's formatting to the guard test.
Follow-up from #626 (comment).
itk_transform_resample_bounding_boxnow takes anitk.BSplineTransform(and the affine + B-spline composite a registration returns) directly; covered by two new tests and the limitation note is removed from the docs.Full py bounding-box/downsampling suites and the TS suite (484 tests) pass locally against 2.0.1.
Summary by CodeRabbit
Bug Fixes
Tests
Documentation