lsst.ip.diffim  16.0-8-g4aca173+19
BuildSpatialKernelVisitor.h
Go to the documentation of this file.
1 // -*- lsst-c++ -*-
12 #ifndef LSST_IP_DIFFIM_BUILDSPATIALKERNELVISITOR_H
13 #define LSST_IP_DIFFIM_BUILDSPATIALKERNELVISITOR_H
14 
15 #include "Eigen/Core"
16 #include "lsst/afw/math.h"
17 #include "lsst/afw/image.h"
18 #include "lsst/ip/diffim.h"
19 #include "lsst/pex/policy/Policy.h"
20 
21 namespace lsst {
22 namespace ip {
23 namespace diffim {
24 namespace detail {
25 
26  template<typename PixelT>
28  public:
30 
32  lsst::afw::math::KernelList const& basisList,
33  lsst::afw::geom::Box2I const& regionBBox,
35  );
36 
37  int getNCandidates() {return _nCandidates;}
38 
40 
41  void solveLinearEquation();
42 
43  inline std::shared_ptr<SpatialKernelSolution> getKernelSolution() {return _kernelSolution;}
44 
47 
48  private:
50  int _nCandidates;
51  };
52 
53  template<typename PixelT>
56  lsst::afw::math::KernelList const& basisList,
57  lsst::afw::geom::Box2I const& regionBBox,
59  ) {
60 
62  new BuildSpatialKernelVisitor<PixelT>(basisList, regionBBox, policy)
63  );
64  }
65 
66 }}}} // end of namespace lsst::ip::diffim::detail
67 
68 #endif
Creates a spatial kernel and background from a list of candidates.
An include file to include the header files for lsst::ip::diffim.
std::shared_ptr< BuildSpatialKernelVisitor< PixelT > > Ptr
std::shared_ptr< SpatialKernelSolution > getKernelSolution()
BuildSpatialKernelVisitor(lsst::afw::math::KernelList const &basisList, lsst::afw::geom::Box2I const &regionBBox, lsst::pex::policy::Policy policy)
std::pair< std::shared_ptr< lsst::afw::math::LinearCombinationKernel >, lsst::afw::math::Kernel::SpatialFunctionPtr > getSolutionPair()
STL class.
std::shared_ptr< BuildSpatialKernelVisitor< PixelT > > makeBuildSpatialKernelVisitor(lsst::afw::math::KernelList const &basisList, lsst::afw::geom::Box2I const &regionBBox, lsst::pex::policy::Policy policy)
void processCandidate(lsst::afw::math::SpatialCellCandidate *candidate)