IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Classes | Enumerations | Functions

Promote binary output Image Initializer. More...

Classes

class  ipsdk::imaproc::PromoteBinaryImageInitializer< InputAttributeType1, InputAttributeType2, OutputAttributeType >
 Class allowing to initialize an output image from two other images deducing output image buffer type from input image buffer types and a promote binary operation type. More...
 

Enumerations

enum  ipsdk::imaproc::ePromoteBinaryType {
  ipsdk::imaproc::ePBT_Minimum, ipsdk::imaproc::ePBT_Maximum, ipsdk::imaproc::ePBT_MaxAbs, ipsdk::imaproc::ePBT_Upper,
  ipsdk::imaproc::ePBT_UpperSigned, ipsdk::imaproc::ePBT_Divide
}
 Enumerate describing promote binary output image initializer type. More...
 

Functions

IPSDKIMAGEPROCESSING_API const image::eImageBufferTypeipsdk::imaproc::getDefaultOutputBufferType (const image::eImageBufferType &inputImageBufferType1, const image::eImageBufferType &inputImageBufferType2, const ePromoteBinaryType &promoteBinaryType)
 method allowing to retrieve expected output buffer type for given input buffer types and a promote binary operation type More...
 
template<typename InputAttributeType1 , typename InputAttributeType2 , typename OutputAttributeType >
processor::OutputInitializerPtr ipsdk::imaproc::promoteBinary (const boost::weak_ptr< OutputAttributeType > &pOutputAttribute, const boost::weak_ptr< InputAttributeType1 > &pInputAttribute1, const boost::weak_ptr< InputAttributeType2 > &pInputAttribute2, const ePromoteBinaryType &promoteBinaryType, const bool bAllowReInterpretation=false)
 functions allowing to deduce output image buffer type promotion from two input image buffer types retrieving unsigned image buffer type from input image buffer type
 
template<typename InputAttributeType1 , typename InputAttributeType2 , typename OutputAttributeType >
processor::OutputInitializerPtr ipsdk::imaproc::promoteBinary (const boost::shared_ptr< OutputAttributeType > &pOutputAttribute, const boost::shared_ptr< InputAttributeType1 > &pInputAttribute1, const boost::shared_ptr< InputAttributeType2 > &pInputAttribute2, const ePromoteBinaryType &promoteBinaryType, const bool bAllowReInterpretation=false)
 functions allowing to deduce output image buffer type promotion from two input image buffer types retrieving unsigned image buffer type from input image buffer type
 
template<typename InputAttributeType1 , typename InputAttributeType2 , typename OutputAttributeType >
processor::OutputInitializerPtr ipsdk::imaproc::promoteReInterpretable (const boost::weak_ptr< OutputAttributeType > &pOutputAttribute, const boost::weak_ptr< InputAttributeType1 > &pInputAttribute1, const boost::weak_ptr< InputAttributeType2 > &pInputAttribute2, const ePromoteBinaryType &promoteBinaryType)
 functions allowing to deduce output image buffer type promotion from two input image buffer types retrieving unsigned image buffer type from input image buffer type. On output image can be reinterpreted
 
template<typename InputAttributeType1 , typename InputAttributeType2 , typename OutputAttributeType >
processor::OutputInitializerPtr ipsdk::imaproc::promoteReInterpretable (const boost::shared_ptr< OutputAttributeType > &pOutputAttribute, const boost::shared_ptr< InputAttributeType1 > &pInputAttribute1, const boost::shared_ptr< InputAttributeType2 > &pInputAttribute2, const ePromoteBinaryType &promoteBinaryType)
 functions allowing to deduce output image buffer type promotion from two input image buffer types retrieving unsigned image buffer type from input image buffer type. On output image can be reinterpreted
 

Detailed Description

Promote binary output Image Initializer.

This type of output image initializer is used to promote two input image buffer types to output attribute using an operator associated to ipsdk::imaproc::ePromoteBinaryType.

Example

In the following processor class declaration example output image size will be the same as input ones. Output image buffer type will be compatible with linear combination operation on input ones.

// declare processor class
IPSDK_DECLARE_LVL1_PROCESSOR(ASYNC1, UT_IPSDKImageProcessing, TestPromoteBinary,
ipsdk::imaproc::matchSize(_pInImg1, _pInImg2, _pOutImg),
(((test))(InImg1))
(((test))(InImg2))
(((test))(OutImg)(promoteBinary)(_pInImg1)(_pInImg2)(ipsdk::imaproc::ePromoteBinaryType::ePBT_Upper)))
// methods
public:
// attributes
protected:
};

