Uploaded image for project: 'Data Management'
  1. Data Management
  2. DM-11243

Refine PSF-based image selection

    XMLWordPrintable

    Details

    • Type: Story
    • Status: Done
    • Resolution: Done
    • Fix Version/s: None
    • Component/s: pipe_tasks
    • Labels:
    • Team:
      External

      Description

      The current default PSF-based image selection leaves large holes in the distribution of coadds. Takashi Hamana recommends adopting:

      max_medianE = 0.007
      max_scatterSize/medianSize^2 = 0.009

      This involves modifying the current defaults and adding a new selection criterion.

        Attachments

          Activity

          Hide
          price Paul Price added a comment -

          Thanks for volunteering to look at this, Lauren MacArthur!

          price@pap-laptop:~/LSST/pipe_tasks (tickets/DM-11243=) $ git sub
          commit 3ed9f4e630839bff682865941b9ca0660abee751
          Author: Paul Price <price@astro.princeton.edu>
          Date:   Mon Jul 10 12:19:40 2017 -0400
           
              PsfWcsSelectImagesTask: make thresholds optional
              
              We may decide not to use a particular threshold, so they should be
              optional.
           
           python/lsst/pipe/tasks/selectImages.py | 10 ++++++----
           1 file changed, 6 insertions(+), 4 deletions(-)
           
          commit 2634f9e6df4bbf6147d5a8520b9f1a0cc7b36db5
          Author: Paul Price <price@astro.princeton.edu>
          Date:   Mon Jul 10 13:10:55 2017 -0400
           
              PsfWcsSelectImagesTask: add selection on scaled size scatter
              
              Takashi Hamana recommends a selection involving:
                  max_scatterSize/medianSize^2 = 0.009
           
           python/lsst/pipe/tasks/selectImages.py | 12 ++++++++++++
           1 file changed, 12 insertions(+)
           
          commit d133c9b1cbdd5015f00d8ca9c7c79d390716787f
          Author: Paul Price <price@astro.princeton.edu>
          Date:   Mon Jul 10 13:14:02 2017 -0400
           
              PsfWcsSelectImagesTask: adopt Hamana-san's recommended limits
              
              Takashi Hamana recommends:
                  max_medianE = 0.007
                  max_scatterSize/medianSize^2 = 0.009
              
              We update the maxEllipResidual to correspond to Hamana-san's
              recommendation and remove the maxSizeScatter limit (maxScaledSizeScatter
              is already set appropriately).
           
           python/lsst/pipe/tasks/selectImages.py | 3 +--
           1 file changed, 1 insertion(+), 2 deletions(-)
          

          Show
          price Paul Price added a comment - Thanks for volunteering to look at this, Lauren MacArthur ! price@pap-laptop:~/LSST/pipe_tasks (tickets/DM-11243=) $ git sub commit 3ed9f4e630839bff682865941b9ca0660abee751 Author: Paul Price <price@astro.princeton.edu> Date: Mon Jul 10 12:19:40 2017 -0400   PsfWcsSelectImagesTask: make thresholds optional We may decide not to use a particular threshold, so they should be optional.   python/lsst/pipe/tasks/selectImages.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-)   commit 2634f9e6df4bbf6147d5a8520b9f1a0cc7b36db5 Author: Paul Price <price@astro.princeton.edu> Date: Mon Jul 10 13:10:55 2017 -0400   PsfWcsSelectImagesTask: add selection on scaled size scatter Takashi Hamana recommends a selection involving: max_scatterSize/medianSize^2 = 0.009   python/lsst/pipe/tasks/selectImages.py | 12 ++++++++++++ 1 file changed, 12 insertions(+)   commit d133c9b1cbdd5015f00d8ca9c7c79d390716787f Author: Paul Price <price@astro.princeton.edu> Date: Mon Jul 10 13:14:02 2017 -0400   PsfWcsSelectImagesTask: adopt Hamana-san's recommended limits Takashi Hamana recommends: max_medianE = 0.007 max_scatterSize/medianSize^2 = 0.009 We update the maxEllipResidual to correspond to Hamana-san's recommendation and remove the maxSizeScatter limit (maxScaledSizeScatter is already set appropriately).   python/lsst/pipe/tasks/selectImages.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
          Hide
          lauren Lauren MacArthur added a comment - - edited

          If we want PsfWcsSelectImagesTask to be the default for obs_subaru (as opposed to WcsSelectImagesTask), I believe the following needs to be added to obs_subaru/config/safeClipAssembleCoadd.py since that is the config override file that gets read when running assembleCoadd.py:

          from lsst.pipe.tasks.selectImages import PsfWcsSelectImagesTask
          config.select.retarget(PsfWcsSelectImagesTask)
          

          I suppose this could affect ci_hsc as I believe it runs the command lines separately, (i.e. does not use the driver scripts which do have the correct retargeting in the config override file). Hhhmmm...looking more closely at obs_subaru/config/coaddDriver.py, it loads the following config files:

          for sub in ("makeCoaddTempExp", "backgroundReference", "assembleCoadd", "processCoadd"):
          

          First, backgroundReference and processCoadd don't exist in obs_subaru/config (they do in obs_subaru/config/suprimecam). Should they be removed from the list?
          Second, should assembleCoadd ==> safeClipAssembleCoadd?

          I realize this isn't really part of this ticket so feel free to punt, but you are probably the authority on this anyway!

          Show
          lauren Lauren MacArthur added a comment - - edited If we want PsfWcsSelectImagesTask to be the default for obs_subaru (as opposed to WcsSelectImagesTask ), I believe the following needs to be added to obs_subaru/config/safeClipAssembleCoadd.py since that is the config override file that gets read when running assembleCoadd.py : from lsst.pipe.tasks.selectImages import PsfWcsSelectImagesTask config.select.retarget(PsfWcsSelectImagesTask) I suppose this could affect ci_hsc as I believe it runs the command lines separately, (i.e. does not use the driver scripts which do have the correct retargeting in the config override file). Hhhmmm...looking more closely at obs_subaru/config/coaddDriver.py , it loads the following config files: for sub in ("makeCoaddTempExp", "backgroundReference", "assembleCoadd", "processCoadd"): First, backgroundReference and processCoadd don't exist in obs_subaru/config (they do in obs_subaru/config/suprimecam ). Should they be removed from the list? Second, should assembleCoadd ==> safeClipAssembleCoadd ? I realize this isn't really part of this ticket so feel free to punt, but you are probably the authority on this anyway!
          Hide
          price Paul Price added a comment -

          Cleaning up the coadd configs is DM-10634. I'd love to be able to put that off until the warping and coadding is refactored....

          Show
          price Paul Price added a comment - Cleaning up the coadd configs is DM-10634 . I'd love to be able to put that off until the warping and coadding is refactored....
          Hide
          lauren Lauren MacArthur added a comment -

          Ok, thanks. I will point out that this means that the PsfWcsSelectImagesTask is not exercised anywhere in CI as there is no test for it and ci_hsc does not use it. This seems a bit dangerous...what are you running to ensure the appropriate CCDs are getting omitted with this change (I assume the next HSC run will be scrutinized, but a sanity check ahead of a production run is never a bad idea)?

          Show
          lauren Lauren MacArthur added a comment - Ok, thanks. I will point out that this means that the PsfWcsSelectImagesTask is not exercised anywhere in CI as there is no test for it and ci_hsc does not use it. This seems a bit dangerous...what are you running to ensure the appropriate CCDs are getting omitted with this change (I assume the next HSC run will be scrutinized, but a sanity check ahead of a production run is never a bad idea)?
          Hide
          price Paul Price added a comment -

          Furusawa-san sent me a list of visits for a couple of tracts, and pointed out which get included and rejected with the new cuts. I'm working on that now.

          Show
          price Paul Price added a comment - Furusawa-san sent me a list of visits for a couple of tracts, and pointed out which get included and rejected with the new cuts. I'm working on that now.
          Hide
          price Paul Price added a comment -

          Based on the testing against the list Furusawa-san sent, I'm rejecting CCDs that should be rejected. There was one instance where we reject a CCD that he didn't, but I think it's because of some operational difference that I don't currently understand (our medianE values for that CCD are very different). Nevertheless, the code works (though most images are rejected on the basis of the medianE cut, not the scaled size scatter).

          I believe I've addressed all the comments on GitHub, and so am about to merge...

          Show
          price Paul Price added a comment - Based on the testing against the list Furusawa-san sent, I'm rejecting CCDs that should be rejected. There was one instance where we reject a CCD that he didn't, but I think it's because of some operational difference that I don't currently understand (our medianE values for that CCD are very different). Nevertheless, the code works (though most images are rejected on the basis of the medianE cut, not the scaled size scatter). I believe I've addressed all the comments on GitHub, and so am about to merge...
          Hide
          price Paul Price added a comment -

          Merged to master.

          Thanks for the useful suggestions, Lauren!

          Show
          price Paul Price added a comment - Merged to master. Thanks for the useful suggestions, Lauren!

            People

            Assignee:
            price Paul Price
            Reporter:
            price Paul Price
            Reviewers:
            Lauren MacArthur
            Watchers:
            Lauren MacArthur, Paul Price
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Jenkins

                No builds found.