File HeavyFootprint.h

namespace lsst

Class for a simple mapping implementing a generic AstrometryTransform.

Remove all non-astronomical counts from the Chunk Exposure’s pixels.

Forward declarations for lsst::utils::Cache

For details on the Cache class, see the Cache.h file.

It uses a template rather than a pointer so that the derived classes can use the specifics of the transform. The class simplePolyMapping overloads a few routines.

A base class for image defects

Numeric constants used by the Integrate.h integrator routines.

Compute Image Statistics

Note

Gauss-Kronrod-Patterson quadrature coefficients for use in quadpack routine qng. These coefficients were calculated with 101 decimal digit arithmetic by L. W. Fullerton, Bell Labs, Nov 1981.

Note

The Statistics class itself can only handle lsst::afw::image::MaskedImage() types. The philosophy has been to handle other types by making them look like lsst::afw::image::MaskedImage() and reusing that code. Users should have no need to instantiate a Statistics object directly, but should use the overloaded makeStatistics() factory functions.

namespace afw
namespace detection

Functions

template<typename ImagePixelT, typename MaskPixelT, typename VariancePixelT>
HeavyFootprint<ImagePixelT, MaskPixelT, VariancePixelT> makeHeavyFootprint(Footprint const &foot, lsst::afw::image::MaskedImage<ImagePixelT, MaskPixelT, VariancePixelT> const &img, HeavyFootprintCtrl const *ctrl = NULL)

Create a HeavyFootprint with footprint defined by the given Footprint and pixel values from the given MaskedImage.

template<typename ImagePixelT, typename MaskPixelT, typename VariancePixelT>
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, and summed pixels where they overlap. The peak list is the union of the two inputs.

template<typename ImagePixelT, typename MaskPixelT = lsst::afw::image::MaskPixel, typename VariancePixelT = lsst::afw::image::VariancePixel>
class HeavyFootprint : public lsst::afw::table::io::PersistableFacade<HeavyFootprint<ImagePixelT, MaskPixelT, VariancePixelT>>, public lsst::afw::detection::Footprint
#include <HeavyFootprint.h>

A set of pixels in an Image, including those pixels’ actual values

Public Functions

HeavyFootprint(Footprint const &foot, lsst::afw::image::MaskedImage<ImagePixelT, MaskPixelT, VariancePixelT> const &mimage, HeavyFootprintCtrl const *ctrl = NULL)

Create a HeavyFootprint from a regular Footprint and the image that provides the pixel values

Note

the HeavyFootprintCtrl is passed by const* not const& so that we needn’t provide a definition in the header.

Parameters
  • foot: The Footprint defining the pixels to set

  • mimage: The pixel values

  • ctrl: Control how we manipulate HeavyFootprints

HeavyFootprint(Footprint const &foot, HeavyFootprintCtrl const *ctrl = NULL)

Create a HeavyFootprint from a regular Footprint, allocating space to hold foot.getArea() pixels, but not initializing them. This is used when unpersisting a HeavyFootprint.

Parameters
  • foot: The Footprint defining the pixels to set

  • ctrl: Control how we manipulate HeavyFootprints

HeavyFootprint()

Default constructor for HeavyFootprint. Most common use for this will be in combination with the assignment operator

~HeavyFootprint()
HeavyFootprint(HeavyFootprint const &other)
HeavyFootprint(HeavyFootprint &&other)
HeavyFootprint &operator=(HeavyFootprint const&)
HeavyFootprint &operator=(HeavyFootprint&&)
bool isHeavy() const

Is this a HeavyFootprint (yes!)

void insert(lsst::afw::image::MaskedImage<ImagePixelT, MaskPixelT, VariancePixelT> &mimage) const

Replace all the pixels in the image with the values in the HeavyFootprint.

void insert(lsst::afw::image::Image<ImagePixelT> &image) const

Replace all the pixels in the image with the values in the HeavyFootprint.

Parameters
  • [out] image: Image to set

ndarray::Array<ImagePixelT, 1, 1> getImageArray()
ndarray::Array<MaskPixelT, 1, 1> getMaskArray()
ndarray::Array<VariancePixelT, 1, 1> getVarianceArray()
ndarray::Array<ImagePixelT const, 1, 1> getImageArray() const
ndarray::Array<MaskPixelT const, 1, 1> getMaskArray() const
ndarray::Array<VariancePixelT const, 1, 1> getVarianceArray() const
MaskPixelT getMaskBitsSet() const
double dot(HeavyFootprint<ImagePixelT, MaskPixelT, VariancePixelT> const &other) const

Dot product between HeavyFootprints

The mask and variance planes are ignored.

Protected Functions

std::string getPersistenceName() const

Return the name correspoinging ot the persistence type

void write(OutputArchiveHandle &handle) const

Write an instance of a Footprint to an output Archive

Private Members

ndarray::Array<ImagePixelT, 1, 1> _image
ndarray::Array<MaskPixelT, 1, 1> _mask
ndarray::Array<VariancePixelT, 1, 1> _variance