lsst.afw  19.0.0-26-g4476391b4+2
Classes | Functions
lsst::afw::image::pixel Namespace Reference

Classes

class  BinaryExpr
 Class for representing binary operations. More...
 
class  BinaryExpr< ExprT1, double, ImageBinOp, MaskBinOp, VarianceBinOp >
 Partial specialization of BinaryExpr when ExprT2 is a double (i.e no mask/variance part) More...
 
struct  bitwise_or
 bitwise_or doesn't seem to be in std:: More...
 
struct  exprTraits
 A traits class to return the types of the image/mask/variance. More...
 
struct  exprTraits< double >
 A specialisation of exprTraits for double More...
 
struct  exprTraits< float >
 A specialisation of exprTraits for float More...
 
struct  exprTraits< int >
 A specialisation of exprTraits for int More...
 
struct  exprTraits< unsigned short >
 A specialisation of exprTraits for unsigned short More...
 
struct  noop
 A noop functor (useful for e.g. masks and variances when changing the sign of the image) More...
 
class  Pixel
 A pixel of a MaskedImage. More...
 
struct  PixelTypeTraits
 Pixel type traits. More...
 
struct  PixelTypeTraits< SinglePixel< _ImagePixelT, _MaskPixelT, _VariancePixelT > >
 Specialization for a pixel of a MaskedImage. More...
 
class  SinglePixel
 A single pixel of the same type as a MaskedImage. More...
 
class  UnaryExpr
 Class for representing Unary operations. More...
 
struct  variance_divides
 Calculate the variance when we divide two Pixels. More...
 
struct  variance_multiplies
 Calculate the variance when we multiply two Pixels. More...
 
struct  variance_plus
 Calculate the variance when we add (or subtract) two Pixels. More...
 
struct  variance_plus_covar
 The variance of the sum of a pair of correlated pixels. More...
 

Functions

template<typename ImagePixelT , typename MaskPixelT , typename VariancePixelT >
SinglePixel< ImagePixelT, MaskPixelT, VariancePixelT > makeSinglePixel (ImagePixelT x, MaskPixelT m, VariancePixelT v)
 Return a SinglePixel. More...
 
template<typename ExprT1 >
UnaryExpr< ExprT1, std::negate< typename exprTraits< ExprT1 >::ImagePixelT >, noop< typename exprTraits< ExprT1 >::MaskPixelT >, noop< typename exprTraits< ExprT1 >::VariancePixelT > > operator- (ExprT1 e1)
 Template for -e1. More...
 
template<typename ExprT1 , typename ExprT2 >
BinaryExpr< ExprT1, ExprT2, std::plus< typename exprTraits< ExprT1 >::ImagePixelT >, bitwise_or< typename exprTraits< ExprT1 >::MaskPixelT >, variance_plus< typename exprTraits< ExprT1 >::VariancePixelT > > operator+ (ExprT1 e1, ExprT2 e2)
 Template for (e1 + e2) More...
 
template<typename ExprT1 , typename ExprT2 >
ExprT1 operator+= (ExprT1 &e1, ExprT2 e2)
 template for e1 += e2 More...
 
template<typename ExprT1 , typename ExprT2 >
ExprT1 plus (ExprT1 &lhs, ExprT2 const &rhs, float covariance)
 Like operator+(), but assume that covariance's 2*alpha*sqrt(vx*vy) More...
 
template<typename ExprT1 , typename ExprT2 >
BinaryExpr< ExprT1, ExprT2, std::minus< typename exprTraits< ExprT1 >::ImagePixelT >, bitwise_or< typename exprTraits< ExprT1 >::MaskPixelT >, variance_plus< typename exprTraits< ExprT1 >::VariancePixelT > > operator- (ExprT1 e1, ExprT2 e2)
 Template to evaluate (e1 - e2) More...
 
template<typename ExprT1 , typename ExprT2 >
ExprT1 operator-= (ExprT1 &e1, ExprT2 e2)
 Template to evaluate e1 -= e2. More...
 
