15 #ifndef __IPSDKIPLFILTERING_PATCHBASEDBILATERAL2DIMGLVL3_H__ 16 #define __IPSDKIPLFILTERING_PATCHBASEDBILATERAL2DIMGLVL3_H__ 22 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Strip/YStrip2d/OutYStrip2d.h> 23 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Strip/YStrip2dWithKernel/InKnlYStrip2d.h> 24 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/DataItem/InPatchBasedBilateralParams.h> 35 ipsdk::imaproc::matchSize(_pInKnlYStrip2d, _pOutYStrip2d),
36 (((
ipsdk)(imaproc)(attr))(InKnlYStrip2d))
37 (((
ipsdk)(imaproc)(attr))(InPatchBasedBilateralParams))
38 (((
ipsdk)(imaproc)(attr))(OutYStrip2d)))
43 ((STRIP)(OutYStrip2d)));
47 ((LINESTRIP)(OutYStrip2d)));
57 template <
typename BufInType,
typename BufOutType,
58 ipsdk::eInstructionSet::domain ISFma, ipsdk::eInstructionSet::domain IS>
61 template <
typename BufInType,
typename BufOutType,
62 typename ComputationType,
63 eDataType::domain eComputationType,
64 ipsdk::eInstructionSet::domain ISFma, ipsdk::eInstructionSet::domain IS>
69 template <
typename ComputationType,
70 eDataType::domain eComputationType>
72 retrieveIntermediaryBuffers(
84 template <
typename BufInType,
typename ComputationType, ipsdk::eInstructionSet::domain IS>
85 void computeSimilaritiesFromPrevRow(
88 const BufInType* pCurInBuf,
89 const BufInType* pOtherInBuf,
90 ComputationType* pCurSquareDiffsBuf,
92 ComputationType* pCurSimilarities);
94 template <
typename ComputationType, ipsdk::eInstructionSet::domain ISFma, ipsdk::eInstructionSet::domain IS>
96 computeSimilarityWeightsForCurKnlElt(
100 const ipReal64 twicePatchSimilaritySigmaSq,
101 const ComputationType* pSimilaritiesBuf,
102 ComputationType* pWeightsBuf);
104 template <eInstructionSet::domain ISFma, eInstructionSet::domain IS,
typename BufInType,
typename ComputationType>
106 computeSimilarityWeights(
108 ComputationType* pCurSquareDiffsBuf,
121 boost::scoped_array<FragHybridBufferPtr> _pInitialAvgXSquareDiffs;
122 boost::scoped_array<FragHybridBufferPtr> _pMainAvgXSquareDiffs;
123 boost::scoped_array<FragHybridBufferPtr> _pFinalAvgXSquareDiffs;
125 boost::scoped_array<HybridBufferPtr> _pInitialSimilarities;
126 boost::scoped_array<HybridBufferPtr> _pMainSimilarities;
127 boost::scoped_array<HybridBufferPtr> _pFinalSimilarities;
129 boost::scoped_array<FragHybridBufferPtr> _pInitialSimilarityWeights;
130 boost::scoped_array<FragHybridBufferPtr> _pMainSimilarityWeights;
131 boost::scoped_array<FragHybridBufferPtr> _pFinalSimilarityWeights;
133 std::vector<std::pair<ipInt32, ipInt32> > _ptsInKernel;
158 #endif // __IPSDKIPLFILTERING_PATCHBASEDBILATERAL2DIMGLVL3_H__
boost::shared_ptr< FragHybridBuffer > FragHybridBufferPtr
ipsdk::core::ExecResult preProcess()
method called before processing
#define IPSDK_DECLARE_PROCESSING_ALGORITHM(libraryName, algoName, RuleString, attributeSeq)
#define IPSDK_DECLARE_ALGORITHM_PARSED_DATA(dataSeq)
#define IPSDK_DECLARE_ALGORITHM_FUNCTION_SELECTOR(dataTypeSeq)
boost::shared_ptr< HybridBuffer > HybridBufferPtr
Definition of import/export macro for library.