LSSTApplications  10.0+286,10.0+36,10.0+46,10.0-2-g4f67435,10.1+152,10.1+37,11.0,11.0+1,11.0-1-g47edd16,11.0-1-g60db491,11.0-1-g7418c06,11.0-2-g04d2804,11.0-2-g68503cd,11.0-2-g818369d,11.0-2-gb8b8ce7
LSSTDataManagementBasePackage
Functions | Variables
lsst.afw.cameraGeom.cameraFactory Namespace Reference

Functions

def makeDetector
 Make a Detector instance from a detector config and amp info catalog. More...
 
def makeOrientation
 Make an Orientation instance from a detector config. More...
 
def makeTransformDict
 Make a dictionary of CameraSys: lsst.afw.geom.XYTransform from a config dict. More...
 
def makeCameraFromPath
 Make a Camera instance from a directory of ampInfo files. More...
 
def makeCameraFromCatalogs
 Construct a Camera instance from a dictionary of detector name: AmpInfoCatalog. More...
 

Variables

list __all__ = ["makeCameraFromPath", "makeCameraFromCatalogs", "makeDetector"]
 
list cameraSysList = [PUPIL, FOCAL_PLANE, PIXELS, TAN_PIXELS, ACTUAL_PIXELS]
 
tuple cameraSysMap = dict((sys.getSysName(), sys) for sys in cameraSysList)
 

Function Documentation

def lsst.afw.cameraGeom.cameraFactory.makeCameraFromCatalogs (   cameraConfig,
  ampInfoCatDict 
)

Construct a Camera instance from a dictionary of detector name: AmpInfoCatalog.

Parameters
[in]cameraConfigan instance of CameraConfig
[in]ampInfoCatDicta dictionary of detector name: AmpInfoCatalog
Returns
camera (an lsst.afw.cameraGeom.Camera)

Definition at line 100 of file cameraFactory.py.

101 def makeCameraFromCatalogs(cameraConfig, ampInfoCatDict):
102  """!Construct a Camera instance from a dictionary of detector name: AmpInfoCatalog
103 
104  @param[in] cameraConfig an instance of CameraConfig
105  @param[in] ampInfoCatDict a dictionary of detector name: AmpInfoCatalog
106  @return camera (an lsst.afw.cameraGeom.Camera)
107  """
108  nativeSys = cameraSysMap[cameraConfig.transformDict.nativeSys]
109  transformDict = makeTransformDict(cameraConfig.transformDict.transforms)
110  focalPlaneToPupil = transformDict[PUPIL]
111  transformMap = CameraTransformMap(nativeSys, transformDict)
112 
113  detectorList = []
114  for detectorConfig in cameraConfig.detectorList.itervalues():
115  ampInfoCatalog = ampInfoCatDict[detectorConfig.name]
116 
117  detectorList.append(makeDetector(
118  detectorConfig = detectorConfig,
119  ampInfoCatalog = ampInfoCatalog,
120  focalPlaneToPupil = focalPlaneToPupil,
121  plateScale = cameraConfig.plateScale,
122  ))
123 
124  return Camera(cameraConfig.name, detectorList, transformMap)
def makeTransformDict
Make a dictionary of CameraSys: lsst.afw.geom.XYTransform from a config dict.
def makeDetector
Make a Detector instance from a detector config and amp info catalog.
def makeCameraFromCatalogs
Construct a Camera instance from a dictionary of detector name: AmpInfoCatalog.
def lsst.afw.cameraGeom.cameraFactory.makeCameraFromPath (   cameraConfig,
  ampInfoPath,
  shortNameFunc 
)

Make a Camera instance from a directory of ampInfo files.

The directory must contain one ampInfo fits file for each detector in cameraConfig.detectorList. The name of each ampInfo file must be shortNameFunc(fullDetectorName) + ".fits".

Parameters
[in]cameraConfigan instance of CameraConfig
[in]ampInfoPathpath to ampInfo data files
[in]shortNameFunca function that converts a long detector name to a short one
Returns
camera (an lsst.afw.cameraGeom.Camera)

Definition at line 80 of file cameraFactory.py.

80 
81 def makeCameraFromPath(cameraConfig, ampInfoPath, shortNameFunc):
82  """!Make a Camera instance from a directory of ampInfo files
83 
84  The directory must contain one ampInfo fits file for each detector in cameraConfig.detectorList.
85  The name of each ampInfo file must be shortNameFunc(fullDetectorName) + ".fits".
86 
87  @param[in] cameraConfig an instance of CameraConfig
88  @param[in] ampInfoPath path to ampInfo data files
89  @param[in] shortNameFunc a function that converts a long detector name to a short one
90  @return camera (an lsst.afw.cameraGeom.Camera)
91  """
92  ampInfoCatDict = dict()
93  for detectorConfig in cameraConfig.detectorList.itervalues():
94  shortName = shortNameFunc(detectorConfig.name)
95  ampCatPath = os.path.join(ampInfoPath, shortName + ".fits")
96  ampInfoCatalog = AmpInfoCatalog.readFits(ampCatPath)
97  ampInfoCatDict[detectorConfig.name] = ampInfoCatalog
98 
99  return makeCameraFromCatalogs(cameraConfig, ampInfoCatDict)
def makeCameraFromPath
Make a Camera instance from a directory of ampInfo files.
def makeCameraFromCatalogs
Construct a Camera instance from a dictionary of detector name: AmpInfoCatalog.
def lsst.afw.cameraGeom.cameraFactory.makeDetector (   detectorConfig,
  ampInfoCatalog,
  focalPlaneToPupil,
  plateScale 
)

Make a Detector instance from a detector config and amp info catalog.

Parameters
detectorConfigconfig for this detector (an lsst.pex.config.Config)
ampInfoCatalogamplifier information for this detector (an lsst.afw.table.AmpInfoCatalog)
focalPlaneToPupilFOCAL_PLANE to PUPIL XYTransform
plateScalenominal plate scale (arcsec/mm)
Returns
detector (an lsst.afw.cameraGeom.Detector)

Definition at line 14 of file cameraFactory.py.

14 
15 def makeDetector(detectorConfig, ampInfoCatalog, focalPlaneToPupil, plateScale):
16  """!Make a Detector instance from a detector config and amp info catalog
17 
18  @param detectorConfig config for this detector (an lsst.pex.config.Config)
19  @param ampInfoCatalog amplifier information for this detector (an lsst.afw.table.AmpInfoCatalog)
20  @param focalPlaneToPupil FOCAL_PLANE to PUPIL XYTransform
21  @param plateScale nominal plate scale (arcsec/mm)
22  @return detector (an lsst.afw.cameraGeom.Detector)
23  """
24  orientation = makeOrientation(detectorConfig)
25  pixelSizeMm = afwGeom.Extent2D(detectorConfig.pixelSize_x, detectorConfig.pixelSize_y)
26  transforms = makeTransformDict(detectorConfig.transformDict.transforms)
27  transforms[FOCAL_PLANE] = orientation.makePixelFpTransform(pixelSizeMm)
28 
29  llPoint = afwGeom.Point2I(detectorConfig.bbox_x0, detectorConfig.bbox_y0)
30  urPoint = afwGeom.Point2I(detectorConfig.bbox_x1, detectorConfig.bbox_y1)
31  bbox = afwGeom.Box2I(llPoint, urPoint)
32 
33  tanPixSys = CameraSys(TAN_PIXELS, detectorConfig.name)
34  transforms[tanPixSys] = makePixelToTanPixel(
35  bbox = bbox,
36  orientation = orientation,
37  focalPlaneToPupil = focalPlaneToPupil,
38  pixelSizeMm = pixelSizeMm,
39  plateScale = plateScale,
40  )
41 
42  return Detector(
43  detectorConfig.name,
44  detectorConfig.id,
45  detectorConfig.detectorType,
46  detectorConfig.serial,
47  bbox,
48  ampInfoCatalog,
49  orientation,
50  pixelSizeMm,
51  transforms,
52  )
def makeTransformDict
Make a dictionary of CameraSys: lsst.afw.geom.XYTransform from a config dict.
An integer coordinate rectangle.
Definition: Box.h:53
def makeOrientation
Make an Orientation instance from a detector config.
def makePixelToTanPixel
Make an XYTransform whose forward direction converts PIXEL to TAN_PIXEL for one detector.
def makeDetector
Make a Detector instance from a detector config and amp info catalog.
def lsst.afw.cameraGeom.cameraFactory.makeOrientation (   detectorConfig)

