lsst.afw
g3a5ebb7d8a+28b83bf6a5
Toggle main menu visibility
Loading...
Searching...
No Matches
python
lsst
afw
detection
_heavyFootprintContinued.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
import
numpy
as
np
20
21
from
lsst.utils
import
TemplateMeta
22
23
from
._detection
import
HeavyFootprintI, HeavyFootprintF, HeavyFootprintD, HeavyFootprintU
24
25
__all__ = []
# import this module only for its side effects
26
27
28
class
HeavyFootprint
(metaclass=TemplateMeta):
# noqa: F811
29
def
addTo
(self, image):
30
"""Add this heavy footprint to an image.
31
32
Parameters
33
----------
34
image : `lsst.afw.image`
35
"""
36
indices = self.spans.indices()
37
image.array[indices[0, :] - image.getY0(),
38
indices[1, :] - image.getX0()] += self.getImageArray()
39
40
def
subtractFrom
(self, image):
41
"""Subtract this heavy footprint from an image.
42
43
Parameters
44
----------
45
image : `lsst.afw.image`
46
"""
47
indices = self.spans.indices()
48
image.array[indices[0, :] - image.getY0(),
49
indices[1, :] - image.getX0()] -= self.getImageArray()
50
51
def
extractImage
(self, fill=np.nan, bbox=None, imageType=None):
52
"""Create a 2D image of a HeavyFootprint
53
54
Parameters
55
----------
56
fill: number
57
Number to fill the pixels in the image that are not
58
contained in `heavy`.
59
bbox : `Box2I`
60
Bounding box of the output image.
61
imageType : `type`
62
This should be either a `MaskedImage` or `Image` and describes
63
the type of the output image.
64
If `imageType` is `None` then `Image` will be used.
65
66
Returns
67
-------
68
image : `lsst.afw.image.MaskedImage` or `lsst.afw.image.Image`
69
An image defined by `bbox` and padded with `fill` that
70
contains the projected flux in `heavy`.
71
"""
72
# Prevent circular import
73
from
lsst.afw.image
import
Image
74
if
imageType
is
None
:
75
imageType = Image
76
if
bbox
is
None
:
77
bbox = self.getBBox()
78
image = imageType(bbox, dtype=self.getImageArray().dtype)
79
image.set(fill)
80
self.insert(image)
81
return
image
82
83
84
HeavyFootprint.register(np.int32, HeavyFootprintI)
85
HeavyFootprint.register(np.float32, HeavyFootprintF)
86
HeavyFootprint.register(np.float64, HeavyFootprintD)
87
HeavyFootprint.register(np.uint16, HeavyFootprintU)
lsst::afw::detection._heavyFootprintContinued.HeavyFootprint
Definition
_heavyFootprintContinued.py:28
lsst::afw::detection._heavyFootprintContinued.HeavyFootprint.addTo
addTo(self, image)
Definition
_heavyFootprintContinued.py:29
lsst::afw::detection._heavyFootprintContinued.HeavyFootprint.subtractFrom
subtractFrom(self, image)
Definition
_heavyFootprintContinued.py:40
lsst::afw::detection._heavyFootprintContinued.HeavyFootprint.extractImage
extractImage(self, fill=np.nan, bbox=None, imageType=None)
Definition
_heavyFootprintContinued.py:51
lsst::afw::image
Definition
imageAlgorithm.dox:1
lsst.utils
Generated on
for lsst.afw by
1.17.0