lsst.jointcal g29ae962dfc+3cd9264c2f
Loading...
Searching...
No Matches
lsst.jointcal.cameraGeometry.CameraModel Class Reference

Public Member Functions

 __init__ (self, wcsList, detectors, camera, n=100)
 
 computeDistortionModel (self)
 
 computePixelScale (self)
 
 computeCameraPixelScale (self, detector_id=30)
 

Public Attributes

 wcsList = wcsList
 
 camera = camera
 
 detectors = detectors
 
 maxFocalRadius = self.camera.computeMaxFocalPlaneRadius()
 
 n = n
 
 fieldAngle = None
 
 radialScale = None
 
 tangentialScale = None
 
list fieldAngles = None
 
list radialScales = None
 
list tangentialScales = None
 
 fieldAngleStd = None
 
 radialScaleStd = None
 
 tangentialScaleStd = None
 
 log = _LOG.getChild("CameraModel")
 

Protected Member Functions

 _computeDetectorPixelScale (self, detector_id, wcs)
 

Detailed Description

Convert a jointcal `~lsst.afw.geom.SkyWcs` into a distortion model and
detector positions (TODO) that can be used by `~lsst.afw.cameraGeom`.

Because this code only operates on the WCS, it is independent of the
format of the persisted output (e.g. gen2 separate files vs. gen3 bundled
visits).

Parameters
----------
wcsList : `list` [`lsst.afw.geom.SkyWcs`]
    The WCS to use to compute the distortion model from, preferably from
    multiple visits on the same tract.
detectors : `list` [`int`]
    Detector ids that correspond one-to-one with ``wcsList``.
camera : `lsst.afw.cameraGeom.Camera`
    The camera these WCS were fit for.
n : `int`
    Number of points to compute the pixel scale at, along the +y axis.

Definition at line 38 of file cameraGeometry.py.

Constructor & Destructor Documentation

◆ __init__()

lsst.jointcal.cameraGeometry.CameraModel.__init__ ( self,
wcsList,
detectors,
camera,
n = 100 )

Definition at line 58 of file cameraGeometry.py.

Member Function Documentation

◆ _computeDetectorPixelScale()

lsst.jointcal.cameraGeometry.CameraModel._computeDetectorPixelScale ( self,
detector_id,
wcs )
protected
Compute pixel scale in radial and tangential directions as a
function of field angle.

Parameters
----------
detector_id: `int`
    Detector identifier for the detector of this wcs.
wcs : `lsst.afw.geom.SkyWcs`
    Full focal-plane model to compute pixel scale on.

Returns
-------
fieldAngle : `numpy.ndarray`
    Field angles in degrees.
radialScale : `numpy.ndarray`
    Radial direction pixel scales in arcseconds/pixel.
tangentialScale : `numpy.ndarray`
    Tangential direction pixel scales in arcseconds/pixel.

Notes
-----
Pixel scales are calculated from finite differences only along the +y
focal plane direction.

Definition at line 171 of file cameraGeometry.py.

◆ computeCameraPixelScale()

lsst.jointcal.cameraGeometry.CameraModel.computeCameraPixelScale ( self,
detector_id = 30 )
Compute the radial and tangential pixel scales using the distortion
model supplied with the camera.

This is designed to be directly comparable with the results of
`~CameraModel.computePixelScale`.

Parameters
----------
detector_id: `int`
    Detector identifier for the detector_id to use for the calculation.

Returns
-------
fieldAngle : `numpy.ndarray`
    Field angles in degrees.
radialScale : `numpy.ndarray`
    Radial direction pixel scales in arcseconds/pixel.
tangentialScale : `numpy.ndarray`
    Tangential direction pixel scales in arcseconds/pixel.

Definition at line 127 of file cameraGeometry.py.

◆ computeDistortionModel()

lsst.jointcal.cameraGeometry.CameraModel.computeDistortionModel ( self)
Calculate the afw cameraGeom distortion model to be included in an
on-disk camera model.

PLACEHOLDER: This may be as simple as running `computePixelScale` and
then doing a numpy polynomial fit to it for the cameraGeom input.
However, we need to check details of how that distortion model is
stored in a Camera. e.g.:
np.polyfit(self.fieldAngle, self.radialScale, poly_degree)

Definition at line 78 of file cameraGeometry.py.

◆ computePixelScale()

lsst.jointcal.cameraGeometry.CameraModel.computePixelScale ( self)
Compute the radial and tangential pixel scale by averaging over
multiple jointcal WCS models.

Also computes the standard deviation and logs any WCS that are
significant outliers.
The calculations are stored in the ``fieldAngle[s]``,
``radialScale[s]``, and ``tangentialScale[s]`` member variables.

Definition at line 90 of file cameraGeometry.py.

Member Data Documentation

◆ camera

lsst.jointcal.cameraGeometry.CameraModel.camera = camera

Definition at line 60 of file cameraGeometry.py.

◆ detectors

lsst.jointcal.cameraGeometry.CameraModel.detectors = detectors

Definition at line 61 of file cameraGeometry.py.

◆ fieldAngle

lsst.jointcal.cameraGeometry.CameraModel.fieldAngle = None

Definition at line 65 of file cameraGeometry.py.

◆ fieldAngles

list lsst.jointcal.cameraGeometry.CameraModel.fieldAngles = None

Definition at line 69 of file cameraGeometry.py.

◆ fieldAngleStd

lsst.jointcal.cameraGeometry.CameraModel.fieldAngleStd = None

Definition at line 72 of file cameraGeometry.py.

◆ log

lsst.jointcal.cameraGeometry.CameraModel.log = _LOG.getChild("CameraModel")

Definition at line 76 of file cameraGeometry.py.

◆ maxFocalRadius

lsst.jointcal.cameraGeometry.CameraModel.maxFocalRadius = self.camera.computeMaxFocalPlaneRadius()

Definition at line 62 of file cameraGeometry.py.

◆ n

lsst.jointcal.cameraGeometry.CameraModel.n = n

Definition at line 63 of file cameraGeometry.py.

◆ radialScale

lsst.jointcal.cameraGeometry.CameraModel.radialScale = None

Definition at line 66 of file cameraGeometry.py.

◆ radialScales

list lsst.jointcal.cameraGeometry.CameraModel.radialScales = None

Definition at line 70 of file cameraGeometry.py.

◆ radialScaleStd

lsst.jointcal.cameraGeometry.CameraModel.radialScaleStd = None

Definition at line 73 of file cameraGeometry.py.

◆ tangentialScale

lsst.jointcal.cameraGeometry.CameraModel.tangentialScale = None

Definition at line 67 of file cameraGeometry.py.

◆ tangentialScales

list lsst.jointcal.cameraGeometry.CameraModel.tangentialScales = None

Definition at line 71 of file cameraGeometry.py.

◆ tangentialScaleStd

lsst.jointcal.cameraGeometry.CameraModel.tangentialScaleStd = None

Definition at line 74 of file cameraGeometry.py.

◆ wcsList

lsst.jointcal.cameraGeometry.CameraModel.wcsList = wcsList

Definition at line 59 of file cameraGeometry.py.


The documentation for this class was generated from the following file: