119def makeThumbnail(exposure, isrQaConfig=None):
120 """Create a snapshot thumbnail from input exposure.
121
122 The output thumbnail image is constructed based on the parameters
123 in the configuration file. Currently, the asinh mapping is the
124 only mapping method used.
125
126 Parameters
127 ----------
128 exposure : `lsst.afw.image.Exposure`
129 The exposure to be converted into a thumbnail.
130 isrQaConfig : `Config`
131 Configuration object containing all parameters to control the
132 thumbnail generation.
133
134 Returns
135 -------
136 rgbImage : `numpy.ndarray`
137 Binned and scaled version of the exposure, converted to an
138 integer array to allow it to be written as PNG.
139 """
140 if isrQaConfig is not None:
141 binning = isrQaConfig.thumbnailBinning
142 binnedImage =
afwMath.binImage(exposure.getMaskedImage(), binning, binning, afwMath.MEAN)
143
145 statsCtrl.setAndMask(binnedImage.getMask().getPlaneBitMask(["SAT", "BAD", "INTRP"]))
147 afwMath.MEDIAN | afwMath.STDEVCLIP | afwMath.MAX, statsCtrl)
148
149 low = stats.getValue(afwMath.MEDIAN) - isrQaConfig.thumbnailStdev*stats.getValue(afwMath.STDEVCLIP)
150
151 if isrQaConfig.thumbnailSatBorder:
152 afwRGB.replaceSaturatedPixels(binnedImage, binnedImage, binnedImage,
153 isrQaConfig.thumbnailSatBorder, stats.getValue(afwMath.MAX))
154
155 asinhMap = afwRGB.AsinhMapping(low, isrQaConfig.thumbnailRange, Q=isrQaConfig.thumbnailQ)
156 rgbImage = asinhMap.makeRgbImage(binnedImage)
157
158 return rgbImage
Pass parameters to a Statistics object.
Statistics makeStatistics(lsst::afw::image::Image< Pixel > const &img, lsst::afw::image::Mask< image::MaskPixel > const &msk, int const flags, StatisticsControl const &sctrl=StatisticsControl())
Handle a watered-down front-end to the constructor (no variance)
std::shared_ptr< ImageT > binImage(ImageT const &inImage, int const binX, int const binY, lsst::afw::math::Property const flags=lsst::afw::math::MEAN)