-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for all UVBeam files #444
Conversation
Includes adding support for parameters to pass to UVBeam.read
92d7346
to
b84e885
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @bhazelton, this will be a very nice addition. Other than the small comments I've made, I have one other broader comment.
I think it would be nicer for the beam definitions in the YAML to have a nicer YAML tag, or at least to be more consistent. That is, I think it shouldn't be possible to do e.g.
0: myfile.beamfits
1:
filename: myfile.beams
Since in general other keywords should be supported, I think enforcing all beams to be of the form:
0:
path: mybeam.fits
other_param: ...
is better, and will mean more homogeneous code. As a further extension, one could imagine defining a YAML tag, so that it would be:
0: !UVBeam
path: this.beam
param: that
1: !AnalyticBeam
type: gaussian
diameter: 12.0
With these tags you can automatically read the YAML as python objects that are self-contained. The one reason you might NOT want to do this currently is that you actually don't want to read these things as full python objects, but rather in this weird "string mode" so it's lighter to pass around. I feel like there's a more pythonic way of doing this as well, but I'd have to think a bit harder. Possibly easier once the AnalyticBeam refactoring is in place on pyuvdata.
I agree with you on this, but we'll have to go through a deprecation process and I'm pretty sure this will trip up on our reference sims. I'm happy to start the deprecation process by putting in the appropriate warnings now. |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #444 +/- ##
=======================================
Coverage 99.50% 99.50%
=======================================
Files 12 12
Lines 2208 2240 +32
=======================================
+ Hits 2197 2229 +32
Misses 11 11 ☔ View full report in Codecov by Sentry. |
Hmmm, let's just make an issue and merge this branch, because I think the process of deprecation should be handled carefully. |
Description
Support all UVBeam readable files. This required adding support for parameters to pass the to UVBeam.read method.
Motivation and Context
fixes #335
Types of changes
Checklist:
For all pull requests:
New feature checklist: