15 #ifndef __IPSDKIPLSTATS_LAWTEXTURE3DIMGLVL1_H__ 16 #define __IPSDKIPLSTATS_LAWTEXTURE3DIMGLVL1_H__ 27 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/DataItem/InOptLawTextureKernel3dTypes.h> 28 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/DataItem/InOptLawTexPreProcParams.h> 29 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/DataItem/InOptLawTexPostProcParams.h> 30 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Input/3d/InSingleImg3d.h> 31 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/OutRealImg.h> 32 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/Working/Optional/OutOptWk1RealImg.h> 33 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/Working/Optional/OutOptWk2RealImg.h> 34 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/Working/Optional/OutOptWk3RealImg.h> 35 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/Working/OutWk1RealImg.h> 44 struct LawTex3dConvolRes;
45 typedef boost::shared_ptr<LawTex3dConvolRes> LawTex3dConvolResPtr;
52 ipsdk::imaproc::matchSize(_pInSingleImg3d, _pOutWk1RealImg) &&
54 ipsdk::imaproc::matchSize(_pInSingleImg3d, _pOutOptWk1RealImg))) &&
56 ipsdk::imaproc::matchSize(_pInSingleImg3d, _pOutOptWk2RealImg))),
57 (((
ipsdk)(imaproc)(attr))(InSingleImg3d))
58 (((
ipsdk)(imaproc)(attr))(InOptLawTextureKernel3dTypes))
59 (((
ipsdk)(imaproc)(attr))(InOptLawTexPreProcParams))
60 (((
ipsdk)(imaproc)(attr))(InOptLawTexPostProcParams))
63 (((
ipsdk)(imaproc)(attr))(OutOptWk1RealImg))
64 (((
ipsdk)(imaproc)(attr))(OutOptWk2RealImg))
65 (((
ipsdk)(imaproc)(attr))(OutOptWk3RealImg)))
71 typedef std::string FinalImageId;
72 typedef std::string WorkImageId;
73 typedef std::map<FinalImageId, std::pair<image::ImagePtr, WorkImageId> > MapImages;
79 const core::BasePriority& priority,
86 const attr::GaussianCoverage& gaussianCoverage,
87 const core::BasePriority& priority,
91 const core::BasePriority& priority,
95 const core::BasePriority& priority,
102 const core::BasePriority& priority,
107 const core::BasePriority& priority,
111 const std::string& kernelId,
112 const core::BasePriority& priority,
116 const std::string& kernelId,
117 const core::BasePriority& priority,
121 const core::BasePriority& priority,
125 const std::string& kernelId,
141 const boost::shared_ptr<core::BaseAction>& pProcessor,
145 void build1DKernels();
150 image::ImagePtr takeGreatestAvailableElementInImagesMapWithKeyGreaterThan(
151 const WorkImageId&
id);
154 const FinalImageId& finalId,
155 const WorkImageId& workId);
161 void releaseImage(
const WorkImageId&
id);
162 bool doAllConvolsLeftStartWithSameLetter()
const;
163 bool doAllConvolsLeftStartWithTwoSameLetters()
const;
167 std::map<char, KernelXYZPtr> _mapKnlX;
168 std::map<char, KernelXYZPtr> _mapKnlY;
169 std::map<char, KernelXYZPtr> _mapKnlZ;
171 MapImages _workImages;
172 std::map<std::string, LawTex3dConvolResPtr> _convolsToCompute;
177 WorkImageId _optWk1RealImgId;
178 WorkImageId _optWk2RealImgId;
179 WorkImageId _optWk3RealImgId;
189 #endif // __IPSDKIPLSTATS_LAWTEXTURE3DIMGLVL1_H__ boost::shared_ptr< Border3dPolicy > Border3dPolicyPtr
ProcessingResult< eRetrievalResultType > RetrievalResult
#define IPSDK_DECLARE_LVL1_PROCESSOR(ProcType, libraryName, algoName, RuleString, attributeSeq)
boost::shared_ptr< BaseImage > ImagePtr
boost::shared_ptr< KernelXYZ > KernelXYZPtr
processor::OutputInitializerPtr duplicateInOut(const boost::weak_ptr< OutputAttributeType > &pOutputAttribute, const boost::weak_ptr< InputAttributeType > &pInputAttribute, const eImageInitializerStoragePolicy &storagePolicy=eImageInitializerStoragePolicy::eIISP_Inherit)
boost::enable_if_c< AttributeType::g_bOptional, RulePtr >::type ifIsSet(const boost::shared_ptr< AttributeType > &pAttribute, const RulePtr &pRuleTrue)
IPSDKIPLSTATS_API CustomImageInfoPtr outputLawTexture3d(const ImageAttributeConstPtr &pInputImgAttribute, const boost::shared_ptr< attr::InOptLawTextureKernel3dTypes > &pInKernelTypesAttribute)
function allowing to create a Law's texture 3d filter output image initializer
processor::OutputInitializerPtr customOutput(const boost::weak_ptr< OutputAttributeType > &pOutputAttribute, const CustomImageInfoPtr &pCustomImageInfo)
Utility functions for Law's texture filter attribute output initialization management.
Definition of import/export macro for library.
boost::shared_ptr< const BaseImage > ImageConstPtr
boost::shared_ptr< BaseActionProvider > ActionProviderPtr