Skip to content

Fix bug in overlap_slices - #16544

Merged
mwcraig merged 3 commits into
astropy:mainfrom
larrybradley:fix-overlap-slices
Jun 12, 2024
Merged

mwcraig merged 3 commits into
astropy:mainfrom
larrybradley:fix-overlap-slices

Conversation

@larrybradley

Copy link
Copy Markdown
Member

Description

This PR fixes an edge-case bug in overlap_slices where instead of raising a NoOverlapError, it would return an "empty" tuple slice:

>>> from astropy.nddata import overlap_slices
>>> overlap_slices((7, 7), (3, 3), (-2, -2))
((slice(0, 0, None), slice(0, 0, None)),
 (slice(3, 3, None), slice(3, 3, None)))

The input slices do NOT overlap. However, the function returns an "empty" slice tuple ((slice(0, 0, None), slice(0, 0, None)) instead of raising a NoOverlapError.

For some reason, this function allows the input small_array_shape to be (0, 0). In that case, a slice tuple of ((slice(0, 0, None), slice(0, 0, None)) is also returned. There is a test for that case, so I left that behavior unchanged. However, IMHO, small_array_shape = (0, 0) should also raise NoOverlapError.

  • By checking this box, the PR author has requested that maintainers do NOT use the "Squash and Merge" button. Maintainers should respect this when possible; however, the final decision is at the discretion of the maintainer that merges the PR.

@larrybradley larrybradley added this to the v6.1.1 milestone Jun 6, 2024
@github-actions github-actions Bot added the utils label Jun 6, 2024
@github-actions

github-actions Bot commented Jun 6, 2024 •

Copy link
Copy Markdown
Contributor

Thank you for your contribution to Astropy! 🌌 This checklist is meant to remind the package maintainers who will review this pull request of some common things to look for.

  • Do the proposed changes actually accomplish desired goals?
  • Do the proposed changes follow the Astropy coding guidelines?
  • Are tests added/updated as required? If so, do they follow the Astropy testing guidelines?
  • Are docs added/updated as required? If so, do they follow the Astropy documentation guidelines?
  • Is rebase and/or squash necessary? If so, please provide the author with appropriate instructions. Also see instructions for rebase and squash.
  • Did the CI pass? If no, are the failures related? If you need to run daily and weekly cron jobs as part of the PR, please apply the "Extra CI" label. Codestyle issues can be fixed by the bot.
  • Is a change log needed? If yes, did the change log check pass? If no, add the "no-changelog-entry-needed" label. If this is a manual backport, use the "skip-changelog-checks" label unless special changelog handling is necessary.
  • Is this a big PR that makes a "What's new?" entry worthwhile and if so, is (1) a "what's new" entry included in this PR and (2) the "whatsnew-needed" label applied?
  • At the time of adding the milestone, if the milestone set requires a backport to release branch(es), apply the appropriate "backport-X.Y.x" label(s) before merge.

@neutrinoceros neutrinoceros left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I think the test case should live in test_slices_no_overlap. Otherwise LGTM

Comment thread astropy/nddata/tests/test_utils.py Resolved
neutrinoceros

This comment was marked as duplicate.

@neutrinoceros neutrinoceros left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

whoops, I didn't mean to approve just yet.

@larrybradley

Copy link
Copy Markdown
Member Author

@mwcraig and/or @bmorris3 Can one of you please review?

@bmorris3 bmorris3 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Looks good, thanks @larrybradley!

@mwcraig
mwcraig merged commit f7db404 into astropy:main Jun 12, 2024
@mwcraig

mwcraig commented Jun 12, 2024

Copy link
Copy Markdown
Member

Thanks for the PR and reviews!

meeseeksmachine pushed a commit to meeseeksmachine/astropy that referenced this pull request Jun 12, 2024
@larrybradley
larrybradley deleted the fix-overlap-slices branch June 12, 2024 15:04
jeffjennings pushed a commit to jeffjennings/astropy that referenced this pull request Jun 14, 2024
pllim added a commit that referenced this pull request Jun 14, 2024
…544-on-v6.1.x

Backport PR #16544 on branch v6.1.x (Fix bug in overlap_slices)
rlwastro pushed a commit to rlwastro/astropy that referenced this pull request Jun 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants