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

Change PSF determiners into tasks

    XMLWordPrintable

    Details

      Description

      PSF determiners are already configurables, and some benefit from having a log. Take the logical next step and make them instances of lsst.pipe.base.Task.

        Attachments

          Issue Links

            Activity

            Hide
            rowen Russell Owen added a comment - - edited

            This is a small change because PSF determiners were already configurables and were accessed using a registry (just as they are now). The new base class is BasePsfDeterminerTask (with associated config BasePsfDeterminerConfig and the two existing PSF determiners now inherit from it and get their log from it. I found very few config fields that were shared between the existing PSF determiners (not even the list of bad flags, which surprised me).

            In changing the PSF determiners to use the standard log I found a Debug style log; these simply negate the level, so I changed those calls to self.log.log(-N, ... where N was the original level.

            I also changed MeasurePsfTask to use makeSubtask to make the PSF determiner, since it can. This has no effect visible to users, but standardizes the code a bit. I also updated the documentation in MeasurePsfTask a bit.

            Note: the branches on meas_astrom and obs_lsstSim have no changes from master and are only there to hide older commits from lsstsw and Jenkins. Simply deleting the branches is not sufficient (a known bug in lsstsw).

            Show
            rowen Russell Owen added a comment - - edited This is a small change because PSF determiners were already configurables and were accessed using a registry (just as they are now). The new base class is BasePsfDeterminerTask (with associated config BasePsfDeterminerConfig and the two existing PSF determiners now inherit from it and get their log from it. I found very few config fields that were shared between the existing PSF determiners (not even the list of bad flags, which surprised me). In changing the PSF determiners to use the standard log I found a Debug style log; these simply negate the level, so I changed those calls to self.log.log(-N, ... where N was the original level. I also changed MeasurePsfTask to use makeSubtask to make the PSF determiner, since it can. This has no effect visible to users, but standardizes the code a bit. I also updated the documentation in MeasurePsfTask a bit. Note: the branches on meas_astrom and obs_lsstSim have no changes from master and are only there to hide older commits from lsstsw and Jenkins. Simply deleting the branches is not sufficient (a known bug in lsstsw).
            Hide
            reiss David Reiss added a comment -

            OK, I just made a few minor comments. I'm marking the review complete.

            Show
            reiss David Reiss added a comment - OK, I just made a few minor comments. I'm marking the review complete.
            Hide
            rowen Russell Owen added a comment -

            Thanks for the suggestions. I implemented them (except for cleaning up the linter issues in psfexPsfDeterminer.py, since I want to leave that for DM-5684) and merged to master. I also deleted the unused tickets/DM-6077 branches in meas_astrom and obs_lsstSim.

            Show
            rowen Russell Owen added a comment - Thanks for the suggestions. I implemented them (except for cleaning up the linter issues in psfexPsfDeterminer.py, since I want to leave that for DM-5684 ) and merged to master. I also deleted the unused tickets/ DM-6077 branches in meas_astrom and obs_lsstSim.

              People

              Assignee:
              rowen Russell Owen
              Reporter:
              rowen Russell Owen
              Reviewers:
              David Reiss
              Watchers:
              David Reiss, Russell Owen
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Jenkins Builds

                  No builds found.