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

Adding optimal photometric extraction and photutils aperture extraction #729

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

Conversation

taylorbell57
Copy link
Collaborator

@taylorbell57 taylorbell57 commented Dec 18, 2024

This PR resolves #491, resolves #514, and makes a lot of progress on #495.

This PR adds:

  1. error-weighted optimal photometric extraction using a somewhat similar method to our spectroscopy code. I currently do not have code to mask pixels that deviate too far from the spatial profile; let me know if you think that's critical to add at this stage.

  2. aperture photometric extraction using the open-source photutils, which allows for different aperture shapes, different aperture edges (allowing for "center" edges where a pixel is either inside the aperture or outside the aperture depending on whether the center of the pixel lies within the aperture, or "exact" edges where each pixel is weighted by the fractional area of the pixel that lies within the aperture), and is a fast and performant package.

This PR also greatly speeds up:

  1. the flagging of bad pixels in photometry data by re-using the nircam.flag_ff function

  2. the interpolation-based replacement of bad pixels for photometric data by adding multiprocessing support

I also restructured the photometry code to run each step for all integrations before moving on to the next step. This makes parallelizing easier and makes some steps easier.

I also fixed a bug with meanerr which was causing np.nan values to be returned for skyerr. There were also a couple other bug patches throughout.

Things remaining to do before the PR is ready for review:

  • Tidy up the apphot.apphot function inputs and outputs to be more like apphot.photutils_apphot
  • Add support for aperture_edge='exact' when phot_method='optimal'
  • Manually test phot_method='poet' and check that it is as good or better than before
  • Manually test phot_method='photutils' and check that it performs at least similar to poet
  • Manually test phot_method='optimal' and check that it performs at least similar to poet
  • Add documentation for new S3 meta parameters
  • Make sure all new functions have proper docstrings
  • Fix figs 3306 and 3504 for new aperture shapes

@taylorbell57 taylorbell57 added bug Something isn't working enhancement New feature or request NIRCam MIRI labels Dec 18, 2024
@taylorbell57 taylorbell57 marked this pull request as ready for review December 19, 2024 05:55
@taylorbell57
Copy link
Collaborator Author

@kevin218, I still need to fix figs 3306 and 3504 to show the new aperture shapes, but otherwise this PR is ready for review. Tomorrow is my last work day before the holidays, so I likely won't get to fixing those figures until the new year

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working enhancement New feature or request MIRI NIRCam
Projects
Status: In progress
Status: In progress
Status: In Progress
1 participant