lsst.afw
g3a5ebb7d8a+28b83bf6a5
Toggle main menu visibility
Loading...
Searching...
No Matches
python
lsst
afw
math
_chebyshevBoundedField.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
import
numpy
as
np
23
24
from
lsst.utils
import
continueClass
25
from
._math
import
ChebyshevBoundedField, ChebyshevBoundedFieldControl
26
27
__all__ = []
# import this module only for its side effects
28
29
30
@continueClass
31
class
ChebyshevBoundedField
:
# noqa: F811
32
@classmethod
33
def
approximate
(cls, boundedField,
34
orderX=3, orderY=3,
35
nStepX=100, nStepY=100):
36
"""
37
Approximate a bounded field as a ChebyshevBoundedField.
38
39
Parameters
40
----------
41
boundedField : `lsst.afw.math.BoundedField`
42
A bounded field to approximate
43
orderX : `int`, optional
44
Order of the Chebyshev polynomial in the x direction.
45
Default is 3.
46
orderY : `int`, optional
47
Order of the Chebyshev polynomial in the y direction.
48
Default is 3.
49
nStepX : `int`, optional
50
Number of x steps to approximate boundedField.
51
Default is 100.
52
nStepY : `int`, optional
53
Number of y steps to approximate boundedField.
54
Default is 100.
55
56
Returns
57
-------
58
chebyshevBoundedField : `lsst.afw.math.ChebyshevBoundedField`
59
"""
60
61
ctrl =
ChebyshevBoundedFieldControl
()
62
ctrl.orderX = orderX
63
ctrl.orderY = orderY
64
ctrl.triangular =
False
65
66
bbox = boundedField.getBBox()
67
68
xSteps = np.linspace(bbox.getMinX(), bbox.getMaxX(), nStepX)
69
ySteps = np.linspace(bbox.getMinY(), bbox.getMaxY(), nStepY)
70
71
x = np.tile(xSteps, nStepY)
72
y = np.repeat(ySteps, nStepX)
73
74
return
cls.fit(bbox, x, y, boundedField.evaluate(x, y), ctrl)
lsst::afw::math._chebyshevBoundedField.ChebyshevBoundedField
Definition
_chebyshevBoundedField.py:31
lsst::afw::math._chebyshevBoundedField.ChebyshevBoundedField.approximate
approximate(cls, boundedField, orderX=3, orderY=3, nStepX=100, nStepY=100)
Definition
_chebyshevBoundedField.py:35
lsst::afw::math::ChebyshevBoundedFieldControl
A control object used when fitting ChebyshevBoundedField to data (see ChebyshevBoundedField::fit).
Definition
ChebyshevBoundedField.h:38
lsst.utils
Generated on
for lsst.afw by
1.17.0