lsst.afw gb77f0a74f7+8a093cac5b
Public Types | Public Member Functions | Friends | List of all members
lsst::afw::image::pixel::Pixel< _ImagePixelT, _MaskPixelT, _VariancePixelT > Class Template Reference

A pixel of a MaskedImage. More...

#include <Pixel.h>

Inheritance diagram for lsst::afw::image::pixel::Pixel< _ImagePixelT, _MaskPixelT, _VariancePixelT >:
lsst::afw::image::detail::MaskedImagePixel_tag

Public Types

using ImagePixelT = _ImagePixelT
 
using MaskPixelT = _MaskPixelT
 
using VariancePixelT = _VariancePixelT
 

Public Member Functions

 Pixel (ImagePixelT const &image, MaskPixelT const &mask=0x0, VariancePixelT const &variance=0)
 Construct a Pixel from references to its image/mask/variance components. More...
 
 Pixel (SinglePixel< ImagePixelT, MaskPixelT, VariancePixelT > &rhs)
 
 Pixel (Pixel const &rhs)=default
 
 Pixel (Pixel &&rhs)=default
 
 ~Pixel ()=default
 
Pixel operator= (Pixel const &rhs)
 
template<typename rhsExpr >
Pixel operator= (rhsExpr const &rhs)
 Assign a Pixel by evaluating an expression. More...
 
Pixel operator= (Pixel &&rhs)
 
Pixel operator= (double const &rhs_image)
 set the image part of a Pixel to rhs_image (the mask and variance are set to 0) More...
 
Pixel operator= (int const &rhs_image)
 set the image part of a Pixel to rhs_image (the mask and variance are set to 0) More...
 
ImagePixelT image () const
 Return the image part of a Pixel. More...
 
MaskPixelT mask () const
 Return the mask part of a Pixel. More...
 
VariancePixelT variance () const
 Return the variance part of a Pixel. More...
 
std::size_t hash_value () const noexcept
 Return a hash of this object. More...
 

Friends

template<typename T1 >
bool operator== (Pixel const &lhs, T1 const &rhs)
 Return true iff two pixels are equal (in all three of image, mask, and variance) More...
 
template<typename T1 >
bool operator!= (Pixel const &lhs, T1 const &rhs)
 Return true iff two pixels are unequal (in at least one of image, mask, and variance) More...
 
template<typename ExprT >
Pixel operator+= (Pixel const &e1, ExprT const &e2)
 Evaluate e1 += e2, and return e1. More...
 
template<typename ExprT >
Pixel operator-= (Pixel const &e1, ExprT const &e2)
 Evaluate e1 -= e2, and return e1. More...
 
template<typename ExprT >
Pixel operator*= (Pixel const &e1, ExprT const &e2)
 Evaluate e1 *= e2, and return e1. More...
 
template<typename ExprT >
Pixel operator/= (Pixel const &e1, ExprT const &e2)
 Evaluate e1 /= e2, and return e1. More...
 

Detailed Description

template<typename _ImagePixelT, typename _MaskPixelT, typename _VariancePixelT = double>
class lsst::afw::image::pixel::Pixel< _ImagePixelT, _MaskPixelT, _VariancePixelT >

A pixel of a MaskedImage.

Definition at line 148 of file Pixel.h.

Member Typedef Documentation

◆ ImagePixelT

template<typename _ImagePixelT , typename _MaskPixelT , typename _VariancePixelT = double>
using lsst::afw::image::pixel::Pixel< _ImagePixelT, _MaskPixelT, _VariancePixelT >::ImagePixelT = _ImagePixelT

Definition at line 150 of file Pixel.h.

◆ MaskPixelT

template<typename _ImagePixelT , typename _MaskPixelT , typename _VariancePixelT = double>
using lsst::afw::image::pixel::Pixel< _ImagePixelT, _MaskPixelT, _VariancePixelT >::MaskPixelT = _MaskPixelT

Definition at line 151 of file Pixel.h.

◆ VariancePixelT

template<typename _ImagePixelT , typename _MaskPixelT , typename _VariancePixelT = double>
using lsst::afw::image::pixel::Pixel< _ImagePixelT, _MaskPixelT, _VariancePixelT >::VariancePixelT = _VariancePixelT

