lsst.meas.base
g61ffd41259+4f4d0d1589
Loading...
Searching...
No Matches
python
lsst
meas
base
footprintArea.py
Go to the documentation of this file.
1
# This file is part of meas_base.
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
.catalogCalculation
import
(CatalogCalculationPluginConfig,
25
CatalogCalculationPlugin)
26
from
.pluginRegistry
import
register
27
28
__all__ = (
29
"CatalogCalculationFootprintAreaConfig"
,
30
"CatalogCalculationFootprintAreaPlugin"
,
31
)
32
33
34
class
CatalogCalculationFootprintAreaConfig
(
CatalogCalculationPluginConfig
):
35
"""Configuration for footprint area catalog calculation plugin.
36
"""
37
38
pass
39
40
41
@register(
"base_FootprintArea"
)
42
class
CatalogCalculationFootprintAreaPlugin
(
CatalogCalculationPlugin
):
43
"""Catalog calculation plugin to record the area of a source's footprint.
44
"""
45
46
ConfigClass = CatalogCalculationFootprintAreaConfig
47
48
@classmethod
49
def
getExecutionOrder
(cls):
50
return
cls.
DEFAULT_CATALOGCALCULATION
51
52
def
__init__
(self, config, name, schema, metadata):
53
CatalogCalculationPlugin.__init__(self, config, name, schema, metadata)
54
self.
key
= schema.addField(
55
schema.join(name,
"value"
),
56
type=np.int32,
57
doc=
"Number of pixels in the source's detection footprint."
,
58
units=
"pixel"
59
)
60
61
def
calculate
(self, measRecord):
62
measRecord.set(self.
key
, measRecord.getFootprint().getArea())
63
64
def
fail
(self, measRecord, error=None):
65
# Should be impossible for this algorithm to fail unless there is no
66
# Footprint (and that's a precondition for measurement).
67
pass
lsst::meas::base.catalogCalculation.CatalogCalculationPluginConfig
Definition
catalogCalculation.py:41
lsst::meas::base.catalogCalculation.CatalogCalculationPlugin
Definition
catalogCalculation.py:47
lsst::meas::base.footprintArea.CatalogCalculationFootprintAreaConfig
Definition
footprintArea.py:34
lsst::meas::base.footprintArea.CatalogCalculationFootprintAreaPlugin
Definition
footprintArea.py:42
lsst::meas::base.footprintArea.CatalogCalculationFootprintAreaPlugin.__init__
__init__(self, config, name, schema, metadata)
Definition
footprintArea.py:52
lsst::meas::base.footprintArea.CatalogCalculationFootprintAreaPlugin.fail
fail(self, measRecord, error=None)
Definition
footprintArea.py:64
lsst::meas::base.footprintArea.CatalogCalculationFootprintAreaPlugin.getExecutionOrder
getExecutionOrder(cls)
Definition
footprintArea.py:49
lsst::meas::base.footprintArea.CatalogCalculationFootprintAreaPlugin.key
key
Definition
footprintArea.py:54
lsst::meas::base.footprintArea.CatalogCalculationFootprintAreaPlugin.calculate
calculate(self, measRecord)
Definition
footprintArea.py:61
lsst::meas::base.pluginsBase.BasePlugin.DEFAULT_CATALOGCALCULATION
float DEFAULT_CATALOGCALCULATION
Definition
pluginsBase.py:108
Generated on Wed Nov 22 2023 11:08:18 for lsst.meas.base by
1.9.8