LSST Applications
21.0.0-172-gfb10e10a+18fedfabac,22.0.0+297cba6710,22.0.0+80564b0ff1,22.0.0+8d77f4f51a,22.0.0+a28f4c53b1,22.0.0+dcf3732eb2,22.0.1-1-g7d6de66+2a20fdde0d,22.0.1-1-g8e32f31+297cba6710,22.0.1-1-geca5380+7fa3b7d9b6,22.0.1-12-g44dc1dc+2a20fdde0d,22.0.1-15-g6a90155+515f58c32b,22.0.1-16-g9282f48+790f5f2caa,22.0.1-2-g92698f7+dcf3732eb2,22.0.1-2-ga9b0f51+7fa3b7d9b6,22.0.1-2-gd1925c9+bf4f0e694f,22.0.1-24-g1ad7a390+a9625a72a8,22.0.1-25-g5bf6245+3ad8ecd50b,22.0.1-25-gb120d7b+8b5510f75f,22.0.1-27-g97737f7+2a20fdde0d,22.0.1-32-gf62ce7b1+aa4237961e,22.0.1-4-g0b3f228+2a20fdde0d,22.0.1-4-g243d05b+871c1b8305,22.0.1-4-g3a563be+32dcf1063f,22.0.1-4-g44f2e3d+9e4ab0f4fa,22.0.1-42-gca6935d93+ba5e5ca3eb,22.0.1-5-g15c806e+85460ae5f3,22.0.1-5-g58711c4+611d128589,22.0.1-5-g75bb458+99c117b92f,22.0.1-6-g1c63a23+7fa3b7d9b6,22.0.1-6-g50866e6+84ff5a128b,22.0.1-6-g8d3140d+720564cf76,22.0.1-6-gd805d02+cc5644f571,22.0.1-8-ge5750ce+85460ae5f3,master-g6e05de7fdc+babf819c66,master-g99da0e417a+8d77f4f51a,w.2021.48
LSST Data Management Base Package
|
Classes | |
struct | RecordProxy |
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. More... | |
struct | ProxyPair |
struct | MatchOptimisticBControl |
class | PolynomialTransform |
A 2-d coordinate transform represented by a pair of standard polynomials (one for each coordinate). More... | |
class | ScaledPolynomialTransform |
A 2-d coordinate transform represented by a lazy composition of an AffineTransform, a PolynomialTransform, and another AffineTransform. More... | |
class | OutlierRejectionControl |
Control object for outlier rejection in ScaledPolynomialTransformFitter. More... | |
class | ScaledPolynomialTransformFitter |
A fitter class for scaled polynomial transforms. More... | |
class | SipTransformBase |
Base class for SIP transform objects. More... | |
class | SipForwardTransform |
A transform that maps pixel coordinates to intermediate world coordinates according to the SIP convention. More... | |
class | SipReverseTransform |
A transform that maps intermediate world coordinates to pixel coordinates according to the SIP convention. More... | |
Typedefs | |
typedef std::vector< RecordProxy > | ProxyVector |
Functions | |
template<typename MatchT > | |
afw::math::Statistics | makeMatchStatistics (std::vector< MatchT > const &matchList, int const flags, afw::math::StatisticsControl const &sctrl=afw::math::StatisticsControl()) |
Compute statistics of the distance field of a match list. More... | |
template<typename MatchT > | |
afw::math::Statistics | makeMatchStatisticsInPixels (afw::geom::SkyWcs const &wcs, std::vector< MatchT > const &matchList, int const flags, afw::math::StatisticsControl const &sctrl=afw::math::StatisticsControl()) |
Compute statistics of on-detector radial separation for a match list, in pixels. More... | |
template<typename MatchT > | |
afw::math::Statistics | makeMatchStatisticsInRadians (afw::geom::SkyWcs const &wcs, std::vector< MatchT > const &matchList, int const flags, afw::math::StatisticsControl const &sctrl=afw::math::StatisticsControl()) |
Compute statistics of on-sky radial separation for a match list, in radians. More... | |
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. More... | |
std::pair< size_t, size_t > | find_candidate_reference_pair_range (float src_dist, ndarray::Array< float, 1, 1 > const &ref_dist_array, float max_dist_rad) |
Find the range of reference spokes within a spoke distance tolerance of our source spoke. More... | |
std::vector< std::pair< size_t, size_t > > | create_pattern_spokes (ndarray::Array< double, 1, 1 > const &src_ctr, ndarray::Array< double, 2, 1 > const &src_delta_array, ndarray::Array< double, 1, 1 > const &src_dist_array, ndarray::Array< double, 1, 1 > const &ref_ctr, ndarray::Array< double, 1, 1 > const &proj_ref_ctr_delta, ndarray::Array< float, 1, 1 > const &ref_dist_array, ndarray::Array< uint16_t, 1, 1 > const &ref_id_array, ndarray::Array< double, 2, 1 > const &reference_array, double max_dist_rad, size_t n_match) |
Create the individual spokes that make up the pattern now that the shift and rotation are within tolerance. More... | |
int | check_spoke (double cos_theta_src, double sin_theta_src, ndarray::Array< double, 1, 1 > const &ref_ctr, ndarray::Array< double, 1, 1 > const &proj_ref_ctr_delta, double proj_ref_ctr_dist_sq, std::pair< size_t, size_t > const &candidate_range, ndarray::Array< uint16_t, 1, 1 > const &ref_id_array, ndarray::Array< double, 2, 1 > const &reference_array, double src_sin_tol) |
Check the opening angle between the first spoke of our pattern for the source object against the reference object. More... | |
PolynomialTransform | compose (geom::AffineTransform const &t1, PolynomialTransform const &t2) |
Return a PolynomialTransform that is equivalent to the composition t1(t2()) More... | |
PolynomialTransform | compose (PolynomialTransform const &t1, geom::AffineTransform const &t2) |
Return a PolynomialTransform that is equivalent to the composition t1(t2()) More... | |
std::shared_ptr< afw::geom::SkyWcs > | makeWcs (SipForwardTransform const &sipForward, SipReverseTransform const &sipReverse, geom::SpherePoint const &skyOrigin) |
Create a new TAN SIP Wcs from a pair of SIP transforms and the sky origin. More... | |
std::shared_ptr< afw::geom::SkyWcs > | transformWcsPixels (afw::geom::SkyWcs const &wcs, geom::AffineTransform const &s) |
Create a new SkyWcs whose pixel coordinate system has been transformed via an affine transform. More... | |
std::shared_ptr< afw::geom::SkyWcs > | rotateWcsPixelsBy90 (afw::geom::SkyWcs const &wcs, int nQuarter, geom::Extent2I const &dimensions) |
Return a new SkyWcs that represents a rotation of the image it corresponds to about the image's center. More... | |
PYBIND11_MODULE (makeMatchStatistics, mod) | |
PYBIND11_MODULE (matchOptimisticB, mod) | |
PYBIND11_MODULE (pessimisticPatternMatcherUtils, mod) | |
PYBIND11_MODULE (polynomialTransform, mod) | |
PYBIND11_MODULE (scaledPolynomialTransformFitter, mod) | |
PYBIND11_MODULE (sipTransform, mod) | |
template afw::math::Statistics | makeMatchStatistics< afw::table::ReferenceMatch > (std::vector< afw::table::ReferenceMatch > const &matchList, int const flags, afw::math::StatisticsControl const &sctrl) |
template afw::math::Statistics | makeMatchStatisticsInPixels< afw::table::ReferenceMatch > (afw::geom::SkyWcs const &wcs, std::vector< afw::table::ReferenceMatch > const &matchList, int const flags, afw::math::StatisticsControl const &sctrl) |
template afw::math::Statistics | makeMatchStatisticsInRadians< afw::table::ReferenceMatch > (afw::geom::SkyWcs const &wcs, std::vector< afw::table::ReferenceMatch > const &matchList, int const flags, afw::math::StatisticsControl const &sctrl) |
template afw::math::Statistics | makeMatchStatistics< afw::table::SourceMatch > (std::vector< afw::table::SourceMatch > const &matchList, int const flags, afw::math::StatisticsControl const &sctrl) |
template afw::math::Statistics | makeMatchStatisticsInPixels< afw::table::SourceMatch > (afw::geom::SkyWcs const &wcs, std::vector< afw::table::SourceMatch > const &matchList, int const flags, afw::math::StatisticsControl const &sctrl) |
template afw::math::Statistics | makeMatchStatisticsInRadians< afw::table::SourceMatch > (afw::geom::SkyWcs const &wcs, std::vector< afw::table::SourceMatch > const &matchList, int const flags, afw::math::StatisticsControl const &sctrl) |
Definition at line 52 of file matchOptimisticB.h.
int lsst::meas::astrom::check_spoke | ( | double | cos_theta_src, |
double | sin_theta_src, | ||
ndarray::Array< double, 1, 1 > const & | ref_ctr, | ||
ndarray::Array< double, 1, 1 > const & | proj_ref_ctr_delta, | ||
double | proj_ref_ctr_dist_sq, | ||
std::pair< size_t, size_t > const & | candidate_range, | ||
ndarray::Array< uint16_t, 1, 1 > const & | ref_id_array, | ||
ndarray::Array< double, 2, 1 > const & | reference_array, | ||
double | src_sin_tol | ||
) |
Check the opening angle between the first spoke of our pattern for the source object against the reference object.
This method makes heavy use of the small angle approximation to perform the comparison.
[in] | cos_theta_src | Cosine of the angle between the current candidate source spoke and the first spoke. |
[in] | sin_theta_src | Sine of the angle between the current candidate source spoke and the first spoke. |
[in] | ref_ctr | 3 vector of the candidate reference center |
[in] | proj_ref_ctr_delta | Plane projected first spoke in the reference pattern using the pattern center as normal. |
[in] | proj_ref_ctr_dist_sq | Squared length of the projected vector. |
[in] | candidate_range | Min and max index locations in ref_id_array that have pair lengths within the tolerance range. |
[in] | ref_id_array | Array of id lookups into the master reference array that our center id object is paired with. uint16 type is to limit the amount of memory used and is set in the pessimistic_pattern_matcher_3d python class with reference catalogs trimmed by the matchPessimisticB runner class. |
[in] | reference_array | Array of three vectors representing the locations of all reference objects. |
[in] | src_sin_tol | Sine of tolerance allowed between source and reference spoke opening angles. |
Definition at line 137 of file pessimisticPatternMatcherUtils.cc.
PolynomialTransform lsst::meas::astrom::compose | ( | geom::AffineTransform const & | t1, |
PolynomialTransform const & | t2 | ||
) |
Return a PolynomialTransform that is equivalent to the composition t1(t2())
The returned composition would be exact in ideal arithmetic, but may suffer from significant round-off error for high-order polynomials.
Definition at line 214 of file PolynomialTransform.cc.
PolynomialTransform lsst::meas::astrom::compose | ( | PolynomialTransform const & | t1, |
geom::AffineTransform const & | t2 | ||
) |
Return a PolynomialTransform that is equivalent to the composition t1(t2())
The returned composition would be exact in ideal arithmetic, but may suffer from significant round-off error for high-order polynomials.
Definition at line 225 of file PolynomialTransform.cc.
std::vector< std::pair< size_t, size_t > > lsst::meas::astrom::create_pattern_spokes | ( | ndarray::Array< double, 1, 1 > const & | src_ctr, |
ndarray::Array< double, 2, 1 > const & | src_delta_array, | ||
ndarray::Array< double, 1, 1 > const & | src_dist_array, | ||
ndarray::Array< double, 1, 1 > const & | ref_ctr, | ||
ndarray::Array< double, 1, 1 > const & | proj_ref_ctr_delta, | ||
ndarray::Array< float, 1, 1 > const & | ref_dist_array, | ||
ndarray::Array< uint16_t, 1, 1 > const & | ref_id_array, | ||
ndarray::Array< double, 2, 1 > const & | reference_array, | ||
double | max_dist_rad, | ||
size_t | n_match | ||
) |
Create the individual spokes that make up the pattern now that the shift and rotation are within tolerance.
If we can't create a valid pattern we exit early with a partial result.
[in] | src_ctr | 3 vector of the source pinwheel center |
[in] | src_delta_array | Array of 3 vector deltas between the source center and the pairs that make up the remaining spokes of the pinwheel. |
[in] | src_dist_array | Array of the distances of each src_delta in the pinwheel. |
[in] | ref_ctr | 3 vector of the candidate reference center. |
[in] | proj_ref_ctr_delta | Plane projected 3 vector formed from the center point of the candidate pin-wheel and the second point in the pattern to create the first spoke pair. This is the candidate pair that was matched in the main _construct_pattern_and_shift_rot_matrix loop. |
[in] | ref_dist_array | Array of vector distances for each of the reference pairs |
[in] | ref_id_array | Array of id lookups into the master reference array that our center id object is paired with. |
[in] | reference_array | Full 3 vector data for the reference catalog. |
[in] | max_dist_rad | Maximum search radius for distances. |
[in] | n_match | Number of source deltas that must be matched into the reference deltas in order to consider this a successful pattern match. |
Append the successful indices to our list. The src_idx needs an extra iteration to skip the first and second source objects.
Append the successful indices to our list. The src_idx needs an extra iteration to skip the first and second source objects.
Definition at line 47 of file pessimisticPatternMatcherUtils.cc.
std::pair< size_t, size_t > lsst::meas::astrom::find_candidate_reference_pair_range | ( | float | src_dist, |
ndarray::Array< float, 1, 1 > const & | ref_dist_array, | ||
float | max_dist_rad | ||
) |
Find the range of reference spokes within a spoke distance tolerance of our source spoke.
Returns an the min and max index spanning src_dist +/- max_dist_rad.
[in] | src_dist | float value of the distance we would like to search for in the reference array in radians. |
[in] | ref_dist_array | sorted array of distances in radians. |
[in] | max_dist_rad | maximum plus/minus search to find in the reference array in radians. |
Definition at line 35 of file pessimisticPatternMatcherUtils.cc.
afw::math::Statistics lsst::meas::astrom::makeMatchStatistics | ( | std::vector< MatchT > const & | matchList, |
int const | flags, | ||
afw::math::StatisticsControl const & | sctrl = afw::math::StatisticsControl() |
||
) |
Compute statistics of the distance field of a match list.
[in] | matchList | list of matchList between reference objects and sources; fields read:
|
[in] | flags | what to calculate; OR constants such as lsst::afw::math::MEAN, MEANCLIP, STDDEV, MEDIAN, defined in lsst/afw/math/Statitics.h's Property enum |
[in] | sctrl | statistics configuration |
Definition at line 33 of file makeMatchStatistics.cc.
template afw::math::Statistics lsst::meas::astrom::makeMatchStatistics< afw::table::ReferenceMatch > | ( | std::vector< afw::table::ReferenceMatch > const & | matchList, |
int const | flags, | ||
afw::math::StatisticsControl const & | sctrl | ||
) |
template afw::math::Statistics lsst::meas::astrom::makeMatchStatistics< afw::table::SourceMatch > | ( | std::vector< afw::table::SourceMatch > const & | matchList, |
int const | flags, | ||
afw::math::StatisticsControl const & | sctrl | ||
) |
afw::math::Statistics lsst::meas::astrom::makeMatchStatisticsInPixels | ( | afw::geom::SkyWcs const & | wcs, |
std::vector< MatchT > const & | matchList, | ||
int const | flags, | ||
afw::math::StatisticsControl const & | sctrl = afw::math::StatisticsControl() |
||
) |
Compute statistics of on-detector radial separation for a match list, in pixels.
[in] | wcs | WCS describing pixel to sky transformation |
[in] | matchList | list of matchList between reference objects and sources; fields read:
|
[in] | flags | what to calculate; OR constants such as lsst::afw::math::MEAN, MEANCLIP, STDDEV, MEDIAN, defined in lsst/afw/math/Statitics.h's Property enum |
[in] | sctrl | statistics configuration |
Definition at line 48 of file makeMatchStatistics.cc.
template afw::math::Statistics lsst::meas::astrom::makeMatchStatisticsInPixels< afw::table::ReferenceMatch > | ( | afw::geom::SkyWcs const & | wcs, |
std::vector< afw::table::ReferenceMatch > const & | matchList, | ||
int const | flags, | ||
afw::math::StatisticsControl const & | sctrl | ||
) |
template afw::math::Statistics lsst::meas::astrom::makeMatchStatisticsInPixels< afw::table::SourceMatch > | ( | afw::geom::SkyWcs const & | wcs, |
std::vector< afw::table::SourceMatch > const & | matchList, | ||
int const | flags, | ||
afw::math::StatisticsControl const & | sctrl | ||
) |
afw::math::Statistics lsst::meas::astrom::makeMatchStatisticsInRadians | ( | afw::geom::SkyWcs const & | wcs, |
std::vector< MatchT > const & | matchList, | ||
int const | flags, | ||
afw::math::StatisticsControl const & | sctrl = afw::math::StatisticsControl() |
||
) |
Compute statistics of on-sky radial separation for a match list, in radians.
[in] | wcs | WCS describing pixel to sky transformation |
[in] | matchList | list of matchList between reference objects and sources; fields read:
|
[in] | flags | what to calculate; OR constants such as lsst::afw::math::MEAN, MEANCLIP, STDDEV, MEDIAN, defined in lsst/afw/math/Statitics.h's Property enum |
[in] | sctrl | statistics configuration |
Definition at line 71 of file makeMatchStatistics.cc.
template afw::math::Statistics lsst::meas::astrom::makeMatchStatisticsInRadians< afw::table::ReferenceMatch > | ( | afw::geom::SkyWcs const & | wcs, |
std::vector< afw::table::ReferenceMatch > const & | matchList, | ||
int const | flags, | ||
afw::math::StatisticsControl const & | sctrl | ||
) |
template afw::math::Statistics lsst::meas::astrom::makeMatchStatisticsInRadians< afw::table::SourceMatch > | ( | afw::geom::SkyWcs const & | wcs, |
std::vector< afw::table::SourceMatch > const & | matchList, | ||
int const | flags, | ||
afw::math::StatisticsControl const & | sctrl | ||
) |
ProxyVector lsst::meas::astrom::makeProxies | ( | afw::table::SimpleCatalog const & | posRefCat, |
afw::geom::SkyWcs const & | tanWcs | ||
) |
Definition at line 448 of file matchOptimisticB.cc.
ProxyVector lsst::meas::astrom::makeProxies | ( | afw::table::SourceCatalog const & | sourceCat, |
afw::geom::SkyWcs const & | distortedWcs, | ||
afw::geom::SkyWcs const & | tanWcs | ||
) |
Definition at line 436 of file matchOptimisticB.cc.
std::shared_ptr< afw::geom::SkyWcs > lsst::meas::astrom::makeWcs | ( | SipForwardTransform const & | sipForward, |
SipReverseTransform const & | sipReverse, | ||
geom::SpherePoint const & | skyOrigin | ||
) |
Create a new TAN SIP Wcs from a pair of SIP transforms and the sky origin.
[in] | sipForward | Mapping from pixel coordinates to intermediate world coordinates. |
[in] | sipReverse | Mapping from intermediate world coordinates to pixel coordinates. |
[in] | skyOrigin | ICRS position of the gnomonic projection that maps sky coordinates to intermediate world coordinates (CRVAL). |
pex::exceptions::InvalidParameterError | if the forward and reverse SIP transforms have different CRPIX values or CD matrices. |
Definition at line 148 of file SipTransform.cc.
afwTable::ReferenceMatchVector lsst::meas::astrom::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"
[in] | posRefCat | catalog of position reference stars; fields read:
|
[in] | sourceCat | catalog of detected sources; fields read:
|
[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 |
Definition at line 459 of file matchOptimisticB.cc.
lsst::meas::astrom::PYBIND11_MODULE | ( | makeMatchStatistics | , |
mod | |||
) |
Definition at line 47 of file makeMatchStatistics.cc.
lsst::meas::astrom::PYBIND11_MODULE | ( | matchOptimisticB | , |
mod | |||
) |
Definition at line 91 of file matchOptimisticB.cc.
lsst::meas::astrom::PYBIND11_MODULE | ( | pessimisticPatternMatcherUtils | , |
mod | |||
) |
Definition at line 40 of file pessimisticPatternMatcherUtils.cc.
lsst::meas::astrom::PYBIND11_MODULE | ( | polynomialTransform | , |
mod | |||
) |
Definition at line 102 of file polynomialTransform.cc.
lsst::meas::astrom::PYBIND11_MODULE | ( | scaledPolynomialTransformFitter | , |
mod | |||
) |
Definition at line 71 of file scaledPolynomialTransformFitter.cc.
lsst::meas::astrom::PYBIND11_MODULE | ( | sipTransform | , |
mod | |||
) |
Definition at line 104 of file sipTransform.cc.
std::shared_ptr< afw::geom::SkyWcs > lsst::meas::astrom::rotateWcsPixelsBy90 | ( | afw::geom::SkyWcs const & | wcs, |
int | nQuarter, | ||
geom::Extent2I const & | dimensions | ||
) |
Return a new SkyWcs that represents a rotation of the image it corresponds to about the image's center.
[in] | wcs | Original SkyWcs to be rotated. |
[in] | nQuarter | Number of 90 degree rotations (positive is counterclockwise). |
[in] | dimensions | Width and height of the image. |
Definition at line 179 of file SipTransform.cc.
std::shared_ptr< afw::geom::SkyWcs > lsst::meas::astrom::transformWcsPixels | ( | afw::geom::SkyWcs const & | wcs, |
geom::AffineTransform const & | s | ||
) |
Create a new SkyWcs whose pixel coordinate system has been transformed via an affine transform.
[in] | wcs | Original SkyWcs object. |
[in] | s | AffineTransform to apply to the pixel coordinate system. |
sky
and pixel coordinates pixel
. Definition at line 173 of file SipTransform.cc.