22__all__ = [
"BaseFakeSourcesConfig",
"BaseFakeSourcesTask"]
26from deprecated.sphinx
import deprecated
34 maskPlaneName = lsst.pex.config.Field(
35 dtype=str, default=
"FAKE",
36 doc=
"Mask plane to set on pixels affected by fakes. Will be added if not already present."
40@deprecated(reason=(
"The fakes code has been deprecated in favor of ProcessCcdWithFakes. "
41 "This will be removed after v24."),
42 category=FutureWarning,
45 """An abstract base class for subtasks that inject fake sources into images to test completeness and
46 other aspects of the processing.
48 This class simply adds a mask plane that subclasses should use to mark pixels that have been touched.
50 This
is an abstract base
class (abc)
and is not intended to be directly used. To create a fake sources
51 injector, create a child
class and re-implement the required methods.
54 ConfigClass = BaseFakeSourcesConfig
55 _DefaultName = "baseFakeSources"
58 """Initialize the Task.
60 Subclasses that define their own __init__ should simply forward all arguments to the base
61 class constructor. They can then assume self.config
is an instance of their ConfigClass.
63 If an external catalog
is used to add sources consistently to multiple overlapping images,
64 that catalog should generally be loaded
and attached to self here, so it can be used
65 multiple times by the run() method.
67 lsst.pipe.base.Task.__init__(self, **kwargs)
70 .getPlaneBitMask(self.config.maskPlaneName)
73 def run(self, exposure, background):
74 """Add fake sources to the given Exposure, making use of the given BackgroundList if desired.
76 If pixels in the Exposure are replaced,
not added to, extra care should be taken
with the background,
77 mask,
and variance planes. The Exposure
as given
is background-subtracted (using the supplied
78 background model)
and should be returned
in the same state.
80 raise NotImplementedError(
"FakeSourcesTask is abstract, create a child class to use this method")
def __init__(self, **kwargs)