Implement rotate method for more regions#285
Merged
cdeil merged 2 commits intoastropy:masterfrom Jun 17, 2019
Merged
Conversation
Member
Author
|
I'll merge this now as-is, so that we can try it in Gammapy. Rotate now works for all pixel regions, and there are tests for all of them. I did not add |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
In this PR I finish implementing #265 by adding a rotate for all pixel regions.
The only region it's missing for is compound, I'll add that in this PR now.
@keflavich @astrofrog or @larrybradley - How do you feel about adding
PixelRegion.rotate, i.e. something to the base class?It could be an
abc.abstractmethod, forcing all pixel regions to implement this. For us in Gammapy where we callrotateon user-provided regions, that would be a good thing. I would prefer that. But it would also mean that everyone subclassingPixelRegionhas to implement it, or put this if they don't want to:I could also put a generic implementation, that works for most built-in regions, allowing us to remove lines, i.e. put it as
PixelRegion.rotateas a non-abstract method:But I think this is bad style, to rely on region specific attributes in the base class, and to silently return the wrong thing if some pixel region is different?