Skip to content

Reject non-invertible volume affines - #435

Closed
yinkev wants to merge 1 commit into
ImagingDataCommons:masterfrom
yinkev:fix/singular-volume-affine
Closed

Reject non-invertible volume affines#435
yinkev wants to merge 1 commit into
ImagingDataCommons:masterfrom
yinkev:fix/singular-volume-affine

Conversation

@yinkev

@yinkev yinkev commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

Summary

  • reject non-invertible affine matrices during Volume and VolumeGeometry construction
  • retain the existing scaled-orthogonality and final-row validation
  • clarify the constructor contract and add coverage for both public types

Root cause

The approximate orthogonality check can accept rank-deficient matrices whose dependent column is sufficiently small. Those objects then fail later when spatial operations attempt to invert the affine.

Validation

  • regression fails for both constructors on upstream/master
  • focused regression: 2 passed
  • full tests/test_volume.py: 118 passed
  • Flake8 on touched files
  • git diff --check

Signed-off-by: kyinhub <kevinpyin@gmail.com>
@yinkev

yinkev commented Jul 25, 2026

Copy link
Copy Markdown
Contributor Author

Replaced by #445 to conform to this repository's documented contributor workflow and branch-naming convention. The replacement uses the same signed commit and identical code diff: #445

@yinkev yinkev closed this Jul 25, 2026
@yinkev
yinkev deleted the fix/singular-volume-affine branch July 25, 2026 19:47
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