CameraModel¶
- 
class lsst.jointcal.cameraGeometry.CameraModel(wcsList, detectors, camera, n=100)¶
- Bases: - object- Convert a jointcal - SkyWcsinto a distortion model and detector positions (TODO) that can be used by- 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. 
 - Methods Summary - computeCameraPixelScale([detector_id])- Compute the radial and tangential pixel scales using the distortion model supplied with the camera. - computeDistortionModel()- Calculate the afw cameraGeom distortion model to be included in an on-disk camera model. - computePixelScale()- Compute the radial and tangential pixel scale by averaging over multiple jointcal WCS models. - Methods Documentation - 
computeCameraPixelScale(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 - 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. 
 
 - 
computeDistortionModel()¶
- Calculate the afw cameraGeom distortion model to be included in an on-disk camera model. - PLACEHOLDER: This may be as simple as running - computePixelScaleand 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)
 - 
computePixelScale()¶
- 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.
 
- wcsList :