38 namespace algorithms {
40 template <
typename ImageT>
45 typename Super::ImageList::const_iterator iter = eImageList.
begin(),
end = eImageList.
end();
46 for (
size_t i = 0; iter !=
end; ++i, ++iter) {
47 PTR(ImageT) eImage = *iter;
57 double const extreme = (fabs(min) > max) ? min : max;
71 if (i > 0 && _border > 0) {
72 int const height = eImage->getHeight();
73 int const width = eImage->getWidth();
75 if (2 * _border >=
std::min(height, width)) {
87 int const nEdge = width * height - (width - 2 * _border) * (height - 2 * _border);
94 for (; y != _border; ++y) {
95 for (imIter ptr = eImageIm->row_begin(y),
end = eImageIm->row_end(y); ptr !=
end;
100 for (; y != height - _border; ++y) {
101 for (imIter ptr = eImageIm->row_begin(y),
end = eImageIm->x_at(_border, y); ptr !=
end;
105 for (imIter ptr = eImageIm->x_at(width - _border, y),
end = eImageIm->row_end(y);
106 ptr !=
end; ++ptr, ++bi) {
110 for (; y != height; ++y) {
111 for (imIter ptr = eImageIm->row_begin(y),
end = eImageIm->row_end(y); ptr !=
end;
120 *eImage -= background;
125 #define INSTANTIATE_IMAGE(IMAGE) template class PsfImagePca<IMAGE>; 127 #define INSTANTIATE(TYPE) \ 128 INSTANTIATE_IMAGE(afw::image::Image<TYPE>); \ 129 INSTANTIATE_IMAGE(afw::image::MaskedImage<TYPE>); #define INSTANTIATE(TYPE)
virtual void analyze()
Generate eigenimages that are normalised and background-subtracted.
Statistics makeStatistics(lsst::afw::image::Image< Pixel > const &img, lsst::afw::image::Mask< image::MaskPixel > const &msk, int const flags, StatisticsControl const &sctrl=StatisticsControl())
Class for doing PCA on PSF stars.
double getValue(Property const prop=NOTHING) const