ITK 6.0.0
Insight Toolkit
 
Loading...
Searching...
No Matches
itk::RGBPixel< TComponent > Class Template Reference

#include <itkRGBPixel.h>

Detailed Description

template<typename TComponent = unsigned short>
class itk::RGBPixel< TComponent >

Represent Red, Green and Blue components for color images.

This class is templated over the representation used for each component.

The following syntax for assigning an index is allowed/suggested:

RGBPixel<float> pixel; pixel = 1.0f, 0.0f, .5f;
RGBPixel<char> pixelArray[2];
pixelArray[0] = 255, 255, 255;
pixelArray[1] = 255, 255, 244;
RGBPixel()=default

Since RGBPixel is a subclass of Array, you can access its components as: pixel[0], pixel[1], pixel[2]

ITK Sphinx Examples:
Examples
Examples/DataRepresentation/Image/ImageAdaptor2.cxx, Examples/DataRepresentation/Image/RGBImage.cxx, Examples/DataRepresentation/Mesh/RGBPointSet.cxx, Examples/Filtering/RGBCurvatureAnisotropicDiffusionImageFilter.cxx, Examples/Filtering/RGBGradientAnisotropicDiffusionImageFilter.cxx, Examples/Filtering/RGBToGrayscale.cxx, Examples/Filtering/ResampleImageFilter6.cxx, Examples/Filtering/ResampleImageFilter9.cxx, Examples/Filtering/VectorIndexSelection.cxx, Examples/IO/RGBImageReadWrite.cxx, Examples/IO/RGBImageSeriesReadWrite.cxx, Examples/IO/VisibleHumanPasteWrite.cxx, Examples/IO/VisibleHumanStreamReadWrite.cxx, Examples/Iterators/ImageLinearIteratorWithIndex.cxx, Examples/Iterators/ImageRegionIteratorWithIndex.cxx, Examples/Segmentation/VectorConfidenceConnected.cxx, Examples/Segmentation/WatershedSegmentation1.cxx, Examples/Segmentation/WatershedSegmentation2.cxx, Examples/Statistics/ImageHistogram3.cxx, and Examples/Statistics/ImageHistogram4.cxx.

Definition at line 57 of file itkRGBPixel.h.

+ Inheritance diagram for itk::RGBPixel< TComponent >:
+ Collaboration diagram for itk::RGBPixel< TComponent >:

Public Types

using BaseArray = FixedArray<TComponent, 3>
 
using ComponentType = TComponent
 
using LuminanceType = typename NumericTraits<ComponentType>::RealType
 
using Self = RGBPixel
 
using Superclass = FixedArray<TComponent, 3>
 
- Public Types inherited from itk::FixedArray< unsigned short, 3 >
using CArray
 
using const_iterator
 
using const_pointer
 
using const_reference
 
using const_reverse_iterator
 
using ConstIterator
 
using Iterator
 
using iterator
 
using pointer
 
using reference
 
using reverse_iterator
 
using SizeType
 
using value_type
 
using ValueType
 

Public Member Functions

const ComponentType & GetBlue () const
 
const ComponentType & GetGreen () const
 
LuminanceType GetLuminance () const
 
ComponentType GetNthComponent (int c) const
 
const ComponentType & GetRed () const
 
ComponentType GetScalarValue () const
 
bool operator< (const Self &r) const
 
Self & operator= (const ComponentType r[3])
 
bool operator== (const Self &r) const
 
 RGBPixel ()=default
 
 RGBPixel (const ComponentType &r)
 
 RGBPixel (std::nullptr_t)=delete
 
void Set (ComponentType red, ComponentType green, ComponentType blue)
 
void SetBlue (ComponentType blue)
 
void SetGreen (ComponentType green)
 
void SetNthComponent (int c, const ComponentType &v)
 
void SetRed (ComponentType red)
 
template<typename TRGBPixelValueType>
 RGBPixel (const RGBPixel< TRGBPixelValueType > &r)
 
 RGBPixel (const ComponentType r[3])
 
