Template Class ImagePca

Inheritance Relationships

Derived Types

Class Documentation

template<typename ImageT>
class ImagePca

Subclassed by lsst::ip::diffim::detail::KernelPca< ImageT >, lsst::meas::algorithms::PsfImagePca< ImageT >

Public Types

typedef std::vector<std::shared_ptr<ImageT>> ImageList

Public Functions

ImagePca(bool constantWeight = true)

ctor

Parameters
  • constantWeight: Should all stars be weighted equally?

virtual ~ImagePca()
ImagePca(ImagePca const&)
ImagePca(ImagePca&&)
ImagePca &operator=(ImagePca const&)
ImagePca &operator=(ImagePca&&)
void addImage(std::shared_ptr<ImageT> img, double flux = 0.0)

Add an image to the set to be analyzed

Parameters
Exceptions
  • lsst::pex::exceptions::LengthError: if all the images aren’t the same size

ImageList getImageList() const

Return the list of images being analyzed.

lsst::geom::Extent2I const getDimensions() const

Return the dimension of the images being analyzed.

std::shared_ptr<ImageT> getMean() const

Return the mean of the images in ImagePca’s list

virtual void analyze()
virtual double updateBadPixels(unsigned long mask, int const ncomp)

Update the bad pixels (i.e. those for which (value & mask) != 0) based on the current PCA decomposition; if none is available, use the mean of the good pixels

N.b. the work is actually done in do_updateBadPixels as the code only makes sense and compiles when we are doing a PCA on a set of MaskedImages

Return

the maximum change made to any pixel

Parameters
  • mask: Mask defining bad pixels

  • ncomp: Number of components to use in estimate

std::vector<double> const &getEigenValues() const

Return Eigen values.

ImageList const &getEigenImages() const

Return Eigen images.