38 namespace algorithms {
40 template <
typename ImageT>
46 typename Super::ImageList::const_iterator
iter = eImageList.
begin(),
end = eImageList.
end();
47 for (
size_t i = 0; iter !=
end; ++i, ++iter) {
48 PTR(ImageT) eImage = *iter;
58 double const extreme = (fabs(min) > max) ? min :max;
72 if (i > 0 && _border > 0) {
73 int const height = eImage->getHeight();
74 int const width = eImage->getWidth();
76 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),
96 end = eImageIm->row_end(y); ptr !=
end; ++ptr, ++bi) {
100 for (; y != height - _border; ++y) {
101 for (imIter ptr = eImageIm->row_begin(y),
102 end = eImageIm->x_at(_border, y); ptr !=
end; ++ptr, ++bi) {
105 for (imIter ptr = eImageIm->x_at(width - _border, y),
106 end = eImageIm->row_end(y); ptr !=
end; ++ptr, ++bi) {
110 for (; y != height; ++y) {
111 for (imIter ptr = eImageIm->row_begin(y),
112 end = eImageIm->row_end(y); ptr !=
end; ++ptr, ++bi) {
120 *eImage -= background;
125 #define INSTANTIATE_IMAGE(IMAGE) \ 126 template class PsfImagePca<IMAGE >; 128 #define INSTANTIATE(TYPE) \ 129 INSTANTIATE_IMAGE(afw::image::Image<TYPE>); \ 130 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