Skip to content

Add a noise-robust version of psf='gauss' for metacal#260

Open
esheldon wants to merge 5 commits into
masterfrom
mcal-gauss-stability
Open

Add a noise-robust version of psf='gauss' for metacal#260
esheldon wants to merge 5 commits into
masterfrom
mcal-gauss-stability

Conversation

@esheldon

@esheldon esheldon commented Jun 11, 2026

Copy link
Copy Markdown
Owner

This version is the same algorithm as Mike's original, but instead of looking at individual pixels, which are noisy, it makes an azimuthally averaged radial profile.

The constants have also been adjusted to reduce noise amplification at mid-k

esheldon added 2 commits June 10, 2026 20:00
This version is the same algorithm as Mike's original, but instead of
taking looking at individual pixels, which are noisy, it makes an
azimuthally averaged radial profile.

The constants have also been adjusted to reduce noise amplification
at mid-k
@esheldon esheldon marked this pull request as draft June 11, 2026 00:20
@esheldon esheldon requested a review from beckermr June 11, 2026 02:34
@esheldon

Copy link
Copy Markdown
Owner Author

I also factored out the the fitgauss algorithm for testing purposes

@esheldon esheldon marked this pull request as ready for review June 11, 2026 03:20
@esheldon

Copy link
Copy Markdown
Owner Author
gauss_method_noise_test_ellip

@esheldon

Copy link
Copy Markdown
Owner Author

Power ratio for real PSF. The new method suppresses high k power, and amplifies mid-k power less than fitgauss or original gauss

power_ratio_profile_r_11_11

@esheldon

Copy link
Copy Markdown
Owner Author

this method does something reasonable for various types of profiles

test_profiles

@beckermr beckermr left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

The code looks great.

However, this change is breaking in that the meaning of gauss when used with metadetect has changed.

Can we instead add a new name for the new algorithm? Maybe gaussprof or something?

@esheldon

Copy link
Copy Markdown
Owner Author

It breaks unit tests that expect an exact answer. Otherwise it is a strict improvement. Would it break anything other than unit tests?

@beckermr

Copy link
Copy Markdown
Collaborator

It breaks reproducibility for downstream users of the code.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants