lsst.afw
g3a5ebb7d8a+28b83bf6a5
Toggle main menu visibility
Loading...
Searching...
No Matches
python
lsst
afw
cameraGeom
_camera.py
Go to the documentation of this file.
1
# This file is part of afw.
2
#
3
# Developed for the LSST Data Management System.
4
# This product includes software developed by the LSST Project
5
# (https://www.lsst.org).
6
# See the COPYRIGHT file at the top-level directory of this distribution
7
# for details of code ownership.
8
#
9
# This program is free software: you can redistribute it and/or modify
10
# it under the terms of the GNU General Public License as published by
11
# the Free Software Foundation, either version 3 of the License, or
12
# (at your option) any later version.
13
#
14
# This program is distributed in the hope that it will be useful,
15
# but WITHOUT ANY WARRANTY; without even the implied warranty of
16
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
# GNU General Public License for more details.
18
#
19
# You should have received a copy of the GNU General Public License
20
# along with this program. If not, see <https://www.gnu.org/licenses/>.
21
22
__all__ = [
'Camera'
]
23
24
import
numpy
as
np
25
from
lsst.utils
import
continueClass, doImport
26
from
._cameraGeom
import
Camera, FOCAL_PLANE
27
28
29
@continueClass
30
class
Camera
:
# noqa: F811
31
32
def
getPupilFactory
(self, visitInfo, pupilSize, npix, **kwargs):
33
"""Construct a PupilFactory.
34
35
Parameters
36
----------
37
visitInfo : `~lsst.afw.image.VisitInfo`
38
VisitInfo object for a particular exposure.
39
pupilSize : `float`
40
Size in meters of constructed Pupil array. Note that this may be
41
larger than the actual diameter of the illuminated pupil to
42
accommodate zero-padding.
43
npix : `int`
44
Constructed Pupils will be npix x npix.
45
**kwargs : `dict`
46
Other keyword arguments forwarded to the PupilFactoryClass
47
constructor.
48
"""
49
cls = doImport(self.getPupilFactoryName())
50
return
cls(visitInfo, pupilSize, npix, **kwargs)
51
52
@property
53
def
telescopeDiameter
(self):
54
cls = doImport(self.getPupilFactoryName())
55
return
cls.
telescopeDiameter
56
57
def
computeMaxFocalPlaneRadius
(self):
58
"""Compute the maximum radius on the focal plane of the corners of all
59
detectors in this camera.
60
61
Returns
62
-------
63
focalRadius : `float`
64
Maximum focal plane radius in FOCAL_PLANE units (mm).
65
"""
66
radii = []
67
for
detector
in
self:
68
for
corner
in
detector.getCorners(FOCAL_PLANE):
69
radii.append(np.hypot(*corner))
70
return
np.max(radii)
lsst::afw::cameraGeom._camera.Camera
Definition
_camera.py:30
lsst::afw::cameraGeom._camera.Camera.getPupilFactory
getPupilFactory(self, visitInfo, pupilSize, npix, **kwargs)
Definition
_camera.py:32
lsst::afw::cameraGeom._camera.Camera.telescopeDiameter
telescopeDiameter(self)
Definition
_camera.py:53
lsst::afw::cameraGeom._camera.Camera.computeMaxFocalPlaneRadius
computeMaxFocalPlaneRadius(self)
Definition
_camera.py:57
lsst.utils
Generated on
for lsst.afw by
1.17.0