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

Finish wrapping of pickling with pybind11 in afw

    XMLWordPrintable

Details

    • Story
    • Status: Done
    • Resolution: Done
    • None
    • afw
    • 4
    • DRP S17-1
    • 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

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

            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 .

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

            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.
            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.

            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.
            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'>
            

            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'>

            Merged after applying fixes.

            pschella Pim Schellart [X] (Inactive) added a comment - Merged after applying fixes.

            People

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

              Dates

                Created:
                Updated:
                Resolved:

                Jenkins

                  No builds found.