Definition at line 152 of file Pixel.h.

Constructor & Destructor Documentation

◆ Pixel() [1/4]

template<typename _ImagePixelT , typename _MaskPixelT , typename _VariancePixelT = double>
lsst::afw::image::pixel::Pixel< _ImagePixelT, _MaskPixelT, _VariancePixelT >::Pixel ( ImagePixelT const &  image,
MaskPixelT const &  mask = 0x0,
VariancePixelT const &  variance = 0 
)
inline

Construct a Pixel from references to its image/mask/variance components.

Definition at line 162 of file Pixel.h.

◆ Pixel() [2/4]

template<typename _ImagePixelT , typename _MaskPixelT , typename _VariancePixelT = double>
lsst::afw::image::pixel::Pixel< _ImagePixelT, _MaskPixelT, _VariancePixelT >::Pixel ( SinglePixel< ImagePixelT, MaskPixelT, VariancePixelT > &  rhs)
inline

Definition at line 168 of file Pixel.h.

◆ Pixel() [3/4]

template<typename _ImagePixelT , typename _MaskPixelT , typename _VariancePixelT = double>
lsst::afw::image::pixel::Pixel< _ImagePixelT, _MaskPixelT, _VariancePixelT >::Pixel ( Pixel< _ImagePixelT, _MaskPixelT, _VariancePixelT > const &  rhs)
default

◆ Pixel() [4/4]

template<typename _ImagePixelT , typename _MaskPixelT , typename _VariancePixelT = double>
lsst::afw::image::pixel::Pixel< _ImagePixelT, _MaskPixelT, _VariancePixelT >::Pixel ( Pixel< _ImagePixelT, _MaskPixelT, _VariancePixelT > &&  rhs)
default

◆ ~Pixel()

template<typename _ImagePixelT , typename _MaskPixelT , typename _VariancePixelT = double>
lsst::afw::image::pixel::Pixel< _ImagePixelT, _MaskPixelT, _VariancePixelT >::~Pixel ( )
default

Member Function Documentation

◆ hash_value()

template<typename _ImagePixelT , typename _MaskPixelT , typename _VariancePixelT = double>
std::size_t lsst::afw::image::pixel::Pixel< _ImagePixelT, _MaskPixelT, _VariancePixelT >::hash_value ( ) const
inlinenoexcept

Return a hash of this object.

Definition at line 239 of file Pixel.h.

◆ image()

template<typename _ImagePixelT , typename _MaskPixelT , typename _VariancePixelT = double>
ImagePixelT lsst::afw::image::pixel::Pixel< _ImagePixelT, _MaskPixelT, _VariancePixelT >::image ( ) const
inline

Return the image part of a Pixel.

Definition at line 217 of file Pixel.h.

◆ mask()

template<typename _ImagePixelT , typename _MaskPixelT , typename _VariancePixelT = double>
MaskPixelT lsst::afw::image::pixel::Pixel< _ImagePixelT, _MaskPixelT, _VariancePixelT >::mask ( ) const
inline

Return the mask part of a Pixel.

Definition at line 219 of file Pixel.h.

◆ operator=() [1/5]

template<typename _ImagePixelT , typename _MaskPixelT , typename _VariancePixelT = double>
Pixel lsst::afw::image::pixel::Pixel< _ImagePixelT, _MaskPixelT, _VariancePixelT >::operator= ( double const &  rhs_image)
inline

set the image part of a Pixel to rhs_image (the mask and variance are set to 0)

Definition at line 200 of file Pixel.h.

◆ operator=() [2/5]

template<typename _ImagePixelT , typename _MaskPixelT , typename _VariancePixelT = double>
Pixel lsst::afw::image::pixel::Pixel< _ImagePixelT, _MaskPixelT, _VariancePixelT >::operator= ( int const &  rhs_image)
inline

set the image part of a Pixel to rhs_image (the mask and variance are set to 0)

Definition at line 209 of file Pixel.h.

◆ operator=() [3/5]

