1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26import os
31
32try:
33 display
34except NameError:
35 display = not False
36
37afwDisplay.setDefaultMaskTransparency(75)
38
39
40
41
42def getImage():
43 imagePath = os.path.join(lsst.utils.getPackageDir("afwdata"),
44 "DC3a-Sim", "sci", "v5-e0", "v5-e0-c011-a00.sci.fits")
45 return afwImage.MaskedImageF(imagePath)
46
47
48def simpleBackground(image):
49 binsize = 128
50 nx = int(image.getWidth()/binsize) + 1
51 ny = int(image.getHeight()/binsize) + 1
53
55
56 image -= bkgd.getImageF(afwMath.Interpolate.NATURAL_SPLINE)
57
58 return bkgd
59
60
61def complexBackground(image):
63 binsize = 128
64 nx = int(image.getWidth()/binsize) + 1
65 ny = int(image.getHeight()/binsize) + 1
66
68 sctrl.setNumSigmaClip(3)
69 sctrl.setNumIter(4)
70 sctrl.setAndMask(
afwImage.Mask[MaskPixel].getPlaneBitMask([
"INTRP",
71 "EDGE"]))
72 sctrl.setNoGoodPixelsMask(
afwImage.Mask[MaskPixel].getPlaneBitMask(
"BAD"))
73 sctrl.setNanSafe(True)
74 if False:
75 sctrl.setWeighted(True)
76 sctrl.setCalcErrorFromInputVariance(True)
77
79
81
82 statsImage = bkgd.getStatsImage()
83 afwDisplay.Display(frame=3).mtv(statsImage.getVariance(), title="statsImage Variance")
84
85 return bkgd
86
87
88def main():
89 image = getImage()
90
91 if display:
92 afwDisplay.Display(frame=0).mtv(image, title="Image")
93
94 bkgd = simpleBackground(image)
95 image = getImage()
96 bkgd = complexBackground(image)
97
98 if display:
99 afwDisplay.Display(frame=1).mtv(image, title="image")
100 afwDisplay.Display(frame=2).mtv(bkgd.getStatsImage(), title="background")
101
102 order = 2
104 afwMath.ApproximateControl.CHEBYSHEV, order, order)
105 approx = bkgd.getApproximate(actrl)
106
107 approx.getImage()
108 approx.getMaskedImage()
109 approx.getImage(order - 1)
110
111
112
113if __name__ == '__main__':
114 main()
Represent a 2-dimensional array of bitmask pixels.
Control how to make an approximation.
Pass parameters to a Background object.
Pass parameters to a Statistics object.
std::shared_ptr< Background > makeBackground(ImageT const &img, BackgroundControl const &bgCtrl)
A convenience function that uses function overloading to make the correct type of Background.