Add pupil API to cameraGeom.Camera

Description

For physical optics PSFs, we require a model of the pupil obscuration, which I propose should be a part of afw.cameraGeom.Camera. In particular, I plan to add abstract base classes

  • cameraGeom.PupilFactory

  • cameraGeom.Pupil

and make the following API changes:

  • Camera gains a ._pupilFactory attribute and Camera.__init__ gains a pupilFactory kwarg.

  • camera factories makeCameraFromPath and makeCameraFromCatalogs gain a pupilFactory kwarg with default value equal to cameraGeom.PupilFactory

  • CameraMapper gains an attribute pupilFactoryClass with value cameraGeom.pupilFactory. Subclasses (e.g., HscMapper) can then set this attribute to a camera-specific pupilFactory as desired.

  • CameraMapper._makeCamera passes self.pupilFactoryClass to makeCameraFromPath

See CLO post here for more details. Also, since some discussion already exists on the CLO post, please add additional comments there.

Checklist

Lucidchart Diagrams

Issue Matrix

hide

Activity

Show:
Josh Meyers
April 7, 2017 at 6:26 PM

A bit out-of-order, but I'm going to claim this RFC is triggering DM-9572.

Done
Pinned fields
Click on the next to a field label to start pinning.

Details

Assignee

Reporter

Planned End

Location (migrated)

Components

Checklist

Created April 4, 2017 at 5:21 PM
Updated April 14, 2017 at 11:35 AM
Resolved April 14, 2017 at 11:35 AM