12 #ifndef LSST_IP_DIFFIM_KERNELPCA_H 13 #define LSST_IP_DIFFIM_KERNELPCA_H 15 #include "lsst/afw/image.h" 16 #include "lsst/afw/math.h" 23 template <
typename ImageT>
24 class KernelPca :
public lsst::afw::image::ImagePca<ImageT> {
25 typedef typename lsst::afw::image::ImagePca<ImageT>
Super;
27 typedef typename std::shared_ptr<KernelPca<ImageT> >
Ptr;
28 using lsst::afw::image::ImagePca<ImageT>::getEigenImages;
29 using lsst::afw::image::ImagePca<ImageT>::getEigenValues;
30 using lsst::afw::image::ImagePca<ImageT>::addImage;
33 explicit KernelPca(
bool constantWeight=
true) : Super(constantWeight) {}
39 template<
typename PixelT>
42 typedef lsst::afw::image::Image<lsst::afw::math::Kernel::Pixel>
ImageT;
43 typedef std::shared_ptr<KernelPcaVisitor<PixelT> >
Ptr;
48 lsst::afw::math::KernelList getEigenKernels();
49 void processCandidate(lsst::afw::math::SpatialCellCandidate *candidate);
57 template<
typename PixelT>
58 std::shared_ptr<KernelPcaVisitor<PixelT> >
std::shared_ptr< KernelPcaVisitor< PixelT > > Ptr
A class to run a PCA on all candidate kernels (represented as Images).
boost::shared_ptr< ImageT > _mean
Mean image calculated before Pca.
Overrides the analyze method of base class afwImage::ImagePca.
virtual ~KernelPcaVisitor()
boost::shared_ptr< ImageT > returnMean()
lsst::afw::image::ImagePca< ImageT > Super
Base class.
std::shared_ptr< KernelPca< ImageT > > Ptr
std::shared_ptr< KernelPcaVisitor< PixelT > > makeKernelPcaVisitor(std::shared_ptr< KernelPca< typename KernelPcaVisitor< PixelT >::ImageT > > imagePca)
KernelPca(bool constantWeight=true)
Ctor.
lsst::afw::image::Image< lsst::afw::math::Kernel::Pixel > ImageT
virtual void analyze()
Generate eigenimages that are normalised.
std::shared_ptr< KernelPca< ImageT > > _imagePca
Structure to fill with images.