File FootprintMerge.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
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.

Public Functions

FootprintMergeList(afw::table::Schema &sourceSchema, std::vector<std::string> const &filterList, afw::table::Schema const &initialPeakSchema)

Initialize the merge with a custom initial peak schema

The output schema for PeakRecords will include additional ‘merge_peak_<filter>’ Flag fields that indicate the origin of peaks. This can be accessed by

getPeakSchema().
Parameters
  • [inout] sourceSchema: Input schema for SourceRecords to be merged, modified on return to include ‘merge_footprint_<filter>’ Flag fields that will indicate the origin of the source.

  • [in] filterList: Sequence of filter names to be used in Flag fields.

  • [in] initialPeakSchema: Input schema of PeakRecords in Footprints to be merged.

FootprintMergeList(afw::table::Schema &sourceSchema, std::vector<std::string> const &filterList)

Initialize the merge with the default peak schema

The output schema for PeakRecords will include additional ‘merge_peak_<filter>’ Flag fields that indicate the origin of peaks. This can be accessed by

getPeakSchema().
Parameters
  • [inout] sourceSchema: Input schema for SourceRecords to be merged, modified on return to include ‘merge_footprint_<filter>’ Flag fields that will indicate the origin of the source.

  • [in] filterList: Sequence of filter names to be used in Flag fields.

~FootprintMergeList()
FootprintMergeList(FootprintMergeList const&)
FootprintMergeList(FootprintMergeList&&)
FootprintMergeList &operator=(FootprintMergeList const&)
FootprintMergeList &operator=(FootprintMergeList&&)
afw::table::Schema getPeakSchema() const

Return the schema for PeakRecords in the merged footprints.

void addCatalog(std::shared_ptr<afw::table::SourceTable> sourceTable, afw::table::SourceCatalog const &inputCat, std::string const &filter, float minNewPeakDist = -1., bool doMerge = true, float maxSamePeakDist = -1.)

Add objects from a SourceCatalog in the specified filter

Iterate over all objects that have not been deblendend and search for an overlapping FootprintMerge in _mergeList. If it overlaps, then it will be added to it, otherwise it will create a new one. If minNewPeakDist < 0, then new peaks will not be added to existing footprints. If minNewPeakDist >= 0, then new peaks will be added that are farther away than minNewPeakDist to the nearest existing peak.

The SourceTable is used to create new SourceRecords that store the filter information.

void clearCatalog()

Clear entries in the current vector

void getFinalSources(afw::table::SourceCatalog &outputCat)

Get SourceCatalog with entries that contain the final Footprint and SourceRecord for each entry

The resulting Footprints will be normalized, meaning that there peaks are sorted, and areas are calculated.

Private Types

typedef afw::table::Key<afw::table::Flag> FlagKey
typedef std::vector<std::shared_ptr<FootprintMerge>> FootprintMergeVec
typedef std::map<std::string, KeyTuple> FilterMap

Private Functions

void _initialize(afw::table::Schema &sourceSchema, std::vector<std::string> const &filterList)

Private Members

FootprintMergeVec _mergeList
FilterMap _filterMap
afw::table::SchemaMapper _peakSchemaMapper
std::shared_ptr<PeakTable> _peakTable

Friends

friend lsst::afw::detection::FootprintMerge
struct KeyTuple

Public Members

FlagKey footprint
FlagKey peak