24__all__ = [
"BasePsfDeterminerConfig",
"BasePsfDeterminerTask",
"psfDeterminerRegistry"]
28import lsst.pipe.base
as pipeBase
33 """Configuration that is likely to be shared by all PSF determiners
35 This is fairly sparse; more fields can be moved here once it
is clear they are universal.
37 kernelSize = pexConfig.Field(
38 doc="radius of the kernel to create, relative to the square root of the stellar quadrupole moments",
42 kernelSizeMin = pexConfig.Field(
43 doc=
"Minimum radius of the kernel",
47 kernelSizeMax = pexConfig.Field(
48 doc=
"Maximum radius of the kernel",
55 """Base class for PSF determiners
57 Register all PSF determiners with the psfDeterminerRegistry using:
58 psfDeterminerRegistry.register(name,
class)
62 config : `lsst.pexConfig.Config`
63 Input
for configuring the algorithm
65 Schema used
for sources; passing a schema allows the
66 determiner to reserve a flag field to mark stars used
in
67 PSF measurement, but some PSF determiners ignore this argument.
71 ConfigClass = BasePsfDeterminerConfig
72 _DefaultName =
"psfDeterminer"
74 def __init__(self, config, schema=None, **kwds):
75 pipeBase.Task.__init__(self, config=config, **kwds)
79 """Determine a PSF model.
83 exposure : `lsst.afw.Exposure`
84 Exposure containing the psf candidates.
86 A sequence of PSF candidates; typically obtained by
87 detecting sources and then running them through a star
90 A place to save interesting items.
97 The spatial cell set used to determine the PSF
99 raise NotImplementedError(
"BasePsfDeterminerTask is abstract, subclasses must override this method")
102psfDeterminerRegistry = pexConfig.makeRegistry(
103 doc=
"A registry of PSF determiners (subclasses of BasePsfDeterminerTask)",
Class stored in SpatialCells for spatial Psf fitting.
def determinePsf(self, exposure, psfCandidateList, metadata=None)
def __init__(self, config, schema=None, **kwds)