IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
AppendSeqImgLvl1.h
1 // AppendSeqImgLvl1.h:
3 // -----------------
4 //
14 
15 #ifndef __IPSDKIPLUTILITY_APPENDSEQIMGLVL1_H__
16 #define __IPSDKIPLUTILITY_APPENDSEQIMGLVL1_H__
17 
22 
25 
26 // Attributes headers
27 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Input/InImg1.h>
28 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Input/InImg2.h>
29 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/OutImg.h>
30 
31 namespace ipsdk {
32 namespace imaproc {
33 namespace util {
34 
37 
38 // declare processor class
39 IPSDK_DECLARE_LVL1_PROCESSOR(ASYNC1, IPSDKIPLUtility, AppendSeqImg,
40  ipsdk::imaproc::matchSize(eMatchImageSizeType::eMIST_XYZC, _pInImg1, _pInImg2) &&
41  ipsdk::imaproc::noInSitu(_pInImg2, _pOutImg) &&
42  ipsdk::imaproc::matchVolumeGeometryType(_pInImg1, _pInImg2) &&
43  ipsdk::imaproc::matchColorGeometryType(_pInImg1, _pInImg2) &&
44  (ipsdk::processor::If(ipsdk::imaproc::isInSitu(_pInImg1, _pOutImg),
45  ipsdk::imaproc::imageBaseType(_pInImg1, image::eImageBaseType::eIBT_Complete) &&
46  ipsdk::imaproc::imageType(_pInImg1, image::eImageType::eIT_Memory),
47  ipsdk::imaproc::matchSize(eMatchImageSizeType::eMIST_XYZC, _pInImg1, _pOutImg) &&
48  ipsdk::imaproc::matchVolumeGeometryType(_pInImg1, _pOutImg) &&
49  ipsdk::imaproc::matchColorGeometryType(_pInImg1, _pOutImg) &&
50  ipsdk::imaproc::customImageProperty(_pOutImg, matchAppendSeq(_pInImg1, _pInImg2)))),
51  (((ipsdk)(imaproc)(attr))(InImg1))
52  (((ipsdk)(imaproc)(attr))(InImg2))
53  (((ipsdk)(imaproc)(attr))(OutImg)(customOutput)(outputAppendSeq(_pInImg1, _pInImg2))))
54 
55 // methods
56 public:
57 
58 protected:
59 
60 // attributes
61 protected:
62 };
63 
66 
67 } // end of namespace util
68 } // end of namespace imaproc
69 } // end of namespace ipsdk
70 
71 #endif // __IPSDKIPLUTILITY_APPENDSEQIMGLVL1_H__
#define IPSDK_DECLARE_LVL1_PROCESSOR(ProcType, libraryName, algoName, RuleString, attributeSeq)
Utility functions for sequence concatenation attribute output initialization management.
processor::OutputInitializerPtr customOutput(const boost::weak_ptr< OutputAttributeType > &pOutputAttribute, const CustomImageInfoPtr &pCustomImageInfo)
Definition of import/export macro for library.
IPSDKIPLUTILITY_API CustomCheckedImagePropertyPtr matchAppendSeq(const ImageAttributeConstPtr &pInput1Attribute, const ImageAttributeConstPtr &pInput2Attribute)
Utility functions for attribute rules management for concatenation of 2 image sequences.
IPSDKIPLUTILITY_API CustomImageInfoPtr outputAppendSeq(const ImageAttributeConstPtr &pInput1Attribute, const ImageAttributeConstPtr &pInput2Attribute)
function allowing to create a sequence concatenation output image initializer
IPSDKBASEPROCESSING_API RulePtr If(const RulePtr &pPredicate, const RulePtr &pRuleTrue)