template<typename TRGBPixelValueType>
Self & operator= (const RGBPixel< TRGBPixelValueType > &r)
 
Self operator+ (const Self &r) const
 
Self operator- (const Self &r) const
 
Self operator* (const ComponentType &r) const
 
Self operator/ (const ComponentType &r) const
 
const Self & operator+= (const Self &r)
 
const Self & operator-= (const Self &r)
 
const Self & operator*= (const ComponentType &r)
 
const Self & operator/= (const ComponentType &r)
 
- Public Member Functions inherited from itk::FixedArray< unsigned short, 3 >
constexpr reference back ()
 
constexpr const_reference back () const
 
Iterator Begin ()
 
ConstIterator Begin () const
 
constexpr const_iterator begin () const noexcept
 
constexpr iterator begin () noexcept
 
constexpr const_iterator cbegin () const noexcept
 
constexpr const_iterator cend () const noexcept
 
const_reverse_iterator crbegin () const
 
const_reverse_iterator crend () const
 
ValueType * data ()
 
const ValueType * data () const
 
constexpr bool empty () const noexcept
 
Iterator End ()
 
ConstIterator End () const
 
constexpr const_iterator end () const noexcept
 
constexpr iterator end () noexcept
 
void Fill (const ValueType &)
 
 FixedArray ()=default
 
 FixedArray (const FixedArray< TFixedArrayValueType, VLength > &r)
 
 FixedArray (const std::array< ValueType, VLength > &stdArray)
 
 FixedArray (const TScalarValue *r)
 
constexpr reference front ()
 
constexpr const_reference front () const
 
ValueType * GetDataPointer ()
 
const ValueType * GetDataPointer () const
 
 ITK_UNEQUAL_OPERATOR_MEMBER_FUNCTION (FixedArray)
 
FixedArray & operator= (const FixedArray< TFixedArrayValueType, VLength > &r)
 
FixedArray & operator= (const ValueType r[VLength])
 
bool operator== (const FixedArray &r) const
 
ReverseIterator rBegin ()
 
ConstReverseIterator rBegin () const
 
reverse_iterator rbegin ()
 
const_reverse_iterator rbegin () const
 
ReverseIterator rEnd ()
 
ConstReverseIterator rEnd () const
 
reverse_iterator rend ()
 
const_reverse_iterator rend () const
 
SizeType Size () const
 
constexpr SizeType size () const
 
void swap (FixedArray &other) noexcept
 
 FixedArray (const ValueType r[VLength])
 
 FixedArray (const ValueType &)
 
ITK_GCC_PRAGMA_PUSH ITK_GCC_SUPPRESS_Warray_bounds constexpr reference operator[] (unsigned int index)
 
constexpr const_reference operator[] (unsigned int index) const
 
ITK_GCC_PRAGMA_POP void SetElement (unsigned int index, const_reference value)
 
const_reference GetElement (unsigned int index) const
 

Static Public Member Functions

static unsigned int GetNumberOfComponents ()
 
- Static Public Member Functions inherited from itk::FixedArray< unsigned short, 3 >
static constexpr FixedArray Filled (const ValueType &value)
 

Static Public Attributes

static constexpr unsigned int Dimension = 3
 
static constexpr unsigned int Length = 3
 
- Static Public Attributes inherited from itk::FixedArray< unsigned short, 3 >
static constexpr unsigned int Dimension
 
static constexpr unsigned int Length
 

Member Typedef Documentation

◆ BaseArray

template<typename TComponent = unsigned short>
using itk::RGBPixel< TComponent >::BaseArray = FixedArray<TComponent, 3>

Convenience type alias.

Definition at line 65 of file itkRGBPixel.h.

◆ ComponentType

template<typename TComponent = unsigned short>
using itk::RGBPixel< TComponent >::ComponentType = TComponent

Define the component type.

Definition at line 74 of file itkRGBPixel.h.

◆ LuminanceType

template<typename TComponent = unsigned short>
using itk::RGBPixel< TComponent >::LuminanceType = typename NumericTraits<ComponentType>::RealType

