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

Misc fixes and updates to display_matplotlib

    XMLWordPrintable

Details

    • Story
    • Status: Done
    • Resolution: Done
    • None
    • display_matplotlib
    • None
    • DM Science

    Description

      I've accumulated a number of minor changes in display_matplotlib:

      • qt5 is an interactive backend
      • mask plane composition is done wrong
      • export savefig to the afwDisplay interface
      • support Buffering()
      • Be smarter about the shape of zoomed images

      Attachments

        Activity

          Robert, I'm not sure if you'd want to add it to this ticket, but while poking around in this repo I noticed a possible fail mode.  In _dot here: you check for

          isinstance(symb, afwGeom.ellipses.BaseCore)
          

          You then call .getA() and .getB() and .getTheta() on symb, but I don't think all instances of afwGeom.ellipses.BaseCore have these attributes, including Quadrupole which you actually note as a possible valid object type.

          print(type(sQuad))
          <class 'lsst.afw.geom.ellipses.quadrupole.quadrupole.Quadrupole'>
           
          isinstance(sQuad, afwGeom.ellipses.BaseCore)
          True
           
          sQuad.getA()
          ---------------------------------------------------------------------------
          AttributeError                            Traceback (most recent call last)
          <ipython-input-16-ee9b25dcce18> in <module>()
          ----> 1 sQuad.getA()
           
          AttributeError: 'lsst.afw.geom.ellipses.quadrupole.quadrupole.Quadr' object has no attribute 'getA'
          

          (and, of course, I may have missed something...so please correct me if I'm wrong!)

          lauren Lauren MacArthur added a comment - Robert, I'm not sure if you'd want to add it to this ticket, but while poking around in this repo I noticed a possible fail mode.  In _dot here : you check for isinstance (symb, afwGeom.ellipses.BaseCore) You then call .getA() and .getB() and .getTheta() on symb , but I don't think all instances of afwGeom.ellipses.BaseCore have these attributes, including Quadrupole which you actually note as a possible valid object type. print ( type (sQuad)) < class 'lsst.afw.geom.ellipses.quadrupole.quadrupole.Quadrupole' >   isinstance (sQuad, afwGeom.ellipses.BaseCore) True   sQuad.getA() - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AttributeError Traceback (most recent call last) <ipython - input - 16 - ee9b25dcce18> in <module>() - - - - > 1 sQuad.getA()   AttributeError: 'lsst.afw.geom.ellipses.quadrupole.quadrupole.Quadr' object has no attribute 'getA' (and, of course, I may have missed something...so please correct me if I'm wrong!)

          This looks good.

          One request on PR is to document the "lowest bitplane" behavior to more clearly explain to the user that it's "lowest mask plane set on a per pixel basis".

          Plus 2 minor in-code-level comment requests.

          wmwood-vasey Michael Wood-Vasey added a comment - This looks good. One request on PR is to document the "lowest bitplane" behavior to more clearly explain to the user that it's "lowest mask plane set on a per pixel basis". Plus 2 minor in-code-level comment requests.

          Done!  Merged!  Thank you.

          I'm still open to more feature requests/bug tickets

          rhl Robert Lupton added a comment - Done!  Merged!  Thank you. I'm still open to more feature requests/bug tickets

          People

            rhl Robert Lupton
            rhl Robert Lupton
            Michael Wood-Vasey
            Lauren MacArthur, Michael Wood-Vasey, Robert Lupton
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Jenkins

                No builds found.