For example, if input image buffer types are respectively equal to ipsdk::image::eImageBufferType::eIBT_Int8 and ipsdk::image::eImageBufferType::eIBT_UInt8, output image buffer type will be equal to ipsdk::image::eImageBufferType::eIBT_Int16 (refers to following promotion tables).

List of available promotion operations

Case of ipsdk::imaproc::ePromoteBinaryType::ePBT_Minimum

In this case, output image buffer type is suitable for a minima computation for the two input image buffer types. Type promotion is defined by the following symmetric table :

X eIBT_Int8 eIBT_UInt8 eIBT_Int16 eIBT_UInt16 eIBT_Int32 eIBT_UInt32 eIBT_Real32 eIBT_Binary eIBT_Label16 eIBT_Label32 eIBT_Label8
eIBT_Int8 eIBT_Int8 eIBT_Int8 eIBT_Int8 eIBT_Int8 eIBT_Int8 eIBT_Int8 eIBT_Real32 eIBT_Int8 eIBT_Int8 eIBT_Int8 eIBT_Int8
eIBT_UInt8 eIBT_Int8 eIBT_UInt8 eIBT_Int16 eIBT_UInt8 eIBT_Int32 eIBT_UInt8 eIBT_Real32 eIBT_UInt8 eIBT_UInt8 eIBT_UInt8 eIBT_UInt8
eIBT_Int16 eIBT_Int8 eIBT_Int16 eIBT_Int16 eIBT_Int16 eIBT_Int16 eIBT_Int16 eIBT_Real32 eIBT_Int16 eIBT_Int16 eIBT_Int16 eIBT_Int16
eIBT_UInt16 eIBT_Int8 eIBT_UInt8 eIBT_Int16 eIBT_UInt16 eIBT_Int32 eIBT_UInt16 eIBT_Real32 eIBT_UInt8 eIBT_UInt16 eIBT_UInt16 eIBT_UInt8
eIBT_Int32 eIBT_Int8 eIBT_Int32 eIBT_Int16 eIBT_Int32 eIBT_Int32 eIBT_Int32 eIBT_Real32 eIBT_Int32 eIBT_Int32 eIBT_Int32 eIBT_Int32
eIBT_UInt32 eIBT_Int8 eIBT_UInt8 eIBT_Int16 eIBT_UInt16 eIBT_Int32 eIBT_UInt32 eIBT_Real32 eIBT_UInt8 eIBT_UInt16 eIBT_UInt32 eIBT_UInt8
eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32
eIBT_Binary eIBT_Int8 eIBT_UInt8 eIBT_Int16 eIBT_UInt8 eIBT_Int32 eIBT_UInt8 eIBT_Real32 eIBT_Binary eIBT_UInt8 eIBT_UInt8 eIBT_Binary
eIBT_Label16 eIBT_Int8 eIBT_UInt8 eIBT_Int16 eIBT_UInt16 eIBT_Int32 eIBT_UInt16 eIBT_Real32 eIBT_UInt8 eIBT_Label16 eIBT_Label16 eIBT_Label8
eIBT_Label32 eIBT_Int8 eIBT_UInt8 eIBT_Int16 eIBT_UInt16 eIBT_Int32 eIBT_UInt32 eIBT_Real32 eIBT_UInt8 eIBT_Label16 eIBT_Label32 eIBT_Label8
eIBT_Label8 eIBT_Int8 eIBT_UInt8 eIBT_Int16 eIBT_UInt8 eIBT_Int32 eIBT_UInt8 eIBT_Real32 eIBT_Binary eIBT_Label8 eIBT_Label8 eIBT_Label8

Case of ipsdk::imaproc::ePromoteBinaryType::ePBT_Maximum

In this case, output image buffer type is suitable for a maxima computation for the two input image buffer types. Type promotion is defined by the following symmetric table (where rows correspond to first input while columns correspond to second one) :

