Coverage for python/lsst/meas/algorithms/findCosmicRaysConfig.py: 75%
18 statements
« prev ^ index » next coverage.py v6.4.1, created at 2022-06-23 02:58 -0700
« prev ^ index » next coverage.py v6.4.1, created at 2022-06-23 02:58 -0700
1#
2# LSST Data Management System
3#
4# Copyright 2008-2017 AURA/LSST.
5#
6# This product includes software developed by the
7# LSST Project (http://www.lsst.org/).
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 LSST License Statement and
20# the GNU General Public License along with this program. If not,
21# see <https://www.lsstcorp.org/LegalNotices/>.
22#
24__all__ = ["FindCosmicRaysConfig"]
26import lsst.pex.config as pexConfig
27from .subtractBackground import SubtractBackgroundTask
30class FindCosmicRaysConfig(pexConfig.Config):
31 """Config for the findCosmicRays function
32 """
33 nCrPixelMax = pexConfig.Field(
34 dtype=int,
35 doc="maximum number of contaminated pixels",
36 default=10000,
37 )
38 minSigma = pexConfig.Field(
39 dtype=float,
40 doc="CRs must be > this many sky-sig above sky",
41 default=6.0,
42 )
43 min_DN = pexConfig.Field(
44 dtype=float,
45 doc="CRs must have > this many DN (== electrons/gain) in initial detection",
46 default=150.0,
47 )
48 cond3_fac = pexConfig.Field(
49 dtype=float,
50 doc="used in condition 3 for CR; see CR.cc code",
51 default=2.5,
52 )
53 cond3_fac2 = pexConfig.Field(
54 dtype=float,
55 doc="used in condition 3 for CR; see CR.cc code",
56 default=0.6,
57 )
58 niteration = pexConfig.Field(
59 dtype=int,
60 doc="number of times to look for contaminated pixels near known CR pixels",
61 default=3,
62 )
63 keepCRs = pexConfig.Field(
64 dtype=bool,
65 doc="Don't interpolate over CR pixels",
66 default=False,
67 )
68 background = pexConfig.ConfigurableField(
69 target=SubtractBackgroundTask,
70 doc="Background estimation configuration"
71 )
73 def setDefaults(self):
74 self.background.useApprox = False
75 self.background.binSize = 100000
76 self.background.statisticsProperty = "MEDIAN"
77 self.background.undersampleStyle = "REDUCE_INTERP_ORDER"
78 self.background.algorithm = "AKIMA_SPLINE"