File Match.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
table
Functions
-
SourceMatchVector
matchXy
(SourceCatalog const &cat1, SourceCatalog const &cat2, double radius, MatchControl const &mc = MatchControl())¶ - Parameters
cat1
: first catalogcat2
: second catalogradius
: match radius (pixels)mc
: how to do the matching (obeys MatchControl::findOnlyClosest)
Compute all tuples (s1,s2,d) where s1 belings to
cat1
, s2 belongs tocat2
and d, the distance between s1 and s2, in pixels, is at mostradius
. If cat1 and cat2 are identical, then this call is equivalent tomatchXy(cat1,radius)
. The match is performed in pixel space (2d cartesian).
-
SourceMatchVector
matchXy
(SourceCatalog const &cat, double radius, MatchControl const &mc = MatchControl())¶ - Parameters
cat
: the catalog to self-matchradius
: match radius (pixels)mc
: how to do the matching (obeys MatchControl::symmetricMatch)
Compute all tuples (s1,s2,d) where s1 != s2, s1 and s2 both belong to
cat
, and d, the distance between s1 and s2, in pixels, is at mostradius
. The match is performed in pixel space (2d cartesian).
-
SourceMatchVector
matchXy
(SourceCatalog const &cat1, SourceCatalog const &cat2, double radius, bool closest)¶ Compute all tuples (s1,s2,d) where s1 belings to
cat1
, s2 belongs tocat2
and d, the distance between s1 and s2, in pixels, is at mostradius
. If cat1 and cat2 are identical, then this call is equivalent tomatchXy(cat1,radius)
. The match is performed in pixel space (2d cartesian).- Parameters
[in] cat1
: first catalog[in] cat2
: second catalog[in] radius
: match radius (pixels)[in] closest
: if true then just return the closest match
-
SourceMatchVector
matchXy
(SourceCatalog const &cat, double radius, bool symmetric)¶ Compute all tuples (s1,s2,d) where s1 != s2, s1 and s2 both belong to
cat
, and d, the distance between s1 and s2, in pixels, is at mostradius
. The match is performed in pixel space (2d cartesian).- Parameters
[in] cat
: the catalog to self-match[in] radius
: match radius (pixels)[in] symmetric
: if cat totrue
symmetric matches are produced: i.e. if (s1, s2, d) is reported, then so is (s2, s1, d).
-
template<typename
Cat1
, typenameCat2
>
std::vector<Match<typename Cat1::Record, typename Cat2::Record>>matchRaDec
(Cat1 const &cat1, Cat2 const &cat2, lsst::geom::Angle radius, MatchControl const &mc = MatchControl())¶ - Parameters
cat1
: first catalogcat2
: second catalogradius
: match radiusmc
: how to do the matching (obeys MatchControl::findOnlyClosest)
Compute all tuples (s1,s2,d) where s1 belings to
cat1
, s2 belongs tocat2
and d, the distance between s1 and s2, is at mostradius
. If cat1 and cat2 are identical, then this call is equivalent tomatchRaDec(cat1,radius)
. The match is performed in ra, dec space.This is instantiated for Simple-Simple, Simple-Source, and Source-Source catalog combinations.
-
template<typename
Cat
>
std::vector<Match<typename Cat::Record, typename Cat::Record>>matchRaDec
(Cat const &cat, lsst::geom::Angle radius, MatchControl const &mc = MatchControl())¶ - Parameters
cat
: the catalog to self-matchradius
: match radiusmc
: how to do the matching (obeys MatchControl::symmetricMatch)
-
template<typename
Cat1
, typenameCat2
>
std::vector<Match<typename Cat1::Record, typename Cat2::Record>>matchRaDec
(Cat1 const &cat1, Cat2 const &cat2, lsst::geom::Angle radius, bool closest)¶ Compute all tuples (s1,s2,d) where s1 belings to
cat1
, s2 belongs tocat2
and d, the distance between s1 and s2, is at mostradius
. If cat1 and cat2 are identical, then this call is equivalent tomatchRaDec(cat1,radius)
. The match is performed in ra, dec space.This is instantiated for Simple-Simple, Simple-Source, and Source-Source catalog combinations.
- Parameters
[in] cat1
: first catalog[in] cat2
: second catalog[in] radius
: match radius[in] closest
: if true then just return the closest match
-
template<typename
Cat
>
std::vector<Match<typename Cat::Record, typename Cat::Record>>matchRaDec
(Cat const &cat, lsst::geom::Angle radius, bool symmetric)¶ Compute all tuples (s1,s2,d) where s1 != s2, s1 and s2 both belong to
cat
, and d, the distance between s1 and s2, is at mostradius
. The match is performed in ra, dec space.This is instantiated for Simple and Source catalogs.
- Parameters
[in] cat
: the catalog to self-match[in] radius
: match radius[in] symmetric
: if cat totrue
symmetric matches are produced: i.e. if (s1, s2, d) is reported, then so is (s2, s1, d).
-
template<typename
Record1
, typenameRecord2
>
BaseCatalogpackMatches
(std::vector<Match<Record1, Record2>> const &matches)¶ Return a table representation of a MatchVector that can be used to persist it.
The schema of the returned object has “first” (RecordId), “second” (RecordID), and “distance” (double) fields.
- Parameters
[in] matches
: A std::vector of Match objects to convert to table form.
-
template<typename
Cat1
, typenameCat2
>
std::vector<Match<typename Cat1::Record, typename Cat2::Record>>unpackMatches
(BaseCatalog const &matches, Cat1 const &cat1, Cat2 const &cat2)¶ Reconstruct a MatchVector from a BaseCatalog representation of the matches and a pair of catalogs.
If an ID cannot be found in the given tables, that pointer will be set to null in the returned match vector.
- Note
The first and second catalog arguments must be sorted in ascending ID order on input; this will allow us to use binary search algorithms to find the records referred to by the match table.
This is instantiated for Simple-Simple, Simple-Source, and Source-Source catalog combinations.
- Parameters
[in] matches
: A normalized BaseCatalog representation, as produced by packMatches.[in] cat1
: A CatalogT containing the records used on the ‘first’ side of the match, sorted by ascending ID.[in] cat2
: A CatalogT containing the records used on the ‘second’ side of the match, sorted by ascending ID. May be the same as first.
-
class
MatchControl
- #include <Match.h>
Pass parameters to algorithms that match list of sources
Public Functions
-
MatchControl
()
-
lsst::afw::table::MatchControl::LSST_CONTROL_FIELD(findOnlyClosest, bool, "Return only the closest match if more than one is found " "(default: true)")
-
lsst::afw::table::MatchControl::LSST_CONTROL_FIELD(symmetricMatch, bool, "Produce symmetric matches (default: true):i.e. if(s1, s2, d) is reported, then so is(s2, s1, d)")
-
lsst::afw::table::MatchControl::LSST_CONTROL_FIELD(includeMismatches, bool, "Include failed matches (i.e. one 'match' is NULL) " "(default: false)")
-
-
SourceMatchVector
-
namespace