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