lsst.meas.algorithms
g4a7591d645+ecc601e506
Toggle main menu visibility
Loading...
Searching...
No Matches
python
lsst
meas
algorithms
computeExPsf.py
Go to the documentation of this file.
1
# This file is part of meas_algorithms.
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
23
from
lsst.meas.algorithms.treecorrUtils
import
TreecorrConfig
24
from
lsst.pex.config
import
Config, ConfigField
25
from
lsst.pipe.base
import
Task
26
import
lsst.pipe.base
as
pipeBase
27
import
treecorr
28
import
copy
29
import
numpy.typing
as
npt
30
31
32
__all__ = (
"ComputeExPsfTask"
,
"ComputeExPsfConfig"
)
33
34
35
class
ComputeExPsfConfig
(Config):
36
"""Config class of ComputeExPsfTask."""
37
38
treecorr = ConfigField(
39
dtype=TreecorrConfig,
40
doc=
"treecorr config."
,
41
)
42
43
def
setDefaults
(self):
44
super().
setDefaults
()
45
46
self.
treecorr
.min_sep = 1.0 / 60.0
47
self.
treecorr
.max_sep = 5.0 / 60.0
48
self.
treecorr
.nbins = 1
49
self.
treecorr
.bin_type =
"Linear"
50
self.
treecorr
.sep_units =
"degree"
51
52
53
class
ComputeExPsfTask
(Task):
54
"""Compute Ex for PSF.
55
56
Compute scalar correlation function from
57
PSF ellipticity residuals to compute TEx
58
metrics.
59
60
Parameters
61
----------
62
de1: `np.ndarray`
63
PSF ellipticity residuals component 1.
64
de2: `np.ndarray`
65
PSF ellipticity residuals component 2.
66
ra: `np.ndarray`
67
Right ascension coordinate.
68
dec: `np.ndarray`
69
Declination coordinate.
70
units: `str`
71
In which units are ra and dec. units supported
72
are the same as the one in treecorr.
73
74
Returns
75
-------
76
struct : `lsst.pipe.base.Struct`
77
The struct contains the following data:
78
``E1``: `float`
79
<de1 de1> scalar correlation function, compute
80
in an angular bin define in TreecorrConfig.
81
``E2``: `float`
82
<de2 de2> scalar correlation function, compute
83
in an angular bin define in TreecorrConfig.
84
``Ex``: `float`
85
<de1 de2> scalar cross-correlation function, compute
86
in an angular bin define in TreecorrConfig.
87
"""
88
89
ConfigClass = ComputeExPsfConfig
90
_DefaultName =
"computeExPsf"
91
92
def
run
(
93
self,
94
de1: npt.NDArray,
95
de2: npt.NDArray,
96
ra: npt.NDArray,
97
dec: npt.NDArray,
98
units: str =
"arcmin"
,
99
) -> pipeBase.Struct:
100
101
if
units != self.config.treecorr.sep_units:
102
raise
ValueError(
103
"units from ComputeExPsfConfig and"
104
"ComputeExPsfTask are not the same (%s != %s)"
105
% ((units, self.config.treecorr.sep_units))
106
)
107
108
kwargs_cat = {
109
"ra"
: ra,
110
"dec"
: dec,
111
"ra_units"
: units,
112
"dec_units"
: units,
113
}
114
115
cat1 = treecorr.Catalog(k=de1, **kwargs_cat)
116
cat2 = treecorr.Catalog(k=de2, **kwargs_cat)
117
118
config_kk = self.config.treecorr.toDict()
119
120
kk = treecorr.KKCorrelation(config_kk)
121
122
kk.process(cat1)
123
kk_E1 = copy.deepcopy(kk.xi[0])
124
kk.process(cat2)
125
kk_E2 = copy.deepcopy(kk.xi[0])
126
kk.process(cat1, cat2)
127
kk_Ex = copy.deepcopy(kk.xi[0])
128
129
return
pipeBase.Struct(metric_E1=kk_E1, metric_E2=kk_E2, metric_Ex=kk_Ex)
lsst::meas::algorithms.computeExPsf.ComputeExPsfConfig
Definition
computeExPsf.py:35
lsst::meas::algorithms.computeExPsf.ComputeExPsfConfig.setDefaults
setDefaults(self)
Definition
computeExPsf.py:43
lsst::meas::algorithms.computeExPsf.ComputeExPsfConfig.treecorr
treecorr
Definition
computeExPsf.py:38
lsst::meas::algorithms.computeExPsf.ComputeExPsfTask
Definition
computeExPsf.py:53
lsst::meas::algorithms.computeExPsf.ComputeExPsfTask.run
pipeBase.Struct run(self, npt.NDArray de1, npt.NDArray de2, npt.NDArray ra, npt.NDArray dec, str units="arcmin")
Definition
computeExPsf.py:99
lsst::meas::algorithms.treecorrUtils
Definition
treecorrUtils.py:1
lsst::pex::config
lsst.pipe.base
Generated on
for lsst.meas.algorithms by
1.17.0