LSST Applications  21.0.0-172-gfb10e10a+18fedfabac,22.0.0+297cba6710,22.0.0+80564b0ff1,22.0.0+8d77f4f51a,22.0.0+a28f4c53b1,22.0.0+dcf3732eb2,22.0.1-1-g7d6de66+2a20fdde0d,22.0.1-1-g8e32f31+297cba6710,22.0.1-1-geca5380+7fa3b7d9b6,22.0.1-12-g44dc1dc+2a20fdde0d,22.0.1-15-g6a90155+515f58c32b,22.0.1-16-g9282f48+790f5f2caa,22.0.1-2-g92698f7+dcf3732eb2,22.0.1-2-ga9b0f51+7fa3b7d9b6,22.0.1-2-gd1925c9+bf4f0e694f,22.0.1-24-g1ad7a390+a9625a72a8,22.0.1-25-g5bf6245+3ad8ecd50b,22.0.1-25-gb120d7b+8b5510f75f,22.0.1-27-g97737f7+2a20fdde0d,22.0.1-32-gf62ce7b1+aa4237961e,22.0.1-4-g0b3f228+2a20fdde0d,22.0.1-4-g243d05b+871c1b8305,22.0.1-4-g3a563be+32dcf1063f,22.0.1-4-g44f2e3d+9e4ab0f4fa,22.0.1-42-gca6935d93+ba5e5ca3eb,22.0.1-5-g15c806e+85460ae5f3,22.0.1-5-g58711c4+611d128589,22.0.1-5-g75bb458+99c117b92f,22.0.1-6-g1c63a23+7fa3b7d9b6,22.0.1-6-g50866e6+84ff5a128b,22.0.1-6-g8d3140d+720564cf76,22.0.1-6-gd805d02+cc5644f571,22.0.1-8-ge5750ce+85460ae5f3,master-g6e05de7fdc+babf819c66,master-g99da0e417a+8d77f4f51a,w.2021.48
LSST Data Management Base Package
Public Types | Public Member Functions | List of all members
lsst::afw::image::pixel::BinaryExpr< ExprT1, double, ImageBinOp, MaskBinOp, VarianceBinOp > Class Template Referencefinal

Partial specialization of BinaryExpr when ExprT2 is a double (i.e no mask/variance part) More...

#include <Pixel.h>

Public Types

using ImagePixelT = typename exprTraits< ExprT1 >::ImagePixelT
 
using MaskPixelT = typename exprTraits< ExprT1 >::MaskPixelT
 
using VariancePixelT = typename exprTraits< ExprT1 >::VariancePixelT
 

Public Member Functions

 BinaryExpr (ExprT1 e1, double e2, ImageBinOp imageOp=ImageBinOp(), MaskBinOp maskOp=MaskBinOp(), VarianceBinOp varOp=VarianceBinOp())
 A binary operation, with three functors to represent the image/mask/variance operations. More...
 
 BinaryExpr (ExprT1 e1, double e2, double const alpha, ImageBinOp imageOp=ImageBinOp(), MaskBinOp maskOp=MaskBinOp(), VarianceBinOp=VarianceBinOp())
 A binary operation, with three functors to represent the image/mask/variance operations and an extra double argument. More...
 
ImagePixelT image () const
 evaluate the image part of the expression More...
 
MaskPixelT mask () const
 evaluate the mask part of the expression More...
 
VariancePixelT variance () const
 evaluate the variance part of the expression More...
 

Detailed Description

template<typename ExprT1, typename ImageBinOp, typename MaskBinOp, typename VarianceBinOp>
class lsst::afw::image::pixel::BinaryExpr< ExprT1, double, ImageBinOp, MaskBinOp, VarianceBinOp >

Partial specialization of BinaryExpr when ExprT2 is a double (i.e no mask/variance part)

Todo:
Could use a traits class to handle all scalar types

Definition at line 487 of file Pixel.h.

Member Typedef Documentation

◆ ImagePixelT

