ITK  4.1.0
Insight Segmentation and Registration Toolkit
Public Types | Static Public Member Functions | Static Protected Member Functions | Private Member Functions
itk::ConvertPixelBuffer< InputPixelType, OutputPixelType, OutputConvertTraits > Class Template Reference

#include <itkConvertPixelBuffer.h>

List of all members.

Public Types

typedef
OutputConvertTraits::ComponentType 
OutputComponentType
typedef ConvertPixelBuffer Self

Static Public Member Functions

static void Convert (InputPixelType *inputData, int inputNumberOfComponents, OutputPixelType *outputData, vcl_size_t size)
static void ConvertVectorImage (InputPixelType *inputData, int inputNumberOfComponents, OutputPixelType *outputData, vcl_size_t size)

Static Protected Member Functions

static void ConvertComplexToComplex (InputPixelType *inputData, OutputPixelType *outputData, vcl_size_t size)
static void ConvertGrayToComplex (InputPixelType *inputData, OutputPixelType *OutputData, vcl_size_t size)
static void ConvertGrayToGray (InputPixelType *inputData, OutputPixelType *outputData, vcl_size_t size)
static void ConvertGrayToRGB (InputPixelType *inputData, OutputPixelType *outputData, vcl_size_t size)
static void ConvertGrayToRGBA (InputPixelType *inputData, OutputPixelType *outputData, vcl_size_t size)
static void ConvertMultiComponentToComplex (InputPixelType *inputData, int inputNumberOfComponents, OutputPixelType *outputData, vcl_size_t size)
static void ConvertMultiComponentToGray (InputPixelType *inputData, int inputNumberOfComponents, OutputPixelType *outputData, vcl_size_t size)
static void ConvertMultiComponentToRGB (InputPixelType *inputData, int inputNumberOfComponents, OutputPixelType *outputData, vcl_size_t size)
static void ConvertMultiComponentToRGBA (InputPixelType *inputData, int inputNumberOfComponents, OutputPixelType *outputData, vcl_size_t size)
static void ConvertRGBAToGray (InputPixelType *inputData, OutputPixelType *outputData, vcl_size_t size)
static void ConvertRGBAToRGB (InputPixelType *inputData, OutputPixelType *outputData, vcl_size_t size)
static void ConvertRGBAToRGBA (InputPixelType *inputData, OutputPixelType *outputData, vcl_size_t size)
static void ConvertRGBToGray (InputPixelType *inputData, OutputPixelType *outputData, vcl_size_t size)
static void ConvertRGBToRGB (InputPixelType *inputData, OutputPixelType *outputData, vcl_size_t size)
static void ConvertRGBToRGBA (InputPixelType *inputData, OutputPixelType *outputData, vcl_size_t size)
static void ConvertTensor6ToTensor6 (InputPixelType *inputData, OutputPixelType *outputData, vcl_size_t size)
static void ConvertTensor9ToTensor6 (InputPixelType *inputData, OutputPixelType *outputData, vcl_size_t size)

Private Member Functions

 ConvertPixelBuffer ()
 ~ConvertPixelBuffer ()

Static Private Member Functions

template<typename PixelType >
static double MaxAlpha (PixelType &)
static double MaxAlpha (double &)
static double MaxAlpha (float &)

Detailed Description

template<typename InputPixelType, typename OutputPixelType, class OutputConvertTraits>
class itk::ConvertPixelBuffer< InputPixelType, OutputPixelType, OutputConvertTraits >

Class to convert blocks of data from one type to another.

ConvertPixelBuffer has a static method Convert(). It is used by itkImageFileReader to convert from an unknown type at run-time to the compile-time template pixel type in itkImageFileReader. To work with complex pixel types like RGB and RGBA a traits class is used. OutputConvertTraits() is the traits class. The default one used is DefaultConvertPixelTraits.

Derived from ConvertPixelBuffer has a static method Convert(). It is used to work with pixel type as Array type.

Derived from ConvertPixelBuffer has a static method Convert(). It is used to work with pixel type as VariableLengthVector type.

Definition at line 44 of file itkConvertPixelBuffer.h.


Member Typedef Documentation

template<typename InputPixelType , typename OutputPixelType , class OutputConvertTraits >
typedef OutputConvertTraits::ComponentType itk::ConvertPixelBuffer< InputPixelType, OutputPixelType, OutputConvertTraits >::OutputComponentType

Determine the output data type.

Definition at line 49 of file itkConvertPixelBuffer.h.

template<typename InputPixelType , typename OutputPixelType , class OutputConvertTraits >
typedef ConvertPixelBuffer itk::ConvertPixelBuffer< InputPixelType, OutputPixelType, OutputConvertTraits >::Self

Definition at line 50 of file itkConvertPixelBuffer.h.


Constructor & Destructor Documentation

