Skip to content
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

JP-3607: descriptive names, inputs, and outputs for wcs transforms #8524

Draft
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

emolter
Copy link
Collaborator

@emolter emolter commented May 30, 2024

Resolves JP-3607

Closes #8444

The astropy GWCS module permits assignment of descriptive names of transforms, as well as descriptive labels for their inputs and outputs . These make it much easier to understand what a transform is doing, and which transform to use in what instance(s). This PR adds those descriptive names, inputs, and outputs.

Checklist for PR authors (skip items if you don't have permissions or they are not applicable)

  • added entry in CHANGES.rst within the relevant release section
  • updated or added relevant tests
  • updated relevant documentation
  • added relevant milestone
  • added relevant label(s)
  • ran regression tests, post a link to the Jenkins job below.
    How to run regression tests on a PR
  • All comments are resolved
  • Make sure the JIRA ticket is resolved properly

@emolter
Copy link
Collaborator Author

emolter commented May 30, 2024

Hi @nden, this is a rough first draft. I'm hoping you could give me your feedback/opinion on the following:

  • Do the inputs and outputs for all the transforms look correct to you? I'm still a bit uncertain about nirspec MSA in particular, where there are seemingly sometimes null fields, and the ID of a given shutter seems to be included sometimes but not other times. (I know it might be burdensome to try to re-remember all of this, so let me know how I can make that job easier).
  • Do you think there should be a separate docs page listing the available frames for all the instruments? Or would that be redundant with the jwst-docs pages like this one?
  • Although there are two (one, two) tickets related to WCS documentation that have been marked as related to this ticket, to me they seem somewhat unrelated to this. Would you like to see those resolved as part of this PR or not?
  • Would it improve the test suite to make a new file test_metadata.py and put all the tests of the names in there? I see the benefit being enhanced readability, but the drawback would be that the WCS objects would each have to be created again from scratch in those tests, so the overall runtime would be substantially longer.
  • I added a test ensuring that the WCS object can still be serialized and written to / loaded from an ASDF file as we discussed, but only for a single NIRSpec mode. Do you think this needs to be tested for every mode?

Copy link

codecov bot commented May 30, 2024

Codecov Report

Attention: Patch coverage is 97.84173% with 3 lines in your changes are missing coverage. Please review.

Project coverage is 57.86%. Comparing base (4179c09) to head (6d077e6).
Report is 6 commits behind head on master.

Files Patch % Lines
jwst/assign_wcs/miri.py 87.50% 3 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #8524      +/-   ##
==========================================
- Coverage   57.97%   57.86%   -0.12%     
==========================================
  Files         387      388       +1     
  Lines       38830    39032     +202     
==========================================
+ Hits        22513    22584      +71     
- Misses      16317    16448     +131     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

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.

Descriptive names, inputs, outputs, and units for WCS transform objects
1 participant