![]() |
IPSDK
4_1_0_2
IPSDK : Image Processing Software Development Kit
|
Promote unary output Image Initializer. More...
Classes | |
| class | ipsdk::imaproc::PromoteUnaryImageInitializer< InputAttributeType, OutputAttributeType > |
| Class allowing to initialize an output image from an other image deducing output image buffer type from input image buffer type and a promote unary operation type. More... | |
Enumerations | |
| enum | ipsdk::imaproc::ePromoteUnaryType { ipsdk::imaproc::ePUT_Unsigned, ipsdk::imaproc::ePUT_Signed, ipsdk::imaproc::ePUT_Upper, ipsdk::imaproc::ePUT_UpperUnsigned, ipsdk::imaproc::ePUT_UpperSigned } |
| Enumerate describing promote unary output image initializer type. More... | |
Functions | |
| IPSDKIMAGEPROCESSING_API const image::eImageBufferType & | ipsdk::imaproc::getDefaultOutputBufferType (const image::eImageBufferType &inputImageBufferType, const ePromoteUnaryType &promoteUnaryType) |
| method allowing to retrieve expected output buffer type for a given input buffer type and a promote unary operation type More... | |
| template<typename InputAttributeType , typename OutputAttributeType > | |
| processor::OutputInitializerPtr | ipsdk::imaproc::promoteUnary (const boost::weak_ptr< OutputAttributeType > &pOutputAttribute, const boost::weak_ptr< InputAttributeType > &pInputAttribute, const ePromoteUnaryType &promoteUnaryType) |
| functions allowing to deduce output image buffer type promotion from an input image buffer type | |
| template<typename InputAttributeType , typename OutputAttributeType > | |
| processor::OutputInitializerPtr | ipsdk::imaproc::promoteUnary (const boost::shared_ptr< OutputAttributeType > &pOutputAttribute, const boost::shared_ptr< InputAttributeType > &pInputAttribute, const ePromoteUnaryType &promoteUnaryType) |
| functions allowing to deduce output image buffer type promotion from an input image buffer type | |
Promote unary output Image Initializer.
This type of output image initializer is used to promote an input image buffer type to output attribute using an operator associated to ipsdk::imaproc::ePromoteUnaryType.
In the following processor class declaration example output image size will be the same as input one. Output image buffer type will be the unsigned version of input one.
For example, if input image buffer type is equal to ipsdk::image::eImageBufferType::eIBT_Int8, output image buffer type will be equal to ipsdk::image::eImageBufferType::eIBT_UInt8 (refers to following promotion tables).
In this case, output image buffer type is the unsigned version of input buffer type. Type promotion is defined by the following table :
| InputType | OutputType |
|---|---|
| eIBT_Int8 | eIBT_UInt8 |
| eIBT_UInt8 | eIBT_UInt8 |
| eIBT_Int16 | eIBT_UInt16 |
| eIBT_UInt16 | eIBT_UInt16 |
| eIBT_Int32 | eIBT_UInt32 |
| eIBT_UInt32 | eIBT_UInt32 |
| eIBT_Real32 | eIBT_Real32 |
| eIBT_Binary | eIBT_Binary |
| eIBT_Label16 | eIBT_Label16 |
| eIBT_Label32 | eIBT_Label32 |
| eIBT_Label8 | eIBT_Label8 |
In this case, output image buffer type is the signed version of input buffer type. Type promotion is defined by the following table :
| InputType | OutputType |
|---|---|
| eIBT_Int8 | eIBT_Int8 |
| eIBT_UInt8 | eIBT_Int8 |
| eIBT_Int16 | eIBT_Int16 |
| eIBT_UInt16 | eIBT_Int16 |
| eIBT_Int32 | eIBT_Int32 |
| eIBT_UInt32 | eIBT_Int32 |
| eIBT_Real32 | eIBT_Real32 |
| eIBT_Binary | eIBT_Int8 |
| eIBT_Label16 | eIBT_Int16 |
| eIBT_Label32 | eIBT_Int32 |
| eIBT_Label8 | eIBT_Int8 |
In this case, output image buffer type is the upper (when possible) version of input buffer type. Type promotion is defined by the following table :
| InputType | OutputType |
|---|---|
| eIBT_Int8 | eIBT_Int16 |
| eIBT_UInt8 | eIBT_UInt16 |
| eIBT_Int16 | eIBT_Int32 |
| eIBT_UInt16 | eIBT_UInt32 |
| eIBT_Int32 | eIBT_Int32 |
| eIBT_UInt32 | eIBT_UInt32 |
| eIBT_Real32 | eIBT_Real32 |
| eIBT_Binary | eIBT_UInt8 |
| eIBT_Label16 | eIBT_UInt32 |
| eIBT_Label32 | eIBT_UInt32 |
| eIBT_Label8 | eIBT_UInt16 |
In this case, output image buffer type is the upper (when possible) unsigned version of input buffer type. Type promotion is defined by the following table :
| InputType | OutputType |
|---|---|
| eIBT_Int8 | eIBT_UInt16 |
| eIBT_UInt8 | eIBT_UInt16 |
| eIBT_Int16 | eIBT_UInt32 |
| eIBT_UInt16 | eIBT_UInt32 |
| eIBT_Int32 | eIBT_UInt32 |
| eIBT_UInt32 | eIBT_UInt32 |
| eIBT_Real32 | eIBT_Real32 |
| eIBT_Binary | eIBT_UInt8 |
| eIBT_Label16 | eIBT_UInt32 |
| eIBT_Label32 | eIBT_UInt32 |
| eIBT_Label8 | eIBT_UInt16 |
In this case, output image buffer type is the upper (when possible) signed version of input buffer type. Type promotion is defined by the following table :
| InputType | OutputType |
|---|---|
| eIBT_Int8 | eIBT_Int16 |
| eIBT_UInt8 | eIBT_Int16 |
| eIBT_Int16 | eIBT_Int32 |
| eIBT_UInt16 | eIBT_Int32 |
| eIBT_Int32 | eIBT_Int32 |
| eIBT_UInt32 | eIBT_Int32 |
| eIBT_Real32 | eIBT_Real32 |
| eIBT_Binary | eIBT_Int8 |
| eIBT_Label16 | eIBT_Int32 |
| eIBT_Label32 | eIBT_Int32 |
| eIBT_Label8 | eIBT_Int16 |
Enumerate describing promote unary output image initializer type.
| IPSDKIMAGEPROCESSING_API const image::eImageBufferType& ipsdk::imaproc::getDefaultOutputBufferType | ( | const image::eImageBufferType & | inputImageBufferType, |
| const ePromoteUnaryType & | promoteUnaryType | ||
| ) |
method allowing to retrieve expected output buffer type for a given input buffer type and a promote unary operation type
| ipsdk::processor::IPSDKBaseProcessingException | if inputImageBufferType == image::eImageBufferType::eIBT_None |
1.8.14