template<typename ExprT1 , typename ExprT2 >
BinaryExpr< ExprT1, ExprT2, std::multiplies< typename exprTraits< ExprT1 >::ImagePixelT >, bitwise_or< typename exprTraits< ExprT1 >::MaskPixelT >, variance_multiplies< typename exprTraits< ExprT1 >::VariancePixelT > > operator* (ExprT1 e1, ExprT2 e2)
 Template to evaluate (e1 * e2) More...
 
template<typename ExprT1 , typename ExprT2 >
ExprT1 operator*= (ExprT1 &e1, ExprT2 e2)
 Template to evaluate e1 *= e2. More...
 
template<typename ExprT1 , typename ExprT2 >
BinaryExpr< ExprT1, ExprT2, std::divides< typename exprTraits< ExprT1 >::ImagePixelT >, bitwise_or< typename exprTraits< ExprT1 >::MaskPixelT >, variance_divides< typename exprTraits< ExprT1 >::VariancePixelT > > operator/ (ExprT1 e1, ExprT2 e2)
 Template to evaluate (e1 / e2) More...
 
template<typename ExprT1 , typename ExprT2 >
ExprT1 operator/= (ExprT1 &e1, ExprT2 e2)
 Template to evaluate e1 /= e2. More...
 
template<typename ImagePixelT , typename MaskPixelT , typename VariancePixelT >
std::ostreamoperator<< (std::ostream &os, SinglePixel< ImagePixelT, MaskPixelT, VariancePixelT > const &v)
 Print a SinglePixel. More...
 
template<typename ImagePixelT , typename MaskPixelT , typename VariancePixelT >
std::ostreamoperator<< (std::ostream &os, Pixel< ImagePixelT, MaskPixelT, VariancePixelT > const &v)
 Print a Pixel. More...
 
template<typename ExprT1 , typename ExprT2 , typename BinOp , typename MaskBinOp , typename VarBinOp >
std::ostreamoperator<< (std::ostream &os, BinaryExpr< ExprT1, ExprT2, BinOp, MaskBinOp, VarBinOp > const &v)
 Evaluate and print a BinaryExpr. More...
 

Function Documentation

◆ makeSinglePixel()

template<typename ImagePixelT , typename MaskPixelT , typename VariancePixelT >
SinglePixel<ImagePixelT, MaskPixelT, VariancePixelT> lsst::afw::image::pixel::makeSinglePixel ( ImagePixelT  x,
MaskPixelT  m,
VariancePixelT  v 
)

Return a SinglePixel.

