Coverage for python/lsst/meas/algorithms/findCosmicRaysConfig.py: 72%

18 statements  

« prev     ^ index     » next       coverage.py v6.5.0, created at 2023-03-05 10:20 +0000

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# 

23 

24__all__ = ["FindCosmicRaysConfig"] 

25 

26import lsst.pex.config as pexConfig 

27from .subtractBackground import SubtractBackgroundTask 

28 

29 

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 ) 

72 

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"