25 #if !defined(LSST_AFW_IMAGE_SLICE_H)
26 #define LSST_AFW_IMAGE_SLICE_H
53 template<
typename PixelT>
77 template<
typename PixelT>
79 template<
typename PixelT>
81 template<
typename PixelT>
83 template<
typename PixelT>
91 template<
typename OperatorT,
typename PixelT>
101 pImg != end; ++pImg, ++pSlc) {
102 *pImg = op(*pImg, *pSlc);
110 pImg != end; ++pImg) {
111 *pImg = op(*pImg, *pSlc);
122 template<
typename PixelT>
123 typename Image<PixelT>::Ptr
operator+(Image<PixelT>
const &img, ImageSlice<PixelT>
const &slc);
125 template<
typename PixelT>
126 typename Image<PixelT>::Ptr
operator+(ImageSlice<PixelT>
const &slc, Image<PixelT>
const &img);
128 template<
typename PixelT>
129 void operator+=(Image<PixelT> &img, ImageSlice<PixelT>
const &slc);
134 template<
typename PixelT>
135 typename Image<PixelT>::Ptr
operator-(Image<PixelT>
const &img, ImageSlice<PixelT>
const &slc);
137 template<
typename PixelT>
138 void operator-=(Image<PixelT> &img, ImageSlice<PixelT>
const &slc);
143 template<
typename PixelT>
144 typename Image<PixelT>::Ptr
operator*(Image<PixelT>
const &img, ImageSlice<PixelT>
const &slc);
146 template<
typename PixelT>
147 typename Image<PixelT>::Ptr
operator*(ImageSlice<PixelT>
const &slc, Image<PixelT>
const &img);
149 template<
typename PixelT>
150 void operator*=(Image<PixelT> &img, ImageSlice<PixelT>
const &slc);
155 template<
typename PixelT>
156 typename Image<PixelT>::Ptr
operator/(Image<PixelT>
const &img, ImageSlice<PixelT>
const &slc);
158 template<
typename PixelT>
159 void operator/=(Image<PixelT> &img, ImageSlice<PixelT>
const &slc);
ImageSlice(Image< PixelT > const &img)
Constructor for ImageSlice.
_view_t::x_iterator x_iterator
An iterator for traversing the pixels in a row.
ImageSliceType getImageSliceType() const
void operator*=(Image< LhsPixelT > &lhs, Image< RhsPixelT > const &rhs)
PixelT operator()(PixelT const imgPix, PixelT const slcPix)
ImageSliceType _sliceType
table::Key< table::Array< Kernel::Pixel > > image
x_iterator row_end(int y) const
Return an x_iterator to the end of the y'th row.
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.
_view_t::y_iterator y_iterator
An iterator for traversing the pixels in a column.
Image< PixelT >::Ptr operator/(Image< PixelT > const &img, ImageSlice< PixelT > const &slc)
int getHeight() const
Return the number of rows in the image.
PixelT operator()(PixelT const imgPix, PixelT const slcPix)
Image< PixelT >::Ptr operator-(Image< PixelT > const &img, ImageSlice< PixelT > const &slc)
y_iterator col_begin(int x) const
PixelT operator()(PixelT const imgPix, PixelT const slcPix)
void operator/=(Image< LhsPixelT > &lhs, Image< RhsPixelT > const &rhs)
void operator-=(Image< LhsPixelT > &lhs, Image< RhsPixelT > const &rhs)
x_iterator row_begin(int y) const
Image< PixelT >::Ptr operator+(Image< PixelT > const &img, ImageSlice< PixelT > const &slc)
A class to represent a 2-dimensional array of pixels.
PixelT operator()(PixelT const imgPix, PixelT const slcPix)
Image< PixelT >::Ptr operator*(Image< PixelT > const &img, ImageSlice< PixelT > const &slc)
A class to specify a slice of an image.
void operator+=(Image< LhsPixelT > &lhs, Image< RhsPixelT > const &rhs)