File matchOptimisticB.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 meas
namespace astrom

Typedefs

typedef std::vector<RecordProxy> ProxyVector

Functions

ProxyVector makeProxies(afw::table::SourceCatalog const &sourceCat, afw::geom::SkyWcs const &distortedWcs, afw::geom::SkyWcs const &tanWcs)
ProxyVector makeProxies(afw::table::SimpleCatalog const &posRefCat, afw::geom::SkyWcs const &tanWcs)
afw::table::ReferenceMatchVector matchOptimisticB(afw::table::SimpleCatalog const &posRefCat, afw::table::SourceCatalog const &sourceCat, MatchOptimisticBControl const &control, afw::geom::SkyWcs const &wcs, int posRefBegInd = 0, bool verbose = false)

Match sources to stars in a position reference catalog using optimistic pattern matching B

Optimistic Pattern Matching is described in V. Tabur 2007, PASA, 24, 189-198 “Fast Algorithms for Matching CCD Images to a Stellar Catalogue”

Return

a list of matches; the d field may be set, but you should not rely on it

Parameters
  • [in] posRefCat: catalog of position reference stars; fields read:

    • ”coord”

    • control.refFluxField

  • [in] sourceCat: catalog of detected sources; fields read:

    • ”Centroid_x”

    • ”Centroid_y”

    • control.refFluxField

  • [in] wcs: estimated WCS

  • [in] control: control object

  • [in] posRefBegInd: index of first start to use in posRefCat

  • [in] verbose: true to print diagnostic information to std::cout

struct MatchOptimisticBControl

Public Functions

lsst::meas::astrom::MatchOptimisticBControl::LSST_CONTROL_FIELD(refFluxField, std::string, "name of flux field in reference catalog")
lsst::meas::astrom::MatchOptimisticBControl::LSST_CONTROL_FIELD(sourceFluxField, std::string, "name of flux field in source catalog")
lsst::meas::astrom::MatchOptimisticBControl::LSST_CONTROL_FIELD(numBrightStars, int, "maximum number of bright reference stars to use")
lsst::meas::astrom::MatchOptimisticBControl::LSST_CONTROL_FIELD(minMatchedPairs, int, "minimum number of matches")
lsst::meas::astrom::MatchOptimisticBControl::LSST_CONTROL_FIELD(matchingAllowancePix, double, "maximum allowed distance between reference objects and sources (pixels)")
lsst::meas::astrom::MatchOptimisticBControl::LSST_CONTROL_FIELD(maxOffsetPix, double, "maximum allowed frame translation (pixels)")
lsst::meas::astrom::MatchOptimisticBControl::LSST_CONTROL_FIELD(maxRotationDeg, double, "maximum allowed frame rotation (deg)")
lsst::meas::astrom::MatchOptimisticBControl::LSST_CONTROL_FIELD(allowedNonperpDeg, double, "allowed non-perpendicularity of x and y axes (deg)")
lsst::meas::astrom::MatchOptimisticBControl::LSST_CONTROL_FIELD(numPointsForShape, int, "number of points in a matching shape")
lsst::meas::astrom::MatchOptimisticBControl::LSST_CONTROL_FIELD(maxDeterminant, double, "?")
MatchOptimisticBControl()
void validate() const
~MatchOptimisticBControl()
struct ProxyPair

Public Functions

ProxyPair(RecordProxy const &s1, RecordProxy const &s2)

Public Members

RecordProxy first
RecordProxy second
double distance
double pa
struct RecordProxy
#include <matchOptimisticB.h>

A wrapper around a SimpleRecord or SourceRecord that allows us to record a pixel position in a way that is independent of the record type.

Public Functions

PTR(afw::table::SimpleRecord)
double getX() const
double getY() const
operator PTR() lsst::meas::astrom::RecordProxy::afw::table::SimpleRecord() const

Support implicit conversion to SimpleRecord (discarding the pixel position)

bool operator==(RecordProxy const &other) const
bool operator!=(RecordProxy const &other) const
lsst::meas::astrom::RecordProxy::RecordProxy(PTR( afw::table::SimpleRecord ) record, geom::Point2D const & position)

Construct a RecordProxy

Parameters
  • [in] record: the record to wrap

  • [in] position: pixel position; this is likely to be an initial guess while fitting a WCS

RecordProxy()

Public Members

geom::Point2D position
bool used