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;
39 template<
typename PixelT>
42 typedef lsst::afw::image::Image<lsst::afw::math::Kernel::Pixel>
ImageT;
43 typedef std::shared_ptr<KernelPcaVisitor<PixelT> >
Ptr;
KernelPcaVisitor(std::shared_ptr< KernelPca< ImageT > > imagePca)
std::shared_ptr< KernelPcaVisitor< PixelT > > Ptr
A class to run a PCA on all candidate kernels (represented as Images).
void processCandidate(lsst::afw::math::SpatialCellCandidate *candidate)
lsst::afw::math::KernelList getEigenKernels()
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.