template<typename InputPixelType , typename OutputPixelType , class OutputConvertTraits >
itk::ConvertPixelBuffer< InputPixelType, OutputPixelType, OutputConvertTraits >::ConvertPixelBuffer ( ) [private]
template<typename InputPixelType , typename OutputPixelType , class OutputConvertTraits >
itk::ConvertPixelBuffer< InputPixelType, OutputPixelType, OutputConvertTraits >::~ConvertPixelBuffer ( ) [private]

Member Function Documentation

template<typename InputPixelType , typename OutputPixelType , class OutputConvertTraits >
static void itk::ConvertPixelBuffer< InputPixelType, OutputPixelType, OutputConvertTraits >::Convert ( InputPixelType *  inputData,
int  inputNumberOfComponents,
OutputPixelType *  outputData,
vcl_size_t  size 
) [static]

General method converts from one type to another.

template<typename InputPixelType , typename OutputPixelType , class OutputConvertTraits >
static void itk::ConvertPixelBuffer< InputPixelType, OutputPixelType, OutputConvertTraits >::ConvertComplexToComplex ( InputPixelType *  inputData,
OutputPixelType *  outputData,
vcl_size_t  size 
) [static, protected]
template<typename InputPixelType , typename OutputPixelType , class OutputConvertTraits >
static void itk::ConvertPixelBuffer< InputPixelType, OutputPixelType, OutputConvertTraits >::ConvertGrayToComplex ( InputPixelType *  inputData,
OutputPixelType *  OutputData,
vcl_size_t  size 
) [static, protected]

Convertions related to complex

template<typename InputPixelType , typename OutputPixelType , class OutputConvertTraits >
static void itk::ConvertPixelBuffer< InputPixelType, OutputPixelType, OutputConvertTraits >::ConvertGrayToGray ( InputPixelType *  inputData,
OutputPixelType *  outputData,
vcl_size_t  size 
) [static, protected]

Convert to Gray output. Input values are cast to output values.

template<typename InputPixelType , typename OutputPixelType , class OutputConvertTraits >
static void itk::ConvertPixelBuffer< InputPixelType, OutputPixelType, OutputConvertTraits >::ConvertGrayToRGB ( InputPixelType *  inputData,
OutputPixelType *  outputData,
vcl_size_t  size 
) [static, protected]

Convert to RGB output. Each RGB output component is set the the input Gray value.

template<typename InputPixelType , typename OutputPixelType , class OutputConvertTraits >
static void itk::ConvertPixelBuffer< InputPixelType, OutputPixelType, OutputConvertTraits >::ConvertGrayToRGBA ( InputPixelType *  inputData,
OutputPixelType *  outputData,
vcl_size_t  size 
) [static, protected]

Convert to RGBA output.

template<typename InputPixelType , typename OutputPixelType , class OutputConvertTraits >
static void itk::ConvertPixelBuffer< InputPixelType, OutputPixelType, OutputConvertTraits >::ConvertMultiComponentToComplex ( InputPixelType *  inputData,
int  inputNumberOfComponents,
OutputPixelType *  outputData,
vcl_size_t  size 
) [static, protected]
template<typename InputPixelType , typename OutputPixelType , class OutputConvertTraits >
static void itk::ConvertPixelBuffer< InputPixelType, OutputPixelType, OutputConvertTraits >::ConvertMultiComponentToGray ( InputPixelType *  inputData,
int  inputNumberOfComponents,
OutputPixelType *  outputData,
vcl_size_t  size 
) [static, protected]
template<typename InputPixelType , typename OutputPixelType , class OutputConvertTraits >
static void itk::ConvertPixelBuffer< InputPixelType, OutputPixelType, OutputConvertTraits >::ConvertMultiComponentToRGB ( InputPixelType *  inputData,
int  inputNumberOfComponents,
OutputPixelType *  outputData,
vcl_size_t  size 
) [static, protected]

Conversion depends upon the number of components in the input. If the number of input components is 2, the output components are each set to the first input component attenuated by the second input component. This assumes that a two input pixel represents intensity and alpha. If the number of input components is not 2, the first three output components a are set to the first three input components. The remaining input components are ignored.

template<typename InputPixelType , typename OutputPixelType , class OutputConvertTraits >
static void itk::ConvertPixelBuffer< InputPixelType, OutputPixelType, OutputConvertTraits >::ConvertMultiComponentToRGBA ( InputPixelType *  inputData,
int  inputNumberOfComponents,
OutputPixelType *  outputData,
vcl_size_t  size 
) [static, protected]
template<typename InputPixelType , typename OutputPixelType , class OutputConvertTraits >
static void itk::ConvertPixelBuffer< InputPixelType, OutputPixelType, OutputConvertTraits >::ConvertRGBAToGray ( InputPixelType *  inputData,
OutputPixelType *  outputData,
vcl_size_t  size 
) [static, protected]

Weights convert from linear RGB to CIE luminance assuming a modern monitor. Values are attentuated by the Alpha channel. See Charles Poynton's Colour FAQ http://www.poynton.com/ColorFAQ.html

