LSST Applications g013ef56533+d2224463a4,g199a45376c+0ba108daf9,g19c4beb06c+9f335b2115,g1fd858c14a+2459ca3e43,g210f2d0738+2d3d333a78,g262e1987ae+abbb004f04,g2825c19fe3+eedc38578d,g29ae962dfc+0cb55f06ef,g2cef7863aa+aef1011c0b,g35bb328faa+8c5ae1fdc5,g3fd5ace14f+19c3a54948,g47891489e3+501a489530,g4cdb532a89+a047e97985,g511e8cfd20+ce1f47b6d6,g53246c7159+8c5ae1fdc5,g54cd7ddccb+890c8e1e5d,g5fd55ab2c7+951cc3f256,g64539dfbff+2d3d333a78,g67b6fd64d1+501a489530,g67fd3c3899+2d3d333a78,g74acd417e5+0ea5dee12c,g786e29fd12+668abc6043,g87389fa792+8856018cbb,g89139ef638+501a489530,g8d7436a09f+5ea4c44d25,g8ea07a8fe4+81eaaadc04,g90f42f885a+34c0557caf,g9486f8a5af+165c016931,g97be763408+d5e351dcc8,gbf99507273+8c5ae1fdc5,gc2a301910b+2d3d333a78,gca7fc764a6+501a489530,gce8aa8abaa+8c5ae1fdc5,gd7ef33dd92+501a489530,gdab6d2f7ff+0ea5dee12c,ge410e46f29+501a489530,geaed405ab2+e3b4b2a692,gf9a733ac38+8c5ae1fdc5,w.2025.41
LSST Data Management Base Package
Loading...
Searching...
No Matches
lsst::afw::image::details Namespace Reference

Classes

struct  Div
 
struct  Minus
 
struct  Mult
 
struct  Plus
 

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.
 

Function Documentation

◆ operate()

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 94 of file ImageSlice.h.

95 {
96 OperatorT op;
97
98 if (sliceType == ImageSlice<PixelT>::ROW) {
99 for (int y = 0; y < img.getHeight(); ++y) {
100 typename ImageSlice<PixelT>::x_iterator pSlc = slc.row_begin(0);
101 for (typename Image<PixelT>::x_iterator pImg = img.row_begin(y), end = img.row_end(y);
102 pImg != end; ++pImg, ++pSlc) {
103 *pImg = op(*pImg, *pSlc);
104 }
105 }
106 } else if (sliceType == ImageSlice<PixelT>::COLUMN) {
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}
y_iterator col_begin(int x) const
Return an y_iterator to the start of the y'th row.
Definition ImageBase.h:413
int getHeight() const
Return the number of rows in the image.
Definition ImageBase.h:296
x_iterator row_begin(int y) const
Return an x_iterator to the start of the y'th row.
Definition ImageBase.h:401
x_iterator row_end(int y) const
Return an x_iterator to the end of the y'th row.
Definition ImageBase.h:404
typename _view_t::x_iterator x_iterator
An iterator for traversing the pixels in a row.
Definition ImageBase.h:133
typename _view_t::y_iterator y_iterator
An iterator for traversing the pixels in a column.
Definition ImageBase.h:143
A class to represent a 2-dimensional array of pixels.
Definition Image.h:51
g2d::python::Image< double > Image
Definition test_image.cc:14