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-3858-exp_to_source #9201

Open
wants to merge 18 commits into
base: main
Choose a base branch
from

Conversation

penaguerrero
Copy link
Contributor

@penaguerrero penaguerrero commented Feb 19, 2025

Resolves partially JP-3858

Closes #

This PR addresses style changes to exp_to_source in the jwst repo.

Tasks

  • request a review from someone specific, to avoid making the maintainers review every PR
  • add a build milestone, i.e. Build 11.3 (use the latest build if not sure)
  • Does this PR change user-facing code / API? (if not, label with no-changelog-entry-needed)
    • write news fragment(s) in changes/: echo "changed something" > changes/<PR#>.<changetype>.rst (see below for change types)
    • update or add relevant tests
    • update relevant docstrings and / or docs/ page
    • start a regression test and include a link to the running job (click here for instructions)
      • Do truth files need to be updated ("okified")?
        • after the reviewer has approved these changes, run okify_regtests to update the truth files
  • if a JIRA ticket exists, make sure it is resolved properly
news fragment change types...
  • changes/<PR#>.general.rst: infrastructure or miscellaneous change
  • changes/<PR#>.docs.rst
  • changes/<PR#>.stpipe.rst
  • changes/<PR#>.datamodels.rst
  • changes/<PR#>.scripts.rst
  • changes/<PR#>.set_telescope_pointing.rst
  • changes/<PR#>.pipeline.rst

stage 1

  • changes/<PR#>.group_scale.rst
  • changes/<PR#>.dq_init.rst
  • changes/<PR#>.emicorr.rst
  • changes/<PR#>.saturation.rst
  • changes/<PR#>.ipc.rst
  • changes/<PR#>.firstframe.rst
  • changes/<PR#>.lastframe.rst
  • changes/<PR#>.reset.rst
  • changes/<PR#>.superbias.rst
  • changes/<PR#>.refpix.rst
  • changes/<PR#>.linearity.rst
  • changes/<PR#>.rscd.rst
  • changes/<PR#>.persistence.rst
  • changes/<PR#>.dark_current.rst
  • changes/<PR#>.charge_migration.rst
  • changes/<PR#>.jump.rst
  • changes/<PR#>.clean_flicker_noise.rst
  • changes/<PR#>.ramp_fitting.rst
  • changes/<PR#>.gain_scale.rst

stage 2

  • changes/<PR#>.assign_wcs.rst
  • changes/<PR#>.badpix_selfcal.rst
  • changes/<PR#>.msaflagopen.rst
  • changes/<PR#>.nsclean.rst
  • changes/<PR#>.imprint.rst
  • changes/<PR#>.background.rst
  • changes/<PR#>.extract_2d.rst
  • changes/<PR#>.master_background.rst
  • changes/<PR#>.wavecorr.rst
  • changes/<PR#>.srctype.rst
  • changes/<PR#>.straylight.rst
  • changes/<PR#>.wfss_contam.rst
  • changes/<PR#>.flatfield.rst
  • changes/<PR#>.fringe.rst
  • changes/<PR#>.pathloss.rst
  • changes/<PR#>.barshadow.rst
  • changes/<PR#>.photom.rst
  • changes/<PR#>.pixel_replace.rst
  • changes/<PR#>.resample_spec.rst
  • changes/<PR#>.residual_fringe.rst
  • changes/<PR#>.cube_build.rst
  • changes/<PR#>.extract_1d.rst
  • changes/<PR#>.resample.rst

stage 3

  • changes/<PR#>.assign_mtwcs.rst
  • changes/<PR#>.mrs_imatch.rst
  • changes/<PR#>.tweakreg.rst
  • changes/<PR#>.skymatch.rst
  • changes/<PR#>.exp_to_source.rst
  • changes/<PR#>.outlier_detection.rst
  • changes/<PR#>.tso_photometry.rst
  • changes/<PR#>.stack_refs.rst
  • changes/<PR#>.align_refs.rst
  • changes/<PR#>.klip.rst
  • changes/<PR#>.spectral_leak.rst
  • changes/<PR#>.source_catalog.rst
  • changes/<PR#>.combine_1d.rst
  • changes/<PR#>.ami.rst