template<typename _ImagePixelT , typename _MaskPixelT , typename _VariancePixelT = double>
Pixel lsst::afw::image::pixel::Pixel< _ImagePixelT, _MaskPixelT, _VariancePixelT >::operator= ( Pixel< _ImagePixelT, _MaskPixelT, _VariancePixelT > &&  rhs)
inline

Definition at line 197 of file Pixel.h.

◆ operator=() [4/5]

template<typename _ImagePixelT , typename _MaskPixelT , typename _VariancePixelT = double>
Pixel lsst::afw::image::pixel::Pixel< _ImagePixelT, _MaskPixelT, _VariancePixelT >::operator= ( Pixel< _ImagePixelT, _MaskPixelT, _VariancePixelT > const &  rhs)
inline

Definition at line 175 of file Pixel.h.

◆ operator=() [5/5]

template<typename _ImagePixelT , typename _MaskPixelT , typename _VariancePixelT = double>
template<typename rhsExpr >
Pixel lsst::afw::image::pixel::Pixel< _ImagePixelT, _MaskPixelT, _VariancePixelT >::operator= ( rhsExpr const &  rhs)
inline

Assign a Pixel by evaluating an expression.

We use C++ template expressions to build a compile-time parse tree to evaluate Pixel expressions; this is where we evaluate the rhs and set the Pixel's values

Definition at line 189 of file Pixel.h.

◆ variance()

template<typename _ImagePixelT , typename _MaskPixelT , typename _VariancePixelT = double>
VariancePixelT lsst::afw::image::pixel::Pixel< _ImagePixelT, _MaskPixelT, _VariancePixelT >::variance ( ) const
inline

Return the variance part of a Pixel.

Definition at line 221 of file Pixel.h.

Friends And Related Function Documentation

◆ operator!=

template<typename _ImagePixelT , typename _MaskPixelT , typename _VariancePixelT = double>
template<typename T1 >
bool operator!= ( Pixel< _ImagePixelT, _MaskPixelT, _VariancePixelT > const &  lhs,
T1 const &  rhs 
)
friend

Return true iff two pixels are unequal (in at least one of image, mask, and variance)

Definition at line 234 of file Pixel.h.

◆ operator*=

template<typename _ImagePixelT , typename _MaskPixelT , typename _VariancePixelT = double>
template<typename ExprT >
Pixel operator*= ( Pixel< _ImagePixelT, _MaskPixelT, _VariancePixelT > const &  e1,
ExprT const &  e2 
)
friend

Evaluate e1 *= e2, and return e1.

Definition at line 269 of file Pixel.h.

◆ operator+=

template<typename _ImagePixelT , typename _MaskPixelT , typename _VariancePixelT = double>
template<typename ExprT >
Pixel operator+= ( Pixel< _ImagePixelT, _MaskPixelT, _VariancePixelT > const &  e1,
ExprT const &  e2 
)
friend

Evaluate e1 += e2, and return e1.

Definition at line 251 of file Pixel.h.

◆ operator-=

template<typename _ImagePixelT , typename _MaskPixelT , typename _VariancePixelT = double>
template<typename ExprT >
Pixel operator-= ( Pixel< _ImagePixelT, _MaskPixelT, _VariancePixelT > const &  e1,
ExprT const &  e2 
)
friend

Evaluate e1 -= e2, and return e1.

Definition at line 260 of file Pixel.h.

◆ operator/=

template<typename _ImagePixelT , typename _MaskPixelT , typename _VariancePixelT = double>
template<typename ExprT >
Pixel operator/= ( Pixel< _ImagePixelT, _MaskPixelT, _VariancePixelT > const &  e1,
ExprT const &  e2 
)
friend

Evaluate e1 /= e2, and return e1.

Definition at line 278 of file Pixel.h.

◆ operator==

template<typename _ImagePixelT , typename _MaskPixelT , typename _VariancePixelT = double>
template<typename T1 >
bool operator== ( Pixel< _ImagePixelT, _MaskPixelT, _VariancePixelT > const &  lhs,
T1 const &  rhs 
)
friend

Return true iff two pixels are equal (in all three of image, mask, and variance)

Definition at line 228 of file Pixel.h.


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