Definition at line 75 of file itkRGBPixel.h.

◆ Self

template<typename TComponent = unsigned short>
using itk::RGBPixel< TComponent >::Self = RGBPixel

Standard class type aliases.

Definition at line 61 of file itkRGBPixel.h.

◆ Superclass

template<typename TComponent = unsigned short>
using itk::RGBPixel< TComponent >::Superclass = FixedArray<TComponent, 3>

Definition at line 62 of file itkRGBPixel.h.

Constructor & Destructor Documentation

◆ RGBPixel() [1/5]

template<typename TComponent = unsigned short>
itk::RGBPixel< TComponent >::RGBPixel ( )
default

Default-constructor.

Note
The other five "special member functions" are defaulted implicitly, following the C++ "Rule of Zero".

◆ RGBPixel() [2/5]

template<typename TComponent = unsigned short>
itk::RGBPixel< TComponent >::RGBPixel ( const ComponentType & r)
inlineexplicit

Explicit constructor to fill Red=Blue=Green= r.

Definition at line 93 of file itkRGBPixel.h.

◆ RGBPixel() [3/5]

template<typename TComponent = unsigned short>
itk::RGBPixel< TComponent >::RGBPixel ( std::nullptr_t )
delete

Prevents copy-initialization from nullptr, as well as from 0 (NULL).

◆ RGBPixel() [4/5]

template<typename TComponent = unsigned short>
template<typename TRGBPixelValueType>
itk::RGBPixel< TComponent >::RGBPixel ( const RGBPixel< TRGBPixelValueType > & r)
inline

Pass-through constructor for the Array base class.

Definition at line 107 of file itkRGBPixel.h.

◆ RGBPixel() [5/5]

template<typename TComponent = unsigned short>
itk::RGBPixel< TComponent >::RGBPixel ( const ComponentType r[3])
inline

Pass-through constructor for the Array base class.

Definition at line 110 of file itkRGBPixel.h.

Member Function Documentation

◆ GetBlue()

template<typename TComponent = unsigned short>
const ComponentType & itk::RGBPixel< TComponent >::GetBlue ( ) const
inlinenodiscard

Get the Blue component.

Definition at line 237 of file itkRGBPixel.h.

Referenced by itk::BluePixelAccessor< T >::Get().

◆ GetGreen()

template<typename TComponent = unsigned short>
const ComponentType & itk::RGBPixel< TComponent >::GetGreen ( ) const
inlinenodiscard

Get the Green component.

Definition at line 230 of file itkRGBPixel.h.

Referenced by itk::GreenPixelAccessor< T >::Get().

◆ GetLuminance()

◆ GetNthComponent()

template<typename TComponent = unsigned short>
ComponentType itk::RGBPixel< TComponent >::GetNthComponent ( int c) const
inlinenodiscard

Return the value for the Nth component.

Definition at line 169 of file itkRGBPixel.h.

◆ GetNumberOfComponents()

template<typename TComponent = unsigned short>
static unsigned int itk::RGBPixel< TComponent >::GetNumberOfComponents ( )
inlinestatic

Return the number of components.

Definition at line 162 of file itkRGBPixel.h.

◆ GetRed()

template<typename TComponent = unsigned short>
const ComponentType & itk::RGBPixel< TComponent >::GetRed ( ) const
inlinenodiscard

Get the Red component.

Definition at line 223 of file itkRGBPixel.h.

Referenced by itk::RedPixelAccessor< T >::Get().

◆ GetScalarValue()

template<typename TComponent = unsigned short>
ComponentType itk::RGBPixel< TComponent >::GetScalarValue ( ) const
inlinenodiscard

Return the Euclidean norm of the vector defined by the RGB components.

Definition at line 176 of file itkRGBPixel.h.

◆ operator*()

template<typename TComponent = unsigned short>
Self itk::RGBPixel< TComponent >::operator* ( const ComponentType & r) const

Arithmetic operations between pixels. Return a new RGBPixel.

◆ operator*=()