X eIBT_Int8 eIBT_UInt8 eIBT_Int16 eIBT_UInt16 eIBT_Int32 eIBT_UInt32 eIBT_Real32 eIBT_Binary eIBT_Label16 eIBT_Label32 eIBT_Label8
eIBT_Int8 eIBT_Int8 eIBT_UInt8 eIBT_Int16 eIBT_UInt16 eIBT_Int32 eIBT_UInt32 eIBT_Real32 eIBT_UInt8 eIBT_UInt16 eIBT_UInt32 eIBT_UInt8
eIBT_UInt8 eIBT_UInt8 eIBT_UInt8 eIBT_UInt16 eIBT_UInt16 eIBT_UInt32 eIBT_UInt32 eIBT_Real32 eIBT_UInt8 eIBT_UInt16 eIBT_UInt32 eIBT_UInt8
eIBT_Int16 eIBT_Int8 eIBT_Int16 eIBT_Int16 eIBT_UInt16 eIBT_Int32 eIBT_UInt32 eIBT_Real32 eIBT_UInt16 eIBT_UInt16 eIBT_UInt32 eIBT_UInt16
eIBT_UInt16 eIBT_UInt16 eIBT_UInt16 eIBT_UInt16 eIBT_UInt16 eIBT_UInt32 eIBT_UInt32 eIBT_Real32 eIBT_UInt16 eIBT_UInt16 eIBT_UInt32 eIBT_UInt16
eIBT_Int32 eIBT_Int32 eIBT_Int32 eIBT_Int32 eIBT_UInt32 eIBT_Int32 eIBT_UInt32 eIBT_Real32 eIBT_UInt32 eIBT_UInt32 eIBT_UInt32 eIBT_UInt32
eIBT_UInt32 eIBT_UInt32 eIBT_UInt32 eIBT_UInt32 eIBT_UInt32 eIBT_UInt32 eIBT_UInt32 eIBT_Real32 eIBT_UInt32 eIBT_UInt32 eIBT_UInt32 eIBT_UInt32
eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32
eIBT_Binary eIBT_UInt8 eIBT_UInt8 eIBT_UInt16 eIBT_UInt16 eIBT_UInt32 eIBT_UInt32 eIBT_Real32 eIBT_Binary eIBT_UInt16 eIBT_UInt32 eIBT_Label8
eIBT_Label16 eIBT_UInt16 eIBT_UInt16 eIBT_UInt16 eIBT_UInt16 eIBT_UInt32 eIBT_UInt32 eIBT_Real32 eIBT_UInt16 eIBT_Label16 eIBT_Label32 eIBT_Label16
eIBT_Label32 eIBT_UInt32 eIBT_UInt32 eIBT_UInt32 eIBT_UInt32 eIBT_UInt32 eIBT_UInt32 eIBT_Real32 eIBT_UInt32 eIBT_Label32 eIBT_Label32 eIBT_Label32
eIBT_Label8 eIBT_UInt8 eIBT_UInt8 eIBT_UInt16 eIBT_UInt16 eIBT_UInt32 eIBT_UInt32 eIBT_Real32 eIBT_Label8 eIBT_Label16 eIBT_Label32 eIBT_Label8

Case of ipsdk::imaproc::ePromoteBinaryType::ePBT_MaxAbs

In this case, output image buffer type is suitable for an absolute value maxima computation for the two input image buffer types. Type promotion is defined by the following symmetric table (where rows correspond to first input while columns correspond to second one) :

