lsst.jointcal g99855d9996+88433d27cd
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Protected Member Functions | List of all members
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
 
 camera
 
 detectors
 
 maxFocalRadius
 
 n
 
 fieldAngle
 
 radialScale
 
 tangentialScale
 
 fieldAngles
 
 radialScales
 
 tangentialScales
 
 fieldAngleStd
 
 radialScaleStd
 
 tangentialScaleStd
 
 log
 

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

Definition at line 60 of file cameraGeometry.py.

◆ detectors

lsst.jointcal.cameraGeometry.CameraModel.detectors

Definition at line 61 of file cameraGeometry.py.

◆ fieldAngle

lsst.jointcal.cameraGeometry.CameraModel.fieldAngle

Definition at line 65 of file cameraGeometry.py.

◆ fieldAngles

lsst.jointcal.cameraGeometry.CameraModel.fieldAngles

Definition at line 69 of file cameraGeometry.py.

◆ fieldAngleStd

lsst.jointcal.cameraGeometry.CameraModel.fieldAngleStd

Definition at line 72 of file cameraGeometry.py.

◆ log

lsst.jointcal.cameraGeometry.CameraModel.log

Definition at line 76 of file cameraGeometry.py.

◆ maxFocalRadius

lsst.jointcal.cameraGeometry.CameraModel.maxFocalRadius

Definition at line 62 of file cameraGeometry.py.

◆ n

lsst.jointcal.cameraGeometry.CameraModel.n

Definition at line 63 of file cameraGeometry.py.

◆ radialScale

lsst.jointcal.cameraGeometry.CameraModel.radialScale

Definition at line 66 of file cameraGeometry.py.

◆ radialScales

lsst.jointcal.cameraGeometry.CameraModel.radialScales

Definition at line 70 of file cameraGeometry.py.

◆ radialScaleStd

lsst.jointcal.cameraGeometry.CameraModel.radialScaleStd

Definition at line 73 of file cameraGeometry.py.

◆ tangentialScale

lsst.jointcal.cameraGeometry.CameraModel.tangentialScale

Definition at line 67 of file cameraGeometry.py.

◆ tangentialScales

lsst.jointcal.cameraGeometry.CameraModel.tangentialScales

Definition at line 71 of file cameraGeometry.py.

◆ tangentialScaleStd

lsst.jointcal.cameraGeometry.CameraModel.tangentialScaleStd

Definition at line 74 of file cameraGeometry.py.

◆ wcsList

lsst.jointcal.cameraGeometry.CameraModel.wcsList

Definition at line 59 of file cameraGeometry.py.


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