This function is useful as function overloading will choose the correct return type (cf. std::make_pair()

Definition at line 141 of file Pixel.h.

◆ operator*()

template<typename ExprT1 , typename ExprT2 >
BinaryExpr<ExprT1, ExprT2, std::multiplies<typename exprTraits<ExprT1>::ImagePixelT>, bitwise_or<typename exprTraits<ExprT1>::MaskPixelT>, variance_multiplies<typename exprTraits<ExprT1>::VariancePixelT> > lsst::afw::image::pixel::operator* ( ExprT1  e1,
ExprT2  e2 
)

Template to evaluate (e1 * e2)

Definition at line 608 of file Pixel.h.

◆ operator*=()

template<typename ExprT1 , typename ExprT2 >
ExprT1 lsst::afw::image::pixel::operator*= ( ExprT1 &  e1,
ExprT2  e2 
)

Template to evaluate e1 *= e2.

Definition at line 616 of file Pixel.h.

◆ operator+()

template<typename ExprT1 , typename ExprT2 >
BinaryExpr<ExprT1, ExprT2, std::plus<typename exprTraits<ExprT1>::ImagePixelT>, bitwise_or<typename exprTraits<ExprT1>::MaskPixelT>, variance_plus<typename exprTraits<ExprT1>::VariancePixelT> > lsst::afw::image::pixel::operator+ ( ExprT1  e1,
ExprT2  e2 
)

Template for (e1 + e2)

Definition at line 535 of file Pixel.h.

◆ operator+=()

template<typename ExprT1 , typename ExprT2 >
ExprT1 lsst::afw::image::pixel::operator+= ( ExprT1 &  e1,
ExprT2  e2 
)

template for e1 += e2

Definition at line 543 of file Pixel.h.

◆ operator-() [1/2]

template<typename ExprT1 >
UnaryExpr<ExprT1, std::negate<typename exprTraits<ExprT1>::ImagePixelT>, noop<typename exprTraits<ExprT1>::MaskPixelT>, noop<typename exprTraits<ExprT1>::VariancePixelT> > lsst::afw::image::pixel::operator- ( ExprT1  e1)

Template for -e1.

Definition at line 523 of file Pixel.h.

◆ operator-() [2/2]

template<typename ExprT1 , typename ExprT2 >
BinaryExpr<ExprT1, ExprT2, std::minus<typename exprTraits<ExprT1>::ImagePixelT>, bitwise_or<typename exprTraits<ExprT1>::MaskPixelT>, variance_plus<typename exprTraits<ExprT1>::VariancePixelT> > lsst::afw::image::pixel::operator- ( ExprT1  e1,
ExprT2  e2 
)

Template to evaluate (e1 - e2)

Definition at line 587 of file Pixel.h.

◆ operator-=()

template<typename ExprT1 , typename ExprT2 >
ExprT1 lsst::afw::image::pixel::operator-= ( ExprT1 &  e1,
ExprT2  e2 
)

Template to evaluate e1 -= e2.

Definition at line 595 of file Pixel.h.

◆ operator/()

template<typename ExprT1 , typename ExprT2 >
BinaryExpr<ExprT1, ExprT2, std::divides<typename exprTraits<ExprT1>::ImagePixelT>, bitwise_or<typename exprTraits<ExprT1>::MaskPixelT>, variance_divides<typename exprTraits<ExprT1>::VariancePixelT> > lsst::afw::image::pixel::operator/ ( ExprT1  e1,
ExprT2  e2 
)

Template to evaluate (e1 / e2)

Definition at line 629 of file Pixel.h.

◆ operator/=()

template<typename ExprT1 , typename ExprT2 >
ExprT1 lsst::afw::image::pixel::operator/= ( ExprT1 &  e1,
ExprT2  e2 
)

Template to evaluate e1 /= e2.

Definition at line 637 of file Pixel.h.

◆ operator<<() [1/3]

template<typename ExprT1 , typename ExprT2 , typename BinOp , typename MaskBinOp , typename VarBinOp >
std::ostream& lsst::afw::image::pixel::operator<< ( std::ostream os,
BinaryExpr< ExprT1, ExprT2, BinOp, MaskBinOp, VarBinOp > const &  v 
)

Evaluate and print a BinaryExpr.

Definition at line 658 of file Pixel.h.

◆ operator<<() [2/3]

template<typename ImagePixelT , typename MaskPixelT , typename VariancePixelT >
std::ostream& lsst::afw::image::pixel::operator<< ( std::ostream os,
Pixel< ImagePixelT, MaskPixelT, VariancePixelT > const &  v 
)

Print a Pixel.

Definition at line 652 of file Pixel.h.

◆ operator<<() [3/3]

template<typename ImagePixelT , typename MaskPixelT , typename VariancePixelT >
std::ostream& lsst::afw::image::pixel::operator<< ( std::ostream os,
SinglePixel< ImagePixelT, MaskPixelT, VariancePixelT > const &  v 
)

Print a SinglePixel.

Definition at line 646 of file Pixel.h.

◆ plus()

template<typename ExprT1 , typename ExprT2 >
ExprT1 lsst::afw::image::pixel::plus ( ExprT1 &  lhs,
ExprT2 const &  rhs,
float  covariance 
)
inline

Like operator+(), but assume that covariance's 2*alpha*sqrt(vx*vy)

Parameters
lhsLeft hand value
rhsRight hand value
covarianceAssume that covariance is 2*alpha*sqrt(vx*vy) (if variances are known)

Definition at line 573 of file Pixel.h.