X eIBT_Int8 eIBT_UInt8 eIBT_Int16 eIBT_UInt16 eIBT_Int32 eIBT_UInt32 eIBT_Real32 eIBT_Binary eIBT_Label16 eIBT_Label32 eIBT_Label8
eIBT_Int8 eIBT_UInt8 eIBT_UInt8 eIBT_UInt16 eIBT_UInt16 eIBT_UInt32 eIBT_UInt32 eIBT_Real32 eIBT_UInt8 eIBT_UInt16 eIBT_UInt32 eIBT_UInt8
eIBT_UInt8 eIBT_UInt8 eIBT_UInt8 eIBT_UInt16 eIBT_UInt16 eIBT_UInt32 eIBT_UInt32 eIBT_Real32 eIBT_UInt8 eIBT_UInt16 eIBT_UInt32 eIBT_UInt8
eIBT_Int16 eIBT_UInt8 eIBT_UInt16 eIBT_UInt16 eIBT_UInt16 eIBT_UInt32 eIBT_UInt32 eIBT_Real32 eIBT_UInt16 eIBT_UInt16 eIBT_UInt32 eIBT_UInt16
eIBT_UInt16 eIBT_UInt16 eIBT_UInt16 eIBT_UInt16 eIBT_UInt16 eIBT_UInt32 eIBT_UInt32 eIBT_Real32 eIBT_UInt16 eIBT_UInt16 eIBT_UInt32 eIBT_UInt16
eIBT_Int32 eIBT_UInt32 eIBT_UInt32 eIBT_UInt32 eIBT_UInt32 eIBT_UInt32 eIBT_UInt32 eIBT_Real32 eIBT_UInt32 eIBT_UInt32 eIBT_UInt32 eIBT_UInt32
eIBT_UInt32 eIBT_UInt32 eIBT_UInt32 eIBT_UInt32 eIBT_UInt32 eIBT_UInt32 eIBT_UInt32 eIBT_Real32 eIBT_UInt32 eIBT_UInt32 eIBT_UInt32 eIBT_UInt32
eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32
eIBT_Binary eIBT_UInt8 eIBT_UInt8 eIBT_UInt16 eIBT_UInt16 eIBT_UInt32 eIBT_UInt32 eIBT_Real32 eIBT_Binary eIBT_UInt16 eIBT_UInt32 eIBT_Label8
eIBT_Label16 eIBT_UInt16 eIBT_UInt16 eIBT_UInt16 eIBT_UInt16 eIBT_UInt32 eIBT_UInt32 eIBT_Real32 eIBT_UInt16 eIBT_Label16 eIBT_Label32 eIBT_Label16
eIBT_Label32 eIBT_UInt32 eIBT_UInt32 eIBT_UInt32 eIBT_UInt32 eIBT_UInt32 eIBT_UInt32 eIBT_Real32 eIBT_UInt32 eIBT_Label32 eIBT_Label32 eIBT_Label32
eIBT_Label8 eIBT_UInt8 eIBT_UInt8 eIBT_UInt16 eIBT_UInt16 eIBT_UInt32 eIBT_UInt32 eIBT_Real32 eIBT_Label8 eIBT_Label16 eIBT_Label32 eIBT_Label8

Case of ipsdk::imaproc::ePromoteBinaryType::ePBT_Upper

In this case, output image buffer type is suitable for an addition like computation for the two input image buffer types. Type promotion is defined by the following symmetric table (where rows correspond to first input while columns correspond to second one) :

X eIBT_Int8 eIBT_UInt8 eIBT_Int16 eIBT_UInt16 eIBT_Int32 eIBT_UInt32 eIBT_Real32 eIBT_Binary eIBT_Label16 eIBT_Label32 eIBT_Label8
eIBT_Int8 eIBT_Int16 eIBT_Int16 eIBT_Int16 eIBT_Int32 eIBT_Int32 eIBT_Int32 eIBT_Real32 eIBT_Int8 eIBT_Int32 eIBT_Int32 eIBT_Int16
eIBT_UInt8 eIBT_Int16 eIBT_UInt16 eIBT_Int16 eIBT_UInt16 eIBT_Int32 eIBT_UInt32 eIBT_Real32 eIBT_UInt8 eIBT_UInt16 eIBT_UInt32 eIBT_UInt16
eIBT_Int16 eIBT_Int16 eIBT_Int16 eIBT_Int16 eIBT_Int32 eIBT_Int32 eIBT_Int32 eIBT_Real32 eIBT_Int16 eIBT_Int32 eIBT_Int32 eIBT_Int32
eIBT_UInt16 eIBT_Int32 eIBT_UInt16 eIBT_Int32 eIBT_UInt32 eIBT_Int32 eIBT_UInt32 eIBT_Real32 eIBT_UInt16 eIBT_UInt32 eIBT_UInt32 eIBT_UInt32
eIBT_Int32 eIBT_Int32 eIBT_Int32 eIBT_Int32 eIBT_Int32 eIBT_Int32 eIBT_Int32 eIBT_Real32 eIBT_Int32 eIBT_Int32 eIBT_Int32 eIBT_Int32
eIBT_UInt32 eIBT_Int32 eIBT_UInt32 eIBT_Int32 eIBT_UInt32 eIBT_Int32 eIBT_UInt32 eIBT_Real32 eIBT_UInt32 eIBT_UInt32 eIBT_UInt32 eIBT_UInt32
eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32
eIBT_Binary eIBT_Int8 eIBT_UInt8 eIBT_Int16 eIBT_UInt16 eIBT_Int32 eIBT_UInt8 eIBT_Real32 eIBT_UInt8 eIBT_UInt16 eIBT_UInt32 eIBT_UInt16
eIBT_Label16 eIBT_Int32 eIBT_UInt16 eIBT_Int32 eIBT_UInt32 eIBT_Int32 eIBT_UInt16 eIBT_Real32 eIBT_UInt16 eIBT_UInt32 eIBT_UInt32 eIBT_UInt32
eIBT_Label32 eIBT_Int32 eIBT_UInt32 eIBT_Int32 eIBT_UInt32 eIBT_Int32 eIBT_UInt32 eIBT_Real32 eIBT_UInt32 eIBT_UInt32 eIBT_UInt32 eIBT_UInt32
eIBT_Label8 eIBT_Int16 eIBT_UInt16 eIBT_Int32 eIBT_UInt32 eIBT_Int32 eIBT_UInt32 eIBT_Real32 eIBT_UInt16 eIBT_UInt32 eIBT_UInt32 eIBT_UInt16

