2 #ifndef LSST_JOINTCAL_ASSOCIATIONS_H 3 #define LSST_JOINTCAL_ASSOCIATIONS_H 9 #include "lsst/afw/table/Source.h" 10 #include "lsst/afw/image/TanWcs.h" 11 #include "lsst/afw/image/Calib.h" 12 #include "lsst/afw/image/VisitInfo.h" 13 #include "lsst/daf/base/PropertySet.h" 14 #include "lsst/afw/geom/Box.h" 22 #include "lsst/afw/table/SortedCatalog.h" 47 : _commonTangentPoint(
Point(
std::numeric_limits<double>::quiet_NaN(),
48 std::numeric_limits<double>::quiet_NaN())) {}
79 void addImage(lsst::afw::table::SortedCatalogT<lsst::afw::table::SourceRecord> &catalog,
80 std::shared_ptr<lsst::afw::image::TanWcs> wcs,
81 std::shared_ptr<lsst::afw::image::VisitInfo> visitInfo, lsst::afw::geom::Box2I
const &bbox,
82 std::string
const &filter, std::shared_ptr<afw::image::PhotoCalib> photoCalib,
83 std::shared_ptr<afw::cameraGeom::Detector> detector,
int visit,
int ccd,
87 void associateCatalogs(
const double matchCutInArcsec = 0,
const bool useFittedList =
false,
88 const bool enlargeFittedList =
true);
100 void collectRefStars(lsst::afw::table::SortedCatalogT<lsst::afw::table::SimpleRecord> &refCat,
101 afw::geom::Angle matchCut, std::string
const &fluxField,
102 std::map<std::string, std::vector<double>>
const &refFluxMap,
103 std::map<std::string, std::vector<double>>
const &refFluxErrMap);
112 void setFittedStarColors(std::string
const &dicStarListName, std::string
const &color,
113 double matchCutArcSec);
135 return std::count_if(
136 ccdImageList.begin(), ccdImageList.end(),
137 [](std::shared_ptr<CcdImage>
const &item) {
return item->getCatalogForFit().size() > 0; });
146 std::unordered_map<std::string, std::size_t> _filterMap;
151 #endif // LSST_JOINTCAL_ASSOCIATIONS_H unsigned getNFilters() const
Number of different bands in the input image list. Not implemented so far.
int nCcdImagesValidForFit() const
return the number of CcdImages with non-empty catalogs to-be-fit.
Point getCommonTangentPoint() const
can be used to project sidereal coordinates related to the image set on a plane.
CcdImageList ccdImageList
The class that implements the relations between MeasuredStar and FittedStar.
void associateCatalogs(const double matchCutInArcsec=0, const bool useFittedList=false, const bool enlargeFittedList=true)
incrementaly builds a merged catalog of all image catalogs
void selectFittedStars(int minMeasurements)
Set the color field of FittedStar 's from a colored catalog.
void collectRefStars(lsst::afw::table::SortedCatalogT< lsst::afw::table::SimpleRecord > &refCat, afw::geom::Angle matchCut, std::string const &fluxField, std::map< std::string, std::vector< double >> const &refFluxMap, std::map< std::string, std::vector< double >> const &refFluxErrMap)
Collect stars from an external reference catalog and associate them with fittedStars.
Class for a simple mapping implementing a generic Gtransfo.
A list of FittedStar s. Such a list is typically constructed by Associations.
void deprojectFittedStars()
Sends back the fitted stars coordinates on the sky FittedStarsList::inTangentPlaneCoordinates keeps t...
CcdImageList const & getCcdImageList() const
void setCommonTangentPoint(lsst::afw::geom::Point2D const &commonTangentPoint)
Sets a shared tangent point for all ccdImages.
a virtual (interface) class for geometric transformations.
const lsst::afw::geom::Box2D getRaDecBBox()
Associations()
Source selection is performed in python, so Associations' constructor only initializes a couple of va...
std::list< std::shared_ptr< CcdImage > > CcdImageList
Point _commonTangentPoint
Associations & operator=(Associations const &)=delete
FittedStarList fittedStarList
void addImage(lsst::afw::table::SortedCatalogT< lsst::afw::table::SourceRecord > &catalog, std::shared_ptr< lsst::afw::image::TanWcs > wcs, std::shared_ptr< lsst::afw::image::VisitInfo > visitInfo, lsst::afw::geom::Box2I const &bbox, std::string const &filter, std::shared_ptr< afw::image::PhotoCalib > photoCalib, std::shared_ptr< afw::cameraGeom::Detector > detector, int visit, int ccd, lsst::jointcal::JointcalControl const &control)
Create a ccdImage from an exposure catalog and metadata, and add it to the list.
size_t fittedStarListSize()