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

DM-5660: Add motivated model fits to validate_drp photometric and astrometric scatter/repeatability analysis and plots #14

Merged
merged 16 commits into from Apr 21, 2016

Conversation

wmwv
Copy link
Contributor

@wmwv wmwv commented Apr 15, 2016

Implements well-motivated theoretical fits to the astrometric and photometric performance measurements based on derivations from LSST Overview paper.
http://arxiv.org/pdf/0805.2366v4.pdf
Photometric errors described by
Eq. 5
sigma_(rand) = (0.039 - gamma) * x + gamma * x^2 [mag^2]
where x = 10^(0.4*(m-m_5))
Eq. 4
sigma_1^2 = sigma_sys^2 + sigma_rand^2
Astrometric Errors
error = C * theta / SNR
Based on helpful comments from Zeljko Ivezic
"""
I think eq. 5 from the overview paper (with gamma = 0.039 and m5 = 24.35;
the former I assumed and the latter I got from the value of your
analytic fit that gives err=0.2 mag) would be a much better fit than
the adopted function for mag < 21 (and it is derived from first principles).
Actually, if you fit for the systematic term (eq. 4) and gamma and m5,
it would be a nice check whether there is any “weird” behavior in
analyzed data (and you get the limiting depth, m5, even if you don’t
go all the way to the faint end).
Similarly, for the astrometric random errors, we’d expect
error = C * theta / SNR,
where theta is the seeing (or a fit parameter), SNR is the photometric
SNR (i.e. 1/err in mag), and C ~ 1 (empirically, and 0.6 for the idealized
maximum likelihood solution and gaussian seeing).
"""

wmwv added 10 commits April 7, 2016 21:21
Implements Eq. 4, 5 from LSST Overview paper.
Fits the parameters.
Shows fitted function on check_photometry plot.
Remove extraneous tuple line.
Fit C*theta/SNR to observed astrometric scatter.
Plot on check_astrometry plot.
Print out results to STDOUT if verbose set.

Update xlim defaults in plotAstrom to SNR inspired values.
Make checkAstrometry and checkPhotometry run fits
of expected error behavior from astrometric and photometric.
Change names of attributes to more descriptively include 'Err' in the name.
@danielsf
Copy link

Just sticking my nose where it doesn't belong:

If it would help,the calcSNR_m5 method here

https://github.com/lsst/sims_photUtils/blob/master/python/lsst/sims/photUtils/SignalToNoise.py

can calculate the photometric signal to noise given m5 and a few system parameters and throughputs. It has been checked to be consistent with equations 4 and 5 in the overview paper. There is also a method calcGamma to calculate the appropriate value of gamma given m5.

Take it or leave it. I just wanted to make sure you were aware that these methods existed.

@wmwv
Copy link
Contributor Author

wmwv commented Apr 15, 2016

@danielsf Thanks, I didn't know about that and very much appreciate your note!

I unfortunately don't think I can use that here as sims_photUtils has some substantial dependencies that I don't want to add here:

setupRequired(sims_sed_library)
setupRequired(sims_maps)
setupRequired(sims_utils)
setupRequired(throughputs)

If it would be possible to expose some of these utility functions without requiring the large and substantial sims_sed_library and sims_maps then I might be interested in adopting some of these routines this to ensure consistency.

@danielsf
Copy link

@wmv That (stripping out the massive data file dependencies from sims_photUtils) is on our list of things to do in the near future (I guess we hadn't considered removing sims_maps; definitely sims_sed_library). I will ping you when it is accomplished.

@@ -1,20 +1,21 @@
Validate an LSST DM processCcd.py output repository
against a set of LSST Science Requirements Document Key Performance Metrics.
and expected performance following the LSST Overview paper.
Copy link
Contributor

Choose a reason for hiding this comment

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

Typo: move this into previous sentence.

@jonathansick
Copy link
Contributor

Aside from the issues mentioned in the line notes this all seems okay. I haven't independently run the code to check the plots, though.

I don't have a good feel for how robust these fits are. If there's a weird dataset is it possible for the fits to go crazy? I'm not sure it's necessary to add in either code to check the robustness of the fits (even if it's a basic bootstrap); depends on the use cases of the fitted values.

@jonathansick
Copy link
Contributor

Also, it might be useful to capture the provenance of the model for astrometric scatter somewhere in the docstrings.

@wmwv wmwv merged commit 1e7a2db into master Apr 21, 2016
@ktlim ktlim deleted the tickets/DM-5660 branch August 25, 2018 06:50
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.

None yet

4 participants