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

Finish wrapping of pickling with pybind11 in afw

    Details

    • Type: Story
    • Status: Done
    • Resolution: Done
    • Fix Version/s: None
    • Component/s: afw
    • Story Points:
      4
    • Sprint:
      DRP S17-1
    • Team:
      Data Release Production

      Description

      Pickling of afw objects is done in several places. This ticket involves wrapping all cases with pybind11.
      The following tests have to pass (more may be added over time when encountered):

      • testPickles.py
      • testImagePickle.py
      • testTicket2233.py
      • testSourceMatch.py
      • testPolygon.py
      • testBackground.py

      The following tests in obs_base need to pass:

      • testOutputRoot.py::OutputRootTestCase::testBackup (depends on pickling of Point2I)

        Attachments

          Issue Links

            Activity

            Hide
            pschella Pim Schellart [X] (Inactive) added a comment -

            Merged after applying fixes.

            Show
            pschella Pim Schellart [X] (Inactive) added a comment - Merged after applying fixes.
            Hide
            rowen Russell Owen added a comment -

            I build this on my Mac (using tickets/DM-8467 for all other packages) and unfortunately had one failure, in testSourceMatch.py:

            ======================================================================
            ERROR: testIdentity (__main__.SourceMatchTestCase)
            ----------------------------------------------------------------------
            Traceback (most recent call last):
              File "tests/testSourceMatch.py", line 113, in testIdentity
                self.checkMatchToFromCatalog(mat, cat)
              File "tests/testSourceMatch.py", line 349, in checkMatchToFromCatalog
                self.assertEqual(mat.first.getCoord(), matchC.first.getCoord())
            TypeError: Unable to convert function return value to a Python type! The signature was
            	(self: lsst.afw.table._simple.SimpleRecord) -> lsst::afw::coord::IcrsCoord
            

            I also build obs_base and had one failure, in testCameraMapper.py:

            ======================================================================
            ERROR: testCatalogExtras (__main__.Mapper2TestCase)
            ----------------------------------------------------------------------
            Traceback (most recent call last):
              File "tests/testCameraMapper.py", line 219, in testCatalogExtras
                aa = schema.addField("a", type=int, doc="a")
              File "/Users/rowen/UW/LSST/lsstsw3/build/afw/python/lsst/afw/table/schema.py", line 61, in _schemaAddField
                type = aliases[type]
            KeyError: <class 'int'>
            

            Show
            rowen Russell Owen added a comment - I build this on my Mac (using tickets/ DM-8467 for all other packages) and unfortunately had one failure, in testSourceMatch.py : ====================================================================== ERROR: testIdentity (__main__.SourceMatchTestCase) ---------------------------------------------------------------------- Traceback (most recent call last): File "tests/testSourceMatch.py", line 113, in testIdentity self.checkMatchToFromCatalog(mat, cat) File "tests/testSourceMatch.py", line 349, in checkMatchToFromCatalog self.assertEqual(mat.first.getCoord(), matchC.first.getCoord()) TypeError: Unable to convert function return value to a Python type! The signature was (self: lsst.afw.table._simple.SimpleRecord) -> lsst::afw::coord::IcrsCoord I also build obs_base and had one failure, in testCameraMapper.py : ====================================================================== ERROR: testCatalogExtras (__main__.Mapper2TestCase) ---------------------------------------------------------------------- Traceback (most recent call last): File "tests/testCameraMapper.py", line 219, in testCatalogExtras aa = schema.addField("a", type=int, doc="a") File "/Users/rowen/UW/LSST/lsstsw3/build/afw/python/lsst/afw/table/schema.py", line 61, in _schemaAddField type = aliases[type] KeyError: <class 'int'>
            Hide
            rowen Russell Owen added a comment -

            Overall this looks very good to me. I did have a few minor suggestions (on github). I have not tried to test it against obs_base but suggest you either commit it now or run Jenkins and include obs_base and see if that works.

            Show
            rowen Russell Owen added a comment - Overall this looks very good to me. I did have a few minor suggestions (on github). I have not tried to test it against obs_base but suggest you either commit it now or run Jenkins and include obs_base and see if that works.
            Hide
            pschella Pim Schellart [X] (Inactive) added a comment -

            I have not tested obs_base but it should work now. Please confirm as part of review.

            Show
            pschella Pim Schellart [X] (Inactive) added a comment - I have not tested obs_base but it should work now. Please confirm as part of review.
            Hide
            pschella Pim Schellart [X] (Inactive) added a comment -

            Fixing or removing picking support for `MatchList` objects (tested in testSourceMatch.py) has been punted to DM-8715.

            Show
            pschella Pim Schellart [X] (Inactive) added a comment - Fixing or removing picking support for `MatchList` objects (tested in testSourceMatch.py ) has been punted to DM-8715 .

              People

              • Assignee:
                pschella Pim Schellart [X] (Inactive)
                Reporter:
                pschella Pim Schellart [X] (Inactive)
                Reviewers:
                Russell Owen
                Watchers:
                Krzysztof Findeisen, Pim Schellart [X] (Inactive), Russell Owen
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Summary Panel