Namespace lsst::afw::detection¶
-
namespace
detection
Typedefs
-
typedef std::uint64_t
FootprintIdPixel
Pixel type for FootprintSet::insertIntoImage()
This is independent of the template parameters for FootprintSet, and including it within FootprintSet makes it difficult for SWIG to interpret the type.
-
typedef afw::table::ColumnViewT<PeakRecord>
PeakColumnView
-
typedef afw::table::CatalogT<PeakRecord>
PeakCatalog
-
typedef afw::table::CatalogT<PeakRecord const>
ConstPeakCatalog
Functions
-
std::shared_ptr<Footprint>
mergeFootprints
(Footprint const &footprint1, Footprint const &footprint2) Merges two Footprints appends their peaks, and unions their spans, returning a new Footprint. Region is not preserved, and is set to an empty lsst::geom::Box2I object.
-
std::vector<lsst::geom::Box2I>
footprintToBBoxList
(Footprint const &footprint) Return a list of BBoxs, whose union contains exactly the pixels in the footprint, neither more nor less.
Useful in generating sets of meas::algorithms::Defects for the ISR
- Parameters
footprint
: Footprint to turn into bounding box list
-
template<typename
ImagePixelT
, typenameMaskPixelT
, typenameVariancePixelT
>
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.
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.
-
std::ostream &
operator<<
(std::ostream &os, PeakRecord const &record)
-
Threshold
createThreshold
(const double value, const std::string type = "value", const bool polarity = true) Factory method for creating Threshold objects
- Return
desired Threshold
- Parameters
value
: value of thresholdtype
: string representation of a ThresholdType. This parameter is optional. Allowed values are: “variance”, “value”, “stdev”, “pixel_stdev”polarity
: If true detect positive objects, false for negative
-
class
Footprint
: public lsst::afw::table::io::PersistableFacade<lsst::afw::detection::Footprint>, public lsst::afw::table::io::Persistable - #include <Footprint.h>
Class to describe the properties of a detected object from an image
A Footprint is designed to be constructed with information about a detected object in an image. Internally a Footprint holds a SpanSet which is used to describe the location of the object in the image (the x, y pixel locations which are considered part of the object). In addition a Footprint contains a PeakCatalog which is used to store the location and intensity of peaks in the detection.
Subclassed by lsst::afw::detection::HeavyFootprint< ImagePixelT, MaskPixelT, VariancePixelT >
-
class
FootprintControl
- #include <FootprintCtrl.h>
A Control Object for Footprints, controlling e.g. how they are grown
-
class
FootprintMergeList
- #include <FootprintMerge.h>
List of Merged Footprints.
Stores a vector of FootprintMerges and SourceRecords that contain the union of different footprints and which filters it was detected in. Individual Footprints from a SourceCatalog can be added to the vector (note that any SourceRecords with parent!=0 will be skipped). If a Footprint overlaps an existing FootprintMerge, the Footprint will be added to it. If not, then a new FootprintMerge will be created and added to the vector.
The search algorithm uses a brute force approach over the current list. This should be fine if we are operating on smallish number of objects, such as at the tract level.
-
class
FootprintSet
- #include <FootprintSet.h>
A set of Footprints, associated with a MaskedImage
-
class
GaussianPsf
: public lsst::afw::table::io::PersistableFacade<GaussianPsf>, public lsst::afw::detection::Psf - #include <GaussianPsf.h>
A circularly symmetric Gaussian Psf class with no spatial variation, intended mostly for testing purposes.
This class is essentially an alternate implementation of meas::algorithms::SingleGaussianPsf; While SingleGaussianPsf inherits from ImagePsf and KernelPsf, and hence delegates to those various operations relating to the PSF model image (e.g. computeShape()), GaussianPsf computes these analytically.
-
template<typename
ImagePixelT
, typenameMaskPixelT
= lsst::afw::image::MaskPixel, typenameVariancePixelT
= lsst::afw::image::VariancePixel>
classHeavyFootprint
: 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
-
class
HeavyFootprintCtrl
- #include <FootprintCtrl.h>
A control object for HeavyFootprints
-
class
PeakRecord
: public lsst::afw::table::BaseRecord - #include <Peak.h>
Record class that represents a peak in a Footprint
-
class
PeakTable
: public lsst::afw::table::BaseTable - #include <Peak.h>
Table class for Peaks in Footprints.
-
class
Psf
: public lsst::afw::table::io::PersistableFacade<Psf>, public Storable - #include <Psf.h>
A polymorphic base class for representing an image’s Point Spread Function
Most of a Psf’s functionality involves its evaluation at a position and color, either or both of which may be unspecified (which will result in evaluation at some average position or color). Unlike the closely-related Kernel class, there is no requirement that a Psf have a well-defined spatial function or any parameters. Psfs are not necessarily continuous, and the dimensions of image of the Psf at a point may not be fixed.
Psfs have two methods for getting at image at a point:
the image returned by computeImage() is in the same coordinate system as the pixelized image
the image returned by computeKernelImage() is in an offset coordinate system with the point P at (0,0); this implies that the image (x0,y0) will be negative
Because P does not need to have integer coordinates, these two images are fractionally offset from each other and we use interpolation to get (1) from (2).
Psfs are immutable - derived classes should have no non-const methods, and hence should be fully-defined after construction. This allows shared_ptrs to Psfs to be passed around and shared between objects without concern for whether they will be unexpectedly modified.
In most cases, Psf derived classes should inherit from meas::algorithms::ImagePsf or meas::algorithms::KernelPsf, as these will provide default implementions for several member functions.
Subclassed by lsst::afw::detection::GaussianPsf, lsst::meas::algorithms::ImagePsf
-
class
Threshold
- #include <Threshold.h>
A Threshold is used to pass a threshold value to detection algorithms
The threshold may be a simple value (type == VALUE), or in units of the image standard deviation. Alternatively you may specify that you’ll provide the standard deviation (type == STDEV) or variance (type == VARIANCE)
Note that the constructor is not declared explicit, so you may pass a bare threshold, and it’ll be interpreted as a VALUE.
-
typedef std::uint64_t