other

  • changes/<PR#>.wfs_combine.rst
  • changes/<PR#>.white_light.rst
  • changes/<PR#>.cube_skymatch.rst
  • changes/<PR#>.engdb_tools.rst
  • changes/<PR#>.guider_cds.rst

Copy link

codecov bot commented Feb 19, 2025

Codecov Report

Attention: Patch coverage is 94.44444% with 1 line in your changes missing coverage. Please review.

Project coverage is 73.66%. Comparing base (6298414) to head (57da964).
Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
jwst/exp_to_source/main.py 85.71% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #9201      +/-   ##
==========================================
- Coverage   73.66%   73.66%   -0.01%     
==========================================
  Files         368      368              
  Lines       36393    36395       +2     
==========================================
+ Hits        26809    26810       +1     
- Misses       9584     9585       +1     

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

@emolter
Copy link
Collaborator

emolter commented Feb 19, 2025

Hi Maria, it looks like the numpydoc-validation and ruff-format ignores lists were not updated to remove the exp_to_source check. Also, typically we are using no-changelog-entry-needed for these PRs.

Please review the instructions here: https://github.com/spacetelescope/jwst/wiki/Workflow#updating-a-module-for-code-style

@melanieclarke melanieclarke added this to the Build 11.3 milestone Feb 19, 2025
@penaguerrero
Copy link
Contributor Author

@emolter ready for another review, please.

Copy link
Collaborator

@emolter emolter left a comment

Choose a reason for hiding this comment

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

Thanks Maria, this looks great, just a few comments

@@ -1,5 +1,5 @@
"""exp_to_source: Reformat Level2b multi-source data to be source-based.
"""
"""Step exp_to_source: Reformat Level2b multi-source data to be source-based."""
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
"""Step exp_to_source: Reformat Level2b multi-source data to be source-based."""
"""Reformat Level2b multi-source data to be source-based."""

sources: {source: MultiExposureModel, ...}
A dict keyed on source name whose value is
the corresponding MultiExposureModel.
Docs from the source.
Copy link
Collaborator

Choose a reason for hiding this comment

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

What does this mean?

I think this should say something to the effect of, "Command-line interface to the exp_to_source step. For help, use exp_to_source -h. See also the exp_to_source readthedocs page; https://link-to-page.html"

"""

def __init__(self, args=None):
"""
Full documentation from the source.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
Full documentation from the source.
Initialize and run the exp_to_source step.

or something similar

Comment on lines +59 to +60
# sources : {source: MultiExposureModel, ...}
# A dict keyed on source name whose value is the corresponding MultiExposureModel.
Copy link
Collaborator

Choose a reason for hiding this comment

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

remove commented lines



INPUT_FILES_GLOB = 'data/jwst_nod?_cal.fits'
INPUT_FILES_GLOB = "data/"
Copy link
Collaborator

Choose a reason for hiding this comment

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

with the change here, this is no longer really a "glob"; in fact, is this ever used anywhere now that the change is made? If so, could you please point me to where?



# Calculate some extra constants
INPUT_FILES_GLOB = t_path(INPUT_FILES_GLOB)
INPUT_FILES = glob(t_path(INPUT_FILES_GLOB))
INPUT_FILES = list(t_path("data").glob("jwst_nod*_cal.fits"))
Copy link
Collaborator

Choose a reason for hiding this comment

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

Is there any reason this can no longer be jwst_nod?_cal.fits? It looks like the original intent was only to have a single-character wildcard, not a multi-character one.

Copy link
Collaborator

Choose a reason for hiding this comment

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

I doubt this is needed anymore, but it doesn't seem like a style change. Was this causing failed checks? Does anyone know the history of this?

@@ -15,7 +15,7 @@ def test_default_run(tmp_path, capsys):
'-o',
str(tmp_path)
]
args.extend(helpers.INPUT_FILES)
args.extend([str(infile) for infile in helpers.INPUT_FILES])
Copy link
Collaborator

Choose a reason for hiding this comment

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

why was this change necessary? (here and below). This looks like an indication that helpers.INPUT_FILES may have changed its behavior

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.

4 participants