18 #ifndef itkConvertPixelBuffer_h
19 #define itkConvertPixelBuffer_h
20 #include "ITKIOImageBaseExport.h"
24 #include <type_traits>
45 template <
typename InputPixelType,
typename OutputPixelType,
typename OutputConvertTraits>
65 Convert(InputPixelType * inputData,
int inputNumberOfComponents, OutputPixelType * outputData,
size_t size);
68 ConvertVectorImage(InputPixelType * inputData,
69 int inputNumberOfComponents,
70 OutputPixelType * outputData,
78 ConvertGrayToGray(InputPixelType * inputData, OutputPixelType * outputData,
size_t size);
85 ConvertRGBToGray(InputPixelType * inputData, OutputPixelType * outputData,
size_t size);
92 ConvertRGBAToGray(InputPixelType * inputData, OutputPixelType * outputData,
size_t size);
95 ConvertMultiComponentToGray(InputPixelType * inputData,
96 int inputNumberOfComponents,
97 OutputPixelType * outputData,
105 ConvertGrayToRGB(InputPixelType * inputData, OutputPixelType * outputData,
size_t size);
109 ConvertRGBToRGB(InputPixelType * inputData, OutputPixelType * outputData,
size_t size);
113 ConvertRGBAToRGB(InputPixelType * inputData, OutputPixelType * outputData,
size_t size);
124 ConvertMultiComponentToRGB(InputPixelType * inputData,
125 int inputNumberOfComponents,
126 OutputPixelType * outputData,
131 ConvertGrayToRGBA(InputPixelType * inputData, OutputPixelType * outputData,
size_t size);
134 ConvertRGBToRGBA(InputPixelType * inputData, OutputPixelType * outputData,
size_t size);
137 ConvertRGBAToRGBA(InputPixelType * inputData, OutputPixelType * outputData,
size_t size);
140 ConvertMultiComponentToRGBA(InputPixelType * inputData,
141 int inputNumberOfComponents,
142 OutputPixelType * outputData,
147 ConvertVectorToVector(InputPixelType * inputData,
148 int inputNumberOfComponents,
149 OutputPixelType * outputData,
156 ConvertTensor6ToTensor6(InputPixelType * inputData, OutputPixelType * outputData,
size_t size);
159 ConvertTensor9ToTensor6(InputPixelType * inputData, OutputPixelType * outputData,
size_t size);
163 ConvertGrayToComplex(InputPixelType * inputData, OutputPixelType * outputData,
size_t size);
166 ConvertComplexToComplex(InputPixelType * inputData, OutputPixelType * outputData,
size_t size);
169 ConvertMultiComponentToComplex(InputPixelType * inputData,
170 int inputNumberOfComponents,
171 OutputPixelType * outputData,
180 template <
typename UComponentType>
181 static std::enable_if_t<!std::is_integral<UComponentType>::value, UComponentType>
184 template <
typename UComponentType>
185 static std::enable_if_t<std::is_integral<UComponentType>::value, UComponentType>
190 #ifndef ITK_MANUAL_INSTANTIATION
191 # include "itkConvertPixelBuffer.hxx"
194 #endif // itkConvertPixelBuffer_h