template<typename ExprT1 , typename ImageBinOp , typename MaskBinOp , typename VarianceBinOp >
using lsst::afw::image::pixel::BinaryExpr< ExprT1, double, ImageBinOp, MaskBinOp, VarianceBinOp >::ImagePixelT = typename exprTraits<ExprT1>::ImagePixelT

Definition at line 489 of file Pixel.h.

◆ MaskPixelT

template<typename ExprT1 , typename ImageBinOp , typename MaskBinOp , typename VarianceBinOp >
using lsst::afw::image::pixel::BinaryExpr< ExprT1, double, ImageBinOp, MaskBinOp, VarianceBinOp >::MaskPixelT = typename exprTraits<ExprT1>::MaskPixelT

Definition at line 490 of file Pixel.h.

◆ VariancePixelT

template<typename ExprT1 , typename ImageBinOp , typename MaskBinOp , typename VarianceBinOp >
using lsst::afw::image::pixel::BinaryExpr< ExprT1, double, ImageBinOp, MaskBinOp, VarianceBinOp >::VariancePixelT = typename exprTraits<ExprT1>::VariancePixelT

Definition at line 491 of file Pixel.h.

Constructor & Destructor Documentation

◆ BinaryExpr() [1/2]

template<typename ExprT1 , typename ImageBinOp , typename MaskBinOp , typename VarianceBinOp >
lsst::afw::image::pixel::BinaryExpr< ExprT1, double, ImageBinOp, MaskBinOp, VarianceBinOp >::BinaryExpr ( ExprT1  e1,
double  e2,
ImageBinOp  imageOp = ImageBinOp(),
MaskBinOp  maskOp = MaskBinOp(),
VarianceBinOp  varOp = VarianceBinOp() 
)
inline

A binary operation, with three functors to represent the image/mask/variance operations.

Definition at line 493 of file Pixel.h.

495  : _expr1(e1), _expr2(e2), _imageOp(imageOp), _maskOp(maskOp), _varOp(varOp) {}

◆ BinaryExpr() [2/2]

template<typename ExprT1 , typename ImageBinOp , typename MaskBinOp , typename VarianceBinOp >
lsst::afw::image::pixel::BinaryExpr< ExprT1, double, ImageBinOp, MaskBinOp, VarianceBinOp >::BinaryExpr ( ExprT1  e1,
double  e2,
double const  alpha,
ImageBinOp  imageOp = ImageBinOp(),
MaskBinOp  maskOp = MaskBinOp(),
VarianceBinOp  = VarianceBinOp() 
)
inline

A binary operation, with three functors to represent the image/mask/variance operations and an extra double argument.

Definition at line 499 of file Pixel.h.

501  : _expr1(e1), _expr2(e2), _imageOp(imageOp), _maskOp(maskOp), _varOp(VarianceBinOp(alpha)) {}

Member Function Documentation

◆ image()

template<typename ExprT1 , typename ImageBinOp , typename MaskBinOp , typename VarianceBinOp >
ImagePixelT lsst::afw::image::pixel::BinaryExpr< ExprT1, double, ImageBinOp, MaskBinOp, VarianceBinOp >::image ( ) const
inline

evaluate the image part of the expression

Definition at line 503 of file Pixel.h.

503 { return _imageOp(_expr1.image(), _expr2); }

◆ mask()

template<typename ExprT1 , typename ImageBinOp , typename MaskBinOp , typename VarianceBinOp >
MaskPixelT lsst::afw::image::pixel::BinaryExpr< ExprT1, double, ImageBinOp, MaskBinOp, VarianceBinOp >::mask ( ) const
inline

evaluate the mask part of the expression

Definition at line 506 of file Pixel.h.

506 { return _maskOp(_expr1.mask()); }

◆ variance()

template<typename ExprT1 , typename ImageBinOp , typename MaskBinOp , typename VarianceBinOp >
VariancePixelT lsst::afw::image::pixel::BinaryExpr< ExprT1, double, ImageBinOp, MaskBinOp, VarianceBinOp >::variance ( ) const
inline

evaluate the variance part of the expression

Definition at line 509 of file Pixel.h.

509 { return _varOp(_expr1.image(), _expr2, _expr1.variance()); }

The documentation for this class was generated from the following file: