Details

    • Type: Technical task
    • Status: Done
    • Resolution: Done
    • Fix Version/s: None
    • Component/s: afw
    • Labels:
    • Sprint:
      Measurement-S14-4
    • Team:
      Data Release Production

      Description

      Add a FunctorKey for full afw::geom::ellipses::Ellipse objects, delegating to the existing QuadrupoleKey and PointKey.

      Need to add convenience methods to all three of these for adding fields to a Schema.

        Attachments

          Activity

          Hide
          jbosch Jim Bosch added a comment -

          Ready for review on u/jbosch/DM-1222 of afw; should be pretty straightforward.

          This is a new class I needed while implementing DM-240; I decided to split it off into a subtask to make the overall review easier overall. The new class is a "FunctorKey" for Ellipses - that is, a Key-like object that aggregates a few normal Keys to allow more complex objects to be retrieved and set from a Record. It delegates all of its work to the existing QuadrupoleKey and PointKey classes, which I've also improved slightly by adding convenience methods to add appropriately-named fields to a Schema.

          afw:u/jbosch/DM-1222 % git diff --stat master
           include/lsst/afw/table/aggregates.h |  107 ++++++++++++++++++++++++++++++++++-
           src/table/aggregates.cc             |   46 +++++++++++++++
           tests/testFunctorKeys.py            |   70 +++++++++++++++++++++--
           3 files changed, 216 insertions(+), 7 deletions(-)

          Show
          jbosch Jim Bosch added a comment - Ready for review on u/jbosch/ DM-1222 of afw; should be pretty straightforward. This is a new class I needed while implementing DM-240 ; I decided to split it off into a subtask to make the overall review easier overall. The new class is a "FunctorKey" for Ellipses - that is, a Key-like object that aggregates a few normal Keys to allow more complex objects to be retrieved and set from a Record. It delegates all of its work to the existing QuadrupoleKey and PointKey classes, which I've also improved slightly by adding convenience methods to add appropriately-named fields to a Schema. afw:u/jbosch/DM-1222 % git diff --stat master include/lsst/afw/table/aggregates.h | 107 ++++++++++++++++++++++++++++++++++- src/table/aggregates.cc | 46 +++++++++++++++ tests/testFunctorKeys.py | 70 +++++++++++++++++++++-- 3 files changed, 216 insertions(+), 7 deletions(-)
          Hide
          rowen Russell Owen added a comment -

          This looks great. The <x>Key classes and addField static methods look very useful.

          Nit-pick in aggregates.h: EllipseKey wants a Quadrupole and a Point, but the subschema constructor brief comment says:
          @brief Construct from a subschema, assuming xx, yy, and xy subfields
          it should also mention x and y fields.

          Show
          rowen Russell Owen added a comment - This looks great. The <x>Key classes and addField static methods look very useful. Nit-pick in aggregates.h: EllipseKey wants a Quadrupole and a Point, but the subschema constructor brief comment says: @brief Construct from a subschema, assuming xx, yy, and xy subfields it should also mention x and y fields.
          Hide
          jbosch Jim Bosch added a comment -

          Nit-pick in aggregates.h: EllipseKey wants a Quadrupole and a Point, but the subschema constructor brief comment says:
          @brief Construct from a subschema, assuming xx, yy, and xy subfields
          it should also mention x and y fields.

          Fixed, thanks!

          Show
          jbosch Jim Bosch added a comment - Nit-pick in aggregates.h: EllipseKey wants a Quadrupole and a Point, but the subschema constructor brief comment says: @brief Construct from a subschema, assuming xx, yy, and xy subfields it should also mention x and y fields. Fixed, thanks!

            People

            Assignee:
            jbosch Jim Bosch
            Reporter:
            jbosch Jim Bosch
            Reviewers:
            Russell Owen
            Watchers:
            Jim Bosch, Russell Owen
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Jenkins

                No builds found.