template<typename InputPixelType , typename OutputPixelType , class OutputConvertTraits >
static void itk::ConvertPixelBuffer< InputPixelType, OutputPixelType, OutputConvertTraits >::ConvertRGBAToRGB ( InputPixelType *  inputData,
OutputPixelType *  outputData,
vcl_size_t  size 
) [static, protected]

Input values are attenuated by the Alpha channel.

template<typename InputPixelType , typename OutputPixelType , class OutputConvertTraits >
static void itk::ConvertPixelBuffer< InputPixelType, OutputPixelType, OutputConvertTraits >::ConvertRGBAToRGBA ( InputPixelType *  inputData,
OutputPixelType *  outputData,
vcl_size_t  size 
) [static, protected]
template<typename InputPixelType , typename OutputPixelType , class OutputConvertTraits >
static void itk::ConvertPixelBuffer< InputPixelType, OutputPixelType, OutputConvertTraits >::ConvertRGBToGray ( InputPixelType *  inputData,
OutputPixelType *  outputData,
vcl_size_t  size 
) [static, protected]

Weights convert from linear RGB to CIE luminance assuming a modern monitor. See Charles Poynton's Colour FAQ

http://www.poynton.com/ColorFAQ.html

template<typename InputPixelType , typename OutputPixelType , class OutputConvertTraits >
static void itk::ConvertPixelBuffer< InputPixelType, OutputPixelType, OutputConvertTraits >::ConvertRGBToRGB ( InputPixelType *  inputData,
OutputPixelType *  outputData,
vcl_size_t  size 
) [static, protected]

Input values are cast component by component to output values.

template<typename InputPixelType , typename OutputPixelType , class OutputConvertTraits >
static void itk::ConvertPixelBuffer< InputPixelType, OutputPixelType, OutputConvertTraits >::ConvertRGBToRGBA ( InputPixelType *  inputData,
OutputPixelType *  outputData,
vcl_size_t  size 
) [static, protected]
template<typename InputPixelType , typename OutputPixelType , class OutputConvertTraits >
static void itk::ConvertPixelBuffer< InputPixelType, OutputPixelType, OutputConvertTraits >::ConvertTensor6ToTensor6 ( InputPixelType *  inputData,
OutputPixelType *  outputData,
vcl_size_t  size 
) [static, protected]

Convert tensor output. Each input is made into a 6 component symmetric pixel

template<typename InputPixelType , typename OutputPixelType , class OutputConvertTraits >
static void itk::ConvertPixelBuffer< InputPixelType, OutputPixelType, OutputConvertTraits >::ConvertTensor9ToTensor6 ( InputPixelType *  inputData,
OutputPixelType *  outputData,
vcl_size_t  size 
) [static, protected]
template<typename InputPixelType , typename OutputPixelType , class OutputConvertTraits >
static void itk::ConvertPixelBuffer< InputPixelType, OutputPixelType, OutputConvertTraits >::ConvertVectorImage ( InputPixelType *  inputData,
int  inputNumberOfComponents,
OutputPixelType *  outputData,
vcl_size_t  size 
) [static]
template<typename InputPixelType , typename OutputPixelType , class OutputConvertTraits >
template<typename PixelType >
static double itk::ConvertPixelBuffer< InputPixelType, OutputPixelType, OutputConvertTraits >::MaxAlpha ( PixelType &  ) [inline, static, private]

the most common case, where InputComponentType == unsigned char, the alpha is in the range 0..255. I presume in the mythical world of rgba<X> for all integral scalar types X, alpha will be in the range 0..X::max(). In the even more fantastical world of rgb<float> or rgb<double> alpha would have to be 1.0

Definition at line 161 of file itkConvertPixelBuffer.h.

template<typename InputPixelType , typename OutputPixelType , class OutputConvertTraits >
static double itk::ConvertPixelBuffer< InputPixelType, OutputPixelType, OutputConvertTraits >::MaxAlpha ( double &  ) [inline, static, private]

the most common case, where InputComponentType == unsigned char, the alpha is in the range 0..255. I presume in the mythical world of rgba<X> for all integral scalar types X, alpha will be in the range 0..X::max(). In the even more fantastical world of rgb<float> or rgb<double> alpha would have to be 1.0

Definition at line 162 of file itkConvertPixelBuffer.h.

template<typename InputPixelType , typename OutputPixelType , class OutputConvertTraits >
static double itk::ConvertPixelBuffer< InputPixelType, OutputPixelType, OutputConvertTraits >::MaxAlpha ( float &  ) [inline, static, private]

the most common case, where InputComponentType == unsigned char, the alpha is in the range 0..255. I presume in the mythical world of rgba<X> for all integral scalar types X, alpha will be in the range 0..X::max(). In the even more fantastical world of rgb<float> or rgb<double> alpha would have to be 1.0

Definition at line 163 of file itkConvertPixelBuffer.h.


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