Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
29 Views

Template Matching function questions

Hi,

I have trouble finding the difference between SqrDistanceFull_Norm/SqrDistanceSame_Norm/SqrDistanceValid_Norm, as well as CrossCorFull_Norm/CrossCorSame_Norm/CrossCorValid_Norm, as well as CrossCorFull_NormLevel/CrossCorSame_NormLevel/CrossCorValid_NormLevel.

What exactly is the difference between Full/Same/Valid versions?

All of these functions are marked as deprectated, but nowhere can I find the name of a replacement function. Which function(s) replace the deprecated ones?

I must also say that the documentation is really hard to read. All these variants of function descriptions seem to share the same documentation (at least 99% is the same), making it very very hard to spot differences.

Best regards

Peter

0 Kudos
11 Replies
Highlighted
Valued Contributor II
29 Views

Please take a look at ippi.h header file: //... // ippiSqrDistanceValid_Norm_8s32f_AC4R. // // Purpose: Computes normalized Euclidean distance, or Sum of Squared // Distance (SSD) of an image and a template (another image). // The SSD values are image similarity measures: the smaller // value of SSD at a particular pixel, the more similarity between // the template and the image in the neighborhood of the pixel. // If IppiSize's of image and template are Wa * Ha and // Wb * Hb correspondingly, then the IppiSize of the resulting // matrix with normalized SSD coefficients will be // a) in case of 'Full' suffix: // ( Wa + Wb - 1 )*( Ha + Hb - 1 ). // b) in case of 'Same' suffix: // ( Wa )*( Ha ). // c) in case of 'Valid' suffix: // ( Wa - Wb + 1 )*( Ha - Hb + 1 ). // Notice: // suffix 'R' (ROI) means only scanline alignment (srcStep), in // 'Same' and 'Full' cases no any requirements for data outstand // the ROI - it's assumed that template and source images are zero padded. //...
0 Kudos
Highlighted
Beginner
29 Views

Thanks for the explanation.

What about the other question:

All of these functions are marked as deprectated, but nowhere can I find the name of a replacement function. Which function(s) replace the deprecated ones?

0 Kudos
Highlighted
Valued Contributor II
29 Views

Please take a look at a thread: Intel® Integrated Performance Primitives 7.1 Deprecation Information software.intel.com/en-us/forums/topic/327960 for more information. Also, it was already discussed many times that older and newer versions of IPP library could be used at the same time in the same application. Even if functions you've mentioned are removed from IPP library in the future you could continue using older version of IPP.
0 Kudos
Highlighted
Valued Contributor II
29 Views

Here is a collection of different links to articles and documentation of IPP library: software.intel.com/en-us/articles/intel-ipp-71-library-release-notes IPP knowledge base software.intel.com/en-us/articles/intel-ipp-kb/all software.intel.com/en-us/articles/intel-ipp-70-library-install-guide IPP code samples software.intel.com/en-us/articles/code-samples-for-intel-integrated-performance-primitives-intel-ipp-library-71 software.intel.com/en-us/articles/intel-integrated-performance-primitives-code-samples Others software.intel.com/en-us/articles/intel-integrated-performance-primitives-faq software.intel.com/en-us/articles/intel-integrated-performance-primitives-documentation software.intel.com/en-us/articles/ipp-crypto-guide software.intel.com/en-us/articles/download-ipp-cryptography-libraries software.intel.com/en-us/articles/boosting-cryptography-performance-with-intel-libraries software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-understanding-cpu-optimized-code-used-in-intel-ipp software.intel.com/en-us/articles/threading-and-intel-integrated-performance-primitives Note: However, in 99% of cases I use IPP documentation in Pdf format.
0 Kudos
Highlighted
Beginner
29 Views

Please excuse, I still need to come back to the deprecation issue, because it just does not make sense in my head yet.

Are you saying that these template matching functions may be removed and no replacement might be available in newer IPP versions?

0 Kudos
Highlighted
Valued Contributor II
29 Views

Any comments from Intel software engineers on the last question? Thanks in advance.
0 Kudos
Highlighted
Valued Contributor II
29 Views

I agree with Peter because deprecation message doesn't say anything about replacements of these functions in future versions of IPP library. From ippi.h from IPP version 7.1.1: ... IPP_DEPRECATED("is deprecated. API of this function is obsolete and will be changed in one of the future IPP releases. Use the following link for details: software.intel.com/en-us/articles/intel-ipp-71-deprecated-features/")\ IPPAPI( IppStatus, ippiCrossCorrFull_Norm_32f_C1R, ( const Ipp32f* pSrc, int srcStep, IppiSize srcRoiSize, const Ipp32f* pTpl, int tplStep, IppiSize tplRoiSize, Ipp32f* pDst, int dstStep )) ...
0 Kudos
Highlighted
Beginner
29 Views

I was also a bit shocked to read that convolution would be removed from IPP.... If only the API is going to be modified, I can then breathe normal!

0 Kudos
Highlighted
Employee
29 Views

Hello Thomas and Peter,

Deprecation does not mean immediate removal, but it does begin the process and collect the feedback for these function. If you notice some function is important, please feel free to provide your feedback in the following site:
http://software.intel.com/sites/products/ipp-deprecated-features-feedback/

Regards,
Chao

0 Kudos
Highlighted
Employee
29 Views

Hi all,

Full, Same an Valid notations have the same meaning as in MatLab. Regarding deprecation: in IPP 8.0 the new APIs for these functionalities will introduced, so deprecation message will be changed with a reccomendation to use the new one. Your feedback on new APIs will be appreciated.

regards, Igor

0 Kudos
Highlighted
Employee
29 Views

Hi all,

Full, Same an Valid notations have the same meaning as in MatLab. Regarding deprecation: in IPP 8.0 the new APIs for these functionalities will introduced, so deprecation message will be changed with a reccomendation to use the new one. Your feedback on new APIs will be appreciated.

regards, Igor

0 Kudos