Case of ipsdk::imaproc::ePromoteBinaryType::ePBT_UpperSigned

In this case, output image buffer type is suitable for a subraction like computation for the two input image buffer types. Type promotion is defined by the following symmetric table (where rows correspond to first input while columns correspond to second one) :

X eIBT_Int8 eIBT_UInt8 eIBT_Int16 eIBT_UInt16 eIBT_Int32 eIBT_UInt32 eIBT_Real32 eIBT_Binary eIBT_Label16 eIBT_Label32 eIBT_Label8
eIBT_Int8 eIBT_Int16 eIBT_Int16 eIBT_Int16 eIBT_Int32 eIBT_Int32 eIBT_Int32 eIBT_Real32 eIBT_Int8 eIBT_Int32 eIBT_Int32 eIBT_Int16
eIBT_UInt8 eIBT_Int16 eIBT_Int16 eIBT_Int16 eIBT_Int16 eIBT_Int32 eIBT_Int32 eIBT_Real32 eIBT_Int8 eIBT_Int16 eIBT_Int32 eIBT_Int16
eIBT_Int16 eIBT_Int16 eIBT_Int16 eIBT_Int16 eIBT_Int32 eIBT_Int32 eIBT_Int32 eIBT_Real32 eIBT_Int16 eIBT_Int32 eIBT_Int32 eIBT_Int32
eIBT_UInt16 eIBT_Int32 eIBT_Int16 eIBT_Int32 eIBT_Int32 eIBT_Int32 eIBT_Int32 eIBT_Real32 eIBT_Int16 eIBT_Int32 eIBT_Int32 eIBT_Int32
eIBT_Int32 eIBT_Int32 eIBT_Int32 eIBT_Int32 eIBT_Int32 eIBT_Int32 eIBT_Int32 eIBT_Real32 eIBT_Int32 eIBT_Int32 eIBT_Int32 eIBT_Int32
eIBT_UInt32 eIBT_Int32 eIBT_Int32 eIBT_Int32 eIBT_Int32 eIBT_Int32 eIBT_Int32 eIBT_Real32 eIBT_Int32 eIBT_Int32 eIBT_Int32 eIBT_Int32
eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32
eIBT_Binary eIBT_Int8 eIBT_Int8 eIBT_Int16 eIBT_Int16 eIBT_Int32 eIBT_Int8 eIBT_Real32 eIBT_Int8 eIBT_Int16 eIBT_Int32 eIBT_Int16
eIBT_Label16 eIBT_Int32 eIBT_Int16 eIBT_Int32 eIBT_Int32 eIBT_Int32 eIBT_Int16 eIBT_Real32 eIBT_Int16 eIBT_Int32 eIBT_Int32 eIBT_Int32
eIBT_Label32 eIBT_Int32 eIBT_Int32 eIBT_Int32 eIBT_Int32 eIBT_Int32 eIBT_Int32 eIBT_Real32 eIBT_Int32 eIBT_Int32 eIBT_Int32 eIBT_Int32
eIBT_Label8 eIBT_Int16 eIBT_Int16 eIBT_Int32 eIBT_Int32 eIBT_Int32 eIBT_Int32 eIBT_Real32 eIBT_Int16 eIBT_Int32 eIBT_Int32 eIBT_Int16

Case of ipsdk::imaproc::ePromoteBinaryType::ePBT_Divide

In this case, output image buffer type is suitable for a division computation for the two input image buffer types. Type promotion is defined by the following asymmetric table (where rows correspond to first input while columns correspond to second one) :