template<typename TComponent = unsigned short>
const Self & itk::RGBPixel< TComponent >::operator*= ( const ComponentType & r)

Arithmetic-assignment operators.

◆ operator+()

template<typename TComponent = unsigned short>
Self itk::RGBPixel< TComponent >::operator+ ( const Self & r) const

Arithmetic operations between pixels. Return a new RGBPixel.

◆ operator+=()

template<typename TComponent = unsigned short>
const Self & itk::RGBPixel< TComponent >::operator+= ( const Self & r)

Arithmetic-assignment operators.

◆ operator-()

template<typename TComponent = unsigned short>
Self itk::RGBPixel< TComponent >::operator- ( const Self & r) const

Arithmetic operations between pixels. Return a new RGBPixel.

◆ operator-=()

template<typename TComponent = unsigned short>
const Self & itk::RGBPixel< TComponent >::operator-= ( const Self & r)

Arithmetic-assignment operators.

◆ operator/()

template<typename TComponent = unsigned short>
Self itk::RGBPixel< TComponent >::operator/ ( const ComponentType & r) const

Arithmetic operations between pixels. Return a new RGBPixel.

◆ operator/=()

template<typename TComponent = unsigned short>
const Self & itk::RGBPixel< TComponent >::operator/= ( const ComponentType & r)

Arithmetic-assignment operators.

◆ operator<()

template<typename TComponent = unsigned short>
bool itk::RGBPixel< TComponent >::operator< ( const Self & r) const

Implements strict weak ordering. For use in STL, e.g. std::map.

◆ operator=() [1/2]

template<typename TComponent = unsigned short>
Self & itk::RGBPixel< TComponent >::operator= ( const ComponentType r[3])

◆ operator=() [2/2]

template<typename TComponent = unsigned short>
template<typename TRGBPixelValueType>
Self & itk::RGBPixel< TComponent >::operator= ( const RGBPixel< TRGBPixelValueType > & r)
inline

Pass-through assignment operator for the Array base class.

Definition at line 119 of file itkRGBPixel.h.

◆ operator==()

template<typename TComponent = unsigned short>
bool itk::RGBPixel< TComponent >::operator== ( const Self & r) const

◆ Set()

template<typename TComponent = unsigned short>
void itk::RGBPixel< TComponent >::Set ( ComponentType red,
ComponentType green,
ComponentType blue )
inline

Set the three components.

Definition at line 214 of file itkRGBPixel.h.

◆ SetBlue()

template<typename TComponent = unsigned short>
void itk::RGBPixel< TComponent >::SetBlue ( ComponentType blue)
inline

Set the Blue component.

Definition at line 207 of file itkRGBPixel.h.

Referenced by itk::BluePixelAccessor< T >::Set().

◆ SetGreen()

template<typename TComponent = unsigned short>
void itk::RGBPixel< TComponent >::SetGreen ( ComponentType green)
inline

Set the Green component.

Definition at line 200 of file itkRGBPixel.h.

Referenced by itk::GreenPixelAccessor< T >::Set().

◆ SetNthComponent()

template<typename TComponent = unsigned short>
void itk::RGBPixel< TComponent >::SetNthComponent ( int c,
const ComponentType & v )
inline

Set the Nth component to v.

Definition at line 186 of file itkRGBPixel.h.

◆ SetRed()

template<typename TComponent = unsigned short>
void itk::RGBPixel< TComponent >::SetRed ( ComponentType red)
inline

Set the Red component.

Definition at line 193 of file itkRGBPixel.h.

Referenced by itk::RedPixelAccessor< T >::Set().

Member Data Documentation

◆ Dimension

template<typename TComponent = unsigned short>
unsigned int itk::RGBPixel< TComponent >::Dimension = 3
staticconstexpr

Dimension of the vector space.

Definition at line 68 of file itkRGBPixel.h.

◆ Length

template<typename TComponent = unsigned short>
unsigned int itk::RGBPixel< TComponent >::Length = 3
staticconstexpr

Length of the pixel.

Definition at line 71 of file itkRGBPixel.h.


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