23#if !defined(LSST_DETECTION_HEAVY_FOOTPRINT_H)
24#define LSST_DETECTION_HEAVY_FOOTPRINT_H
40class HeavyFootprintCtrl;
93 bool isHeavy()
const override {
return true; }
111 ndarray::Array<ImagePixelT const, 1, 1>
getImageArray()
const {
return _image; }
112 ndarray::Array<MaskPixelT const, 1, 1>
getMaskArray()
const {
return _mask; }
117 MaskPixelT maskbits = 0;
118 for (
typename ndarray::Array<MaskPixelT, 1, 1>::Iterator i = _mask.begin(); i != _mask.end(); ++i) {
138 ndarray::Array<ImagePixelT, 1, 1> _image;
139 ndarray::Array<MaskPixelT, 1, 1> _mask;
140 ndarray::Array<VariancePixelT, 1, 1> _variance;
147template <
typename ImagePixelT,
typename MaskPixelT,
typename VariancePixelT>
160template <
typename ImagePixelT,
typename MaskPixelT,
typename VariancePixelT>
162 HeavyFootprint<ImagePixelT, MaskPixelT, VariancePixelT>
const& h1,
163 HeavyFootprint<ImagePixelT, MaskPixelT, VariancePixelT>
const& h2);
A class to represent a 2-dimensional array of pixels.
A class to manipulate images, masks, and variance as a single object.
A CRTP facade class for subclasses of Persistable.
io::OutputArchiveHandle OutputArchiveHandle
std::shared_ptr< HeavyFootprint< ImagePixelT, MaskPixelT, VariancePixelT > > mergeHeavyFootprints(HeavyFootprint< ImagePixelT, MaskPixelT, VariancePixelT > const &h1, HeavyFootprint< ImagePixelT, MaskPixelT, VariancePixelT > const &h2)
Sum the two given HeavyFootprints h1 and h2, returning a HeavyFootprint with the union footprint,...
HeavyFootprint< ImagePixelT, MaskPixelT, VariancePixelT > makeHeavyFootprint(Footprint const &foot, lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT > const &img, HeavyFootprintCtrl const *ctrl=nullptr)
Create a HeavyFootprint with footprint defined by the given Footprint and pixel values from the given...
std::int32_t MaskPixel
default type for Masks and MaskedImage Masks
float VariancePixel
default type for MaskedImage variance images