X eIBT_Int8 eIBT_UInt8 eIBT_Int16 eIBT_UInt16 eIBT_Int32 eIBT_UInt32 eIBT_Real32 eIBT_Binary eIBT_Label16 eIBT_Label32 eIBT_Label32
eIBT_Int8 eIBT_Int8 eIBT_Int8 eIBT_Int8 eIBT_Int8 eIBT_Int8 eIBT_Int8 eIBT_Real32 eIBT_Int8 eIBT_Int8 eIBT_Int8 eIBT_Int8
eIBT_UInt8 eIBT_Int16 eIBT_UInt8 eIBT_Int16 eIBT_UInt8 eIBT_Int16 eIBT_UInt8 eIBT_Real32 eIBT_UInt8 eIBT_UInt8 eIBT_UInt8 eIBT_UInt8
eIBT_Int16 eIBT_Int16 eIBT_Int16 eIBT_Int16 eIBT_Int16 eIBT_Int16 eIBT_Int16 eIBT_Real32 eIBT_Int16 eIBT_Int16 eIBT_Int16 eIBT_Int16
eIBT_UInt16 eIBT_Int32 eIBT_UInt16 eIBT_Int32 eIBT_UInt16 eIBT_Int32 eIBT_UInt16 eIBT_Real32 eIBT_UInt16 eIBT_UInt16 eIBT_UInt16 eIBT_UInt16
eIBT_Int32 eIBT_Int32 eIBT_Int32 eIBT_Int32 eIBT_Int32 eIBT_Int32 eIBT_Int32 eIBT_Real32 eIBT_Int32 eIBT_Int32 eIBT_Int32 eIBT_Int32
eIBT_UInt32 eIBT_Int32 eIBT_UInt32 eIBT_Int32 eIBT_UInt32 eIBT_Int32 eIBT_UInt32 eIBT_Real32 eIBT_UInt32 eIBT_UInt32 eIBT_UInt32 eIBT_UInt32
eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32 eIBT_Real32
eIBT_Binary eIBT_Int8 eIBT_UInt8 eIBT_Int8 eIBT_UInt8 eIBT_Int8 eIBT_UInt8 eIBT_Real32 eIBT_UInt8 eIBT_UInt8 eIBT_UInt8 eIBT_UInt8
eIBT_Label16 eIBT_Int32 eIBT_UInt16 eIBT_Int32 eIBT_UInt16 eIBT_Int32 eIBT_UInt16 eIBT_Real32 eIBT_UInt16 eIBT_UInt16 eIBT_UInt16 eIBT_UInt16
eIBT_Label32 eIBT_Int32 eIBT_UInt32 eIBT_Int32 eIBT_UInt32 eIBT_Int32 eIBT_UInt32 eIBT_Real32 eIBT_UInt32 eIBT_UInt32 eIBT_UInt32 eIBT_UInt32
eIBT_Label8 eIBT_Int8 eIBT_UInt8 eIBT_Int16 eIBT_UInt16 eIBT_Int32 eIBT_UInt32 eIBT_Real32 eIBT_UInt8 eIBT_UInt16 eIBT_UInt32 eIBT_UInt8

Enumeration Type Documentation

◆ ePromoteBinaryType

Enumerate describing promote binary output image initializer type.

Note
This object is associated to a strong enumerate definition
See also
IPSDK_Enum
Enumerator
ePBT_Minimum 

Retrieve ouput image buffer type for minima computation from two input image buffer types.

ePBT_Maximum 

Retrieve ouput image buffer type for maxima computation from two input image buffer types.

ePBT_MaxAbs 

Retrieve ouput image buffer type for an absolute value maxima computation from two input image buffer types.

ePBT_Upper 

Retrieve ouput image buffer type for a binary addition like operation.

ePBT_UpperSigned 

Retrieve ouput image buffer type for a binary subtraction like operation.

ePBT_Divide 

Retrieve ouput image buffer type for a division computation from two input image buffer types.

Function Documentation

◆ getDefaultOutputBufferType()

IPSDKIMAGEPROCESSING_API const image::eImageBufferType& ipsdk::imaproc::getDefaultOutputBufferType ( const image::eImageBufferType inputImageBufferType1,
const image::eImageBufferType inputImageBufferType2,
const ePromoteBinaryType promoteBinaryType 
)

method allowing to retrieve expected output buffer type for given input buffer types and a promote binary operation type

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionif inputImageBufferType1 == image::eImageBufferType::eIBT_None
ipsdk::processor::IPSDKBaseProcessingExceptionif inputImageBufferType2 == image::eImageBufferType::eIBT_None