Details
-
Type:
Bug
-
Status: Done
-
Resolution: Done
-
Fix Version/s: None
-
Component/s: pipe_tasks
-
Labels:None
-
Story Points:3
-
Epic Link:
-
Sprint:DRP F18-4
-
Team:Data Release Production
Description
The docstring for calib_psf_candidate reads:
self.candidateKey = schema.addField(
|
"calib_psf_candidate", type="Flag",
|
doc=("Flag set if the source was a candidate for PSF determination, "
|
"as determined by the star selector.")
|
)
|
However, if the reserve fraction is set to a non-zero value, an object that was selected as a PSF candidate by the star selector but then flagged as reserved will have the calib_psf_candidate flag set to False. This is inconsistent with the docstring (and erroneously implies the object was not deemed a suitable candidate). Please update the setting of the flag to reflect its docstring description.
Attachments
Issue Links
- blocks
-
DM-15649 Add a test to check the logic of the calib_psf_* flag setting
- Done
Activity
Field | Original Value | New Value |
---|---|---|
Sprint | DRP F18-4 [ 774 ] |
Risk Score | 0 |
Status | To Do [ 10001 ] | In Progress [ 3 ] |
Description |
The docstring for {{calib_psfCandidate}} reads:
{code} self.candidateKey = schema.addField( "calib_psfCandidate", type="Flag", doc=("Flag set if the source was a candidate for PSF determination, " "as determined by the star selector.") ) {code} However, if the reserve fraction is set to a non-zero value, an object that was selected as a PSF candidate by the star selector but then flagged as reserved will have the {{calib_psfCandidate}} flag set to *False*. This is inconsistent with the docstring (and erroneously implies the object was not deemed a suitable candidate). Please update the setting of the flag to reflect its docstring description. |
The docstring for {{calib_psf_candidate}} reads:
{code} self.candidateKey = schema.addField( "calib_psf_candidate", type="Flag", doc=("Flag set if the source was a candidate for PSF determination, " "as determined by the star selector.") ) {code} However, if the reserve fraction is set to a non-zero value, an object that was selected as a PSF candidate by the star selector but then flagged as reserved will have the {{calib_psf_candidate}} flag set to *False*. This is inconsistent with the docstring (and erroneously implies the object was not deemed a suitable candidate). Please update the setting of the flag to reflect its docstring description. |
Reviewers | Robert Lupton [ rhl ] | |
Status | In Progress [ 3 ] | In Review [ 10004 ] |
Summary | Fix setting of calib_psfCandidate flag to match docstring description | Fix setting of calib_psf_candidate flag to match docstring description |
Watchers | Lauren MacArthur, Robert Lupton [ Lauren MacArthur, Robert Lupton ] | Bob Armstrong, Lauren MacArthur, Robert Lupton [ Bob Armstrong, Lauren MacArthur, Robert Lupton ] |
Reviewers | Robert Lupton [ rhl ] | Bob Armstrong [ rearmstr ] |
Status | In Review [ 10004 ] | Reviewed [ 10101 ] |
Resolution | Done [ 10000 ] | |
Status | Reviewed [ 10101 ] | Done [ 10002 ] |
Story Points | 1 | 3 |
Epic Link |
|
Updated so that the calib_psf_candidate flag is true if the the star selector deemed it as such, regardless if it ends up getting used. The two possibilities of it not being used are:
1) specifically reserved, thus will also have the calib_psf_reserved flag set
2) rejected by the determiner (e.g. outlier) – no special flag is set here, but the calib_psf_used flag will (obviously) not get set.
So, we should now have:
N_candidate >= N_reserved + N_used
where inequality would indicate some sources being rejected by the determiner, so
N_rejected = N_candidate - (N_reserved + N_used)
I've updated the logging to read the following:
processCcd.charImage.measurePsf INFO: Measuring PSF
processCcd.charImage.measurePsf INFO: PSF star selector found 90 candidates
processCcd.charImage.measurePsf.reserve INFO: Reserved 18/90 sources
processCcd.charImage.measurePsf INFO: Sending 72 candidates to PSF determiner
...
processCcd.charImage.measurePsf INFO: PSF determination using 69/72 stars.