# Add FunctorKey for full ellipses

XMLWordPrintable

#### Details

• Status: Done
• Resolution: Done
• Fix Version/s: None
• Component/s:
• 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.

#### Activity

Hide
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
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
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
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
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
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:
Jim Bosch
Reporter:
Jim Bosch
Reviewers:
Russell Owen
Watchers:
Jim Bosch, Russell Owen