34 #ifndef LSST_IP_ISR_ISR_H
35 #define LSST_IP_ISR_ISR_H
42 #include "lsst/afw/math.h"
43 #include "lsst/afw/math/Statistics.h"
44 #include "lsst/afw/image.h"
45 #include "lsst/pex/exceptions/Exception.h"
55 template <
typename ImageT,
typename MaskT=lsst::afw::image::MaskPixel>
58 typedef typename lsst::afw::image::MaskedImage<ImageT>::x_iterator
x_iterator;
67 void apply(lsst::afw::image::MaskedImage<ImageT>
const& image,
70 for (
int y = 0; y != image.getHeight(); ++y) {
71 for (
x_iterator ptr = image.row_begin(y); ptr != image.row_end(y); ++ptr) {
72 if ( ((*ptr).mask() & bitmask) == bitmask ) {
92 template <
typename PixelT>
94 afw::image::MaskedImage<PixelT>
const& mi,
95 afw::image::MaskPixel maskVal,
96 afw::image::MaskPixel allow=0
100 template<
typename ImagePixelT,
typename FunctionT>
102 std::shared_ptr<lsst::afw::math::Function1<FunctionT> > &overscanFunction,
103 lsst::afw::image::MaskedImage<ImagePixelT>
const& overscan,
110 #endif // !defined(LSST_IP_ISR_ISR_H)
void fitOverscanImage(std::shared_ptr< lsst::afw::math::Function1< FunctionT > > &overscanFunction, lsst::afw::image::MaskedImage< ImagePixelT > const &overscan, double ssize=1., int sigma=1)
void apply(lsst::afw::image::MaskedImage< ImageT > const &image, MaskT bitmask)
lsst::afw::image::MaskedImage< ImageT >::x_iterator x_iterator
virtual ~CountMaskedPixels()
size_t maskNans(afw::image::MaskedImage< PixelT > const &mi, afw::image::MaskPixel maskVal, afw::image::MaskPixel allow=0)
Mask NANs in an image.