lsst.jointcal  14.0-20-g39ceace+3
ListMatch.h
Go to the documentation of this file.
1 // -*- LSST-C++ -*-
2 #ifndef LSST_JOINTCAL_LIST_MATCH_H
3 #define LSST_JOINTCAL_LIST_MATCH_H
4 
5 #include <string>
6 
9 
10 namespace lsst {
11 namespace jointcal {
12 
13 class Gtransfo;
14 class GtransfoLin;
15 
20  double nSigmas;
24  int algorithm;
25 
27  : nStarsList1(70),
28  nStarsList2(70),
29  maxTrialCount(4),
30  nSigmas(3.),
31  maxShiftX(50),
32  maxShiftY(50),
33  sizeRatio(1),
34  deltaSizeRatio(0.1 * sizeRatio),
35  minMatchRatio(1. / 3.),
36  printLevel(0),
37  algorithm(2) {}
38 
39  double minSizeRatio() const { return sizeRatio - deltaSizeRatio; }
40  double maxSizeRatio() const { return sizeRatio + deltaSizeRatio; }
41 };
42 
55 
62  const MatchConditions &conditions);
63 
65 
67  const MatchConditions &conditions);
68 
70 
74  const Gtransfo *guess, const double maxDist);
75 
77 
79  const double maxDist);
80 
82 
84  const Gtransfo &gtransfo, double maxShift, double binSize = 0);
85 
87  const MatchConditions &conditions = MatchConditions());
89  std::unique_ptr<Gtransfo> transfo, const int maxOrder = 3);
90 
91 #ifdef DO_WE_NEED_THAT
92 inline Gtransfo *ListMatch(const BaseStarList &list1, const BaseStarList &list2, const int maxOrder = 3) {
93  Gtransfo *transfo = listMatchCombinatorial(list1, list2);
94  transfo = listMatchRefine(list1, list2, transfo, maxOrder);
95  return transfo;
96 }
97 #endif /* DO_WE_NEED_THAT */
98 } // namespace jointcal
99 } // namespace lsst
100 
101 #endif // LSST_JOINTCAL_LIST_MATCH_H
std::unique_ptr< Gtransfo > listMatchCombinatorial(const BaseStarList &list1, const BaseStarList &list2, const MatchConditions &conditions=MatchConditions())
Definition: ListMatch.cc:647
std::unique_ptr< StarMatchList > matchSearchRotShift(BaseStarList &list1, BaseStarList &list2, const MatchConditions &conditions)
searches a geometrical transformation that goes from list1 to list2.
Definition: ListMatch.cc:400
pairs of points
std::unique_ptr< StarMatchList > matchSearchRotShiftFlip(BaseStarList &list1, BaseStarList &list2, const MatchConditions &conditions)
same as above but searches also a flipped solution.
Definition: ListMatch.cc:408
std::lists of Stars.
Definition: StarList.h:35
Class for a simple mapping implementing a generic Gtransfo.
std::unique_ptr< Gtransfo > listMatchRefine(const BaseStarList &list1, const BaseStarList &list2, std::unique_ptr< Gtransfo > transfo, const int maxOrder=3)
Definition: ListMatch.cc:686
std::unique_ptr< StarMatchList > listMatchCollect(const BaseStarList &list1, const BaseStarList &list2, const Gtransfo *guess, const double maxDist)
assembles star matches.
Definition: ListMatch.cc:538
STL class.
a virtual (interface) class for geometric transformations.
Definition: Gtransfo.h:39
Parameters to be provided to combinatorial searches.
Definition: ListMatch.h:17
std::unique_ptr< GtransfoLin > listMatchupShift(const BaseStarList &list1, const BaseStarList &list2, const Gtransfo &gtransfo, double maxShift, double binSize=0)
searches for a 2 dimensional shift using a very crude histogram method.
Definition: ListMatch.cc:464