Make an Orientation instance from a detector config.

Parameters
detectorConfigconfig for this detector (an lsst.pex.config.Config)
Returns
orientation (an lsst.afw.cameraGeom.Orientation)

Definition at line 53 of file cameraFactory.py.

53 
54 def makeOrientation(detectorConfig):
55  """!Make an Orientation instance from a detector config
56 
57  @param detectorConfig config for this detector (an lsst.pex.config.Config)
58  @return orientation (an lsst.afw.cameraGeom.Orientation)
59  """
60  offset = afwGeom.Point2D(detectorConfig.offset_x, detectorConfig.offset_y)
61  refPos = afwGeom.Point2D(detectorConfig.refpos_x, detectorConfig.refpos_y)
62  yaw = afwGeom.Angle(detectorConfig.yawDeg, afwGeom.degrees)
63  pitch = afwGeom.Angle(detectorConfig.pitchDeg, afwGeom.degrees)
64  roll = afwGeom.Angle(detectorConfig.rollDeg, afwGeom.degrees)
65  return Orientation(offset, refPos, yaw, pitch, roll)
def makeOrientation
Make an Orientation instance from a detector config.
def lsst.afw.cameraGeom.cameraFactory.makeTransformDict (   transformConfigDict)

Make a dictionary of CameraSys: lsst.afw.geom.XYTransform from a config dict.

Parameters
transformConfigDictan lsst.pex.config.ConfigDictField from an lsst.afw.geom.XYTransform registry; keys are camera system names.
Returns
a dict of CameraSys or CameraSysPrefix: lsst.afw.geom.XYTransform

Definition at line 66 of file cameraFactory.py.

66 
67 def makeTransformDict(transformConfigDict):
68  """!Make a dictionary of CameraSys: lsst.afw.geom.XYTransform from a config dict.
69 
70  @param transformConfigDict an lsst.pex.config.ConfigDictField from an lsst.afw.geom.XYTransform
71  registry; keys are camera system names.
72  @return a dict of CameraSys or CameraSysPrefix: lsst.afw.geom.XYTransform
73  """
74  resMap = dict()
75  if transformConfigDict is not None:
76  for key in transformConfigDict:
77  transform = transformConfigDict[key].transform.apply()
78  resMap[CameraSys(key)] = transform
79  return resMap
def makeTransformDict
Make a dictionary of CameraSys: lsst.afw.geom.XYTransform from a config dict.

Variable Documentation

list lsst.afw.cameraGeom.cameraFactory.__all__ = ["makeCameraFromPath", "makeCameraFromCatalogs", "makeDetector"]

Definition at line 9 of file cameraFactory.py.

list lsst.afw.cameraGeom.cameraFactory.cameraSysList = [PUPIL, FOCAL_PLANE, PIXELS, TAN_PIXELS, ACTUAL_PIXELS]

Definition at line 11 of file cameraFactory.py.

tuple lsst.afw.cameraGeom.cameraFactory.cameraSysMap = dict((sys.getSysName(), sys) for sys in cameraSysList)

Definition at line 12 of file cameraFactory.py.