LSSTApplications  8.0.0.0+107,8.0.0.1+13,9.1+18,9.2,master-g084aeec0a4,master-g0aced2eed8+6,master-g15627eb03c,master-g28afc54ef9,master-g3391ba5ea0,master-g3d0fb8ae5f,master-g4432ae2e89+36,master-g5c3c32f3ec+17,master-g60f1e072bb+1,master-g6a3ac32d1b,master-g76a88a4307+1,master-g7bce1f4e06+57,master-g8ff4092549+31,master-g98e65bf68e,master-ga6b77976b1+53,master-gae20e2b580+3,master-gb584cd3397+53,master-gc5448b162b+1,master-gc54cf9771d,master-gc69578ece6+1,master-gcbf758c456+22,master-gcec1da163f+63,master-gcf15f11bcc,master-gd167108223,master-gf44c96c709
LSSTDataManagementBasePackage
Classes | Functions
lsst::afw::image::details Namespace Reference

Classes

struct  Plus
 
struct  Minus
 
struct  Mult
 
struct  Div
 

Functions

template<typename OperatorT , typename PixelT >
void operate (Image< PixelT > &img, ImageSlice< PixelT > const &slc, typename ImageSlice< PixelT >::ImageSliceType sliceType)
 A function to loop over pixels and perform the requested operation. More...
 

Function Documentation

template<typename OperatorT , typename PixelT >
void lsst::afw::image::details::operate ( Image< PixelT > &  img,
ImageSlice< PixelT > const &  slc,
typename ImageSlice< PixelT >::ImageSliceType  sliceType 
)

A function to loop over pixels and perform the requested operation.

Definition at line 92 of file ImageSlice.h.

93  {
94 
95  OperatorT op;
96 
97  if (sliceType == ImageSlice<PixelT>::ROW) {
98  for (int y = 0; y < img.getHeight(); ++y) {
99  typename ImageSlice<PixelT>::x_iterator pSlc = slc.row_begin(0);
100  for (typename Image<PixelT>::x_iterator pImg = img.row_begin(y), end = img.row_end(y);
101  pImg != end; ++pImg, ++pSlc) {
102  *pImg = op(*pImg, *pSlc);
103  }
104  }
105  } else if (sliceType == ImageSlice<PixelT>::COLUMN) {
106 
107  typename ImageSlice<PixelT>::y_iterator pSlc = slc.col_begin(0);
108  for (int y = 0; y < img.getHeight(); ++y, ++pSlc) {
109  for (typename Image<PixelT>::x_iterator pImg = img.row_begin(y), end = img.row_end(y);
110  pImg != end; ++pImg) {
111  *pImg = op(*pImg, *pSlc);
112  }
113  }
114  }
115 
116 }
int y