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-3859: Apply code style to clean_flicker_noise and nsclean #9114

Merged

Conversation

melanieclarke
Copy link
Collaborator

@melanieclarke melanieclarke commented Jan 29, 2025

Partially addresses JP-3859

Also ignores rule TRY400, which requires log.exception instead of log.error inside an except clause. No need to enforce tracebacks every time we log an error.

Code style updates for clean_flicker_noise and nsclean

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#>.fits_generator.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

@melanieclarke
Copy link
Collaborator Author

melanieclarke commented Jan 29, 2025

Regression tests here:
https://github.com/spacetelescope/RegressionTests/actions/runs/13041831981

All passing.

Copy link

codecov bot commented Jan 29, 2025

Codecov Report

Attention: Patch coverage is 90.50279% with 17 lines in your changes missing coverage. Please review.

Project coverage is 73.73%. Comparing base (1fa5ca5) to head (d157184).
Report is 6 commits behind head on main.

Files with missing lines Patch % Lines
jwst/clean_flicker_noise/lib.py 83.07% 11 Missing ⚠️
jwst/clean_flicker_noise/clean_flicker_noise.py 97.00% 3 Missing ⚠️
jwst/nsclean/nsclean_step.py 25.00% 3 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##             main    #9114   +/-   ##
=======================================
  Coverage   73.73%   73.73%           
=======================================
  Files         373      373           
  Lines       37272    37272           
=======================================
  Hits        27482    27482           
  Misses       9790     9790           

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

@melanieclarke melanieclarke force-pushed the jp-3859-clean_flicker_noise branch from edfab6f to 2f79427 Compare January 30, 2025 15:39
@melanieclarke melanieclarke marked this pull request as ready for review January 30, 2025 15:40
@melanieclarke melanieclarke requested review from a team as code owners January 30, 2025 15:40
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.

Looks great Melanie, just a few very small comments. It looks like the step already had Numpy-style docstrings for the most part

jwst/clean_flicker_noise/lib.py Outdated Show resolved Hide resolved
jwst/clean_flicker_noise/lib.py Outdated Show resolved Hide resolved
jwst/nsclean/nsclean_step.py Show resolved Hide resolved
@emolter
Copy link
Collaborator

emolter commented Jan 30, 2025

General question: how do you think this process went? To what extent do you feel like the changes improved the readability of the code and/or documentation? Any rules besides TRY400 that you're suspicious of?

@melanieclarke
Copy link
Collaborator Author

General question: how do you think this process went? To what extent do you feel like the changes improved the readability of the code and/or documentation? Any rules besides TRY400 that you're suspicious of?

The process went fine. I ended up cycling between the three command line tools a fair bit -- fixing style, rerunning format, fixing docs, rerunning format, etc.

The one thing I found frustrating was that the formatter didn't let me keep lines at ~88 characters that I felt were more readable that way. It enforced 100 character lines.

But in general I'm very pleased with the changes, and happy to get things cleaned up!

@melanieclarke melanieclarke force-pushed the jp-3859-clean_flicker_noise branch from 55d5845 to a60403e Compare January 30, 2025 16:29
@emolter emolter self-requested a review January 30, 2025 16:32
@melanieclarke melanieclarke force-pushed the jp-3859-clean_flicker_noise branch 2 times, most recently from cc933a2 to 5bd0681 Compare January 30, 2025 17:58
Copy link
Contributor

@tapastro tapastro left a comment

Choose a reason for hiding this comment

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

Looks good!

@melanieclarke melanieclarke force-pushed the jp-3859-clean_flicker_noise branch from 5bd0681 to d157184 Compare January 31, 2025 16:11
@melanieclarke melanieclarke merged commit b345d09 into spacetelescope:main Jan 31, 2025
30 checks passed
@melanieclarke melanieclarke deleted the jp-3859-clean_flicker_noise branch January 31, 2025 16:51
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.

3 participants