<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic FilterMinBorder/FilterMaxBorder in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/FilterMinBorder-FilterMaxBorder/m-p/1063033#M24242</link>
    <description>&lt;P&gt;&lt;SPAN lang="EN" style="color: rgb(83, 87, 94); font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.5pt; mso-ansi-language: EN;"&gt;Hi all,&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN lang="EN" style="color: rgb(83, 87, 94); font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.5pt; mso-ansi-language: EN;"&gt;I get different results if I use the in-place flavor of the &lt;EM&gt;ippi&lt;/EM&gt;&lt;/SPAN&gt;&lt;EM&gt;FilterMinBorder/ippiFilterMaxBorder&lt;/EM&gt;&lt;SPAN lang="EN" style="color: rgb(83, 87, 94); font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.5pt; mso-ansi-language: EN;"&gt; functions (pSrc is equal to pDst) compared to the not-in-place variants.&lt;BR /&gt;
	&lt;BR /&gt;
	I observe some "artifacts" especially near the border. Can someone confirm this?&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;I'm using IPP 2017 Update 2.&lt;/P&gt;

&lt;P&gt;&lt;SPAN lang="EN" style="color: rgb(83, 87, 94); font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.5pt; mso-ansi-language: EN;"&gt;Many thanks and best regards,&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN lang="EN" style="color: rgb(83, 87, 94); font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.5pt; mso-ansi-language: EN;"&gt;Norbert&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Wed, 22 Mar 2017 13:13:22 GMT</pubDate>
    <dc:creator>Cueppers__Norbert</dc:creator>
    <dc:date>2017-03-22T13:13:22Z</dc:date>
    <item>
      <title>FilterMinBorder/FilterMaxBorder</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/FilterMinBorder-FilterMaxBorder/m-p/1063033#M24242</link>
      <description>&lt;P&gt;&lt;SPAN lang="EN" style="color: rgb(83, 87, 94); font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.5pt; mso-ansi-language: EN;"&gt;Hi all,&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN lang="EN" style="color: rgb(83, 87, 94); font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.5pt; mso-ansi-language: EN;"&gt;I get different results if I use the in-place flavor of the &lt;EM&gt;ippi&lt;/EM&gt;&lt;/SPAN&gt;&lt;EM&gt;FilterMinBorder/ippiFilterMaxBorder&lt;/EM&gt;&lt;SPAN lang="EN" style="color: rgb(83, 87, 94); font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.5pt; mso-ansi-language: EN;"&gt; functions (pSrc is equal to pDst) compared to the not-in-place variants.&lt;BR /&gt;
	&lt;BR /&gt;
	I observe some "artifacts" especially near the border. Can someone confirm this?&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;I'm using IPP 2017 Update 2.&lt;/P&gt;

&lt;P&gt;&lt;SPAN lang="EN" style="color: rgb(83, 87, 94); font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.5pt; mso-ansi-language: EN;"&gt;Many thanks and best regards,&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN lang="EN" style="color: rgb(83, 87, 94); font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.5pt; mso-ansi-language: EN;"&gt;Norbert&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 22 Mar 2017 13:13:22 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/FilterMinBorder-FilterMaxBorder/m-p/1063033#M24242</guid>
      <dc:creator>Cueppers__Norbert</dc:creator>
      <dc:date>2017-03-22T13:13:22Z</dc:date>
    </item>
    <item>
      <title>Hi Norbert,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/FilterMinBorder-FilterMaxBorder/m-p/1063034#M24243</link>
      <description>&lt;P&gt;Hi Norbert,&lt;/P&gt;

&lt;P&gt;What function flavor do you use? Could you please provide the&amp;nbsp;machine parameters and&amp;nbsp;the code example that reproduces the issue?&lt;/P&gt;

&lt;P&gt;Best regards,&lt;BR /&gt;
	​Valentin&lt;/P&gt;</description>
      <pubDate>Wed, 22 Mar 2017 14:46:44 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/FilterMinBorder-FilterMaxBorder/m-p/1063034#M24243</guid>
      <dc:creator>Valentin_K_Intel</dc:creator>
      <dc:date>2017-03-22T14:46:44Z</dc:date>
    </item>
    <item>
      <title>Hi Valentin,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/FilterMinBorder-FilterMaxBorder/m-p/1063035#M24244</link>
      <description>&lt;P&gt;Hi Valentin,&lt;/P&gt;

&lt;P&gt;I use the x64 single-threaded static libraries on Win 7. Processor is Core i5 -2400.&lt;/P&gt;

&lt;P&gt;Below is a short example compiled with VS 2015. I create a white-black image and apply the max. filter, first not-in-place and then in-place. At the end I count the # of white pixels in both result images. The counters are different:&lt;/P&gt;

&lt;PRE class="brush:cpp;"&gt;#include &amp;lt;stdio.h&amp;gt;
#include "ipp.h"

#define WIDTH&amp;nbsp;128
#define HEIGHT&amp;nbsp;128

int main()
{
&amp;nbsp;IppStatus status = ippStsNoErr;
&amp;nbsp;Ipp8u* pSrc = nullptr, *pDst = nullptr;
&amp;nbsp;int srcStep = 0, dstStep = 0;
&amp;nbsp;IppiSize fullRoiSize = {WIDTH, HEIGHT};
&amp;nbsp;IppiSize halfRoiSize = {WIDTH, HEIGHT / 2};
&amp;nbsp;Ipp8u *pBuffer = nullptr;
&amp;nbsp;int iTmpBufSize = 0;
&amp;nbsp;IppiBorderType borderType = ippBorderRepl; // replicate border
&amp;nbsp;Ipp8u borderValue = 0;
&amp;nbsp;IppiSize maskSize = {3, 3};

&amp;nbsp;pSrc = ippiMalloc_8u_C1 (fullRoiSize.width, fullRoiSize.height, &amp;amp;srcStep);
&amp;nbsp;pDst = ippiMalloc_8u_C1 (fullRoiSize.width, fullRoiSize.height, &amp;amp;dstStep);

&amp;nbsp;// Set top half of image to white
&amp;nbsp;ippiSet_8u_C1R (255, pSrc, srcStep, halfRoiSize);
&amp;nbsp;// Set bottom half of image to black
&amp;nbsp;ippiSet_8u_C1R (0, pSrc + halfRoiSize.height * srcStep, srcStep, halfRoiSize);

&amp;nbsp;status = ippiFilterMaxBorderGetBufferSize (fullRoiSize, maskSize, ipp8u, 1, &amp;amp;iTmpBufSize);

&amp;nbsp;pBuffer = ippsMalloc_8u (iTmpBufSize);

&amp;nbsp;// Not-in-place
&amp;nbsp;status = ippiFilterMaxBorder_8u_C1R (pSrc, srcStep, pDst, dstStep, fullRoiSize, maskSize, borderType, borderValue, pBuffer);
&amp;nbsp;// In-place
&amp;nbsp;status = ippiFilterMaxBorder_8u_C1R (pSrc, srcStep, pSrc, srcStep, fullRoiSize, maskSize, borderType, borderValue, pBuffer);

&amp;nbsp;// Count white pixels
&amp;nbsp;int cntNIP = 0;&amp;nbsp;// # pixels of not-in-place flavor
&amp;nbsp;int cntIP = 0;&amp;nbsp;// # pixels of in-place flavor
&amp;nbsp;ippiCountInRange_8u_C1R (pDst, dstStep, fullRoiSize, &amp;amp;cntNIP, 254, 255);
&amp;nbsp;ippiCountInRange_8u_C1R (pSrc, srcStep, fullRoiSize, &amp;amp;cntIP, 254, 255);

&amp;nbsp;ippsFree (pBuffer);
&amp;nbsp;ippiFree (pSrc);
&amp;nbsp;ippiFree (pDst);

&amp;nbsp;printf ("# pixels not-in-place: %d\n", cntNIP);
&amp;nbsp;printf ("# pixels in-place: %d\n", cntIP);

&amp;nbsp;getchar ();

&amp;nbsp;return status;
}&lt;/PRE&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Output:&lt;BR /&gt;
	# pixels not-in-place: 8320&lt;BR /&gt;
	# pixels in-place: 8322&lt;/P&gt;

&lt;P&gt;Best regards,&lt;BR /&gt;
	Norbert&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 23 Mar 2017 08:46:58 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/FilterMinBorder-FilterMaxBorder/m-p/1063035#M24244</guid>
      <dc:creator>Cueppers__Norbert</dc:creator>
      <dc:date>2017-03-23T08:46:58Z</dc:date>
    </item>
    <item>
      <title>On Linux x64 dynamically</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/FilterMinBorder-FilterMaxBorder/m-p/1063036#M24245</link>
      <description>&lt;P&gt;On Linux x64 dynamically linked, version 9.0.3 , processor i7-X980 , I have &lt;STRONG&gt;exactly the same behaviour&lt;/STRONG&gt;:&lt;/P&gt;

&lt;PRE class="brush:plain;"&gt;# pixels not-in-place: 8320
# pixels in-place: 8322
&lt;/PRE&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 24 Mar 2017 07:22:43 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/FilterMinBorder-FilterMaxBorder/m-p/1063036#M24245</guid>
      <dc:creator>Hristov__Hristo</dc:creator>
      <dc:date>2017-03-24T07:22:43Z</dc:date>
    </item>
    <item>
      <title>I get the same behaviour if I</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/FilterMinBorder-FilterMaxBorder/m-p/1063037#M24246</link>
      <description>&lt;P&gt;I get the same behaviour if I replace &lt;EM&gt;ippiFilterMaxBorder_8u_&lt;/EM&gt;C1R by &lt;EM&gt;ippiDilateBorder_8u_C1R&lt;/EM&gt; in the above example with all values of the structuring element (mask) set to 1. The mask is passed to &lt;EM&gt;ippiMorphologyBorderInit before&lt;/EM&gt; calling the dilate function.&lt;/P&gt;

&lt;P&gt;Best regards,&lt;/P&gt;

&lt;P&gt;Norbert&lt;/P&gt;</description>
      <pubDate>Thu, 30 Mar 2017 09:45:11 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/FilterMinBorder-FilterMaxBorder/m-p/1063037#M24246</guid>
      <dc:creator>Cueppers__Norbert</dc:creator>
      <dc:date>2017-03-30T09:45:11Z</dc:date>
    </item>
    <item>
      <title>Hi Norbert,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/FilterMinBorder-FilterMaxBorder/m-p/1063038#M24247</link>
      <description>&lt;P style="word-wrap: break-word; font-size: 12px;"&gt;Hi Norbert,&lt;/P&gt;

&lt;P style="word-wrap: break-word; font-size: 12px;"&gt;Thank you for the information! You used the function without the descriptor "I" for in-place operation. It is not guaranteed that a function without "I" descriptor works correctly for in-place operation, IPP function is intended to work in not-in-place mode by default. So I do not recommend using&amp;nbsp;&lt;SPAN style="font-size: 12px;"&gt;a function without "I" descriptor for in-place operations.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P style="word-wrap: break-word; font-size: 12px;"&gt;Best regards,&lt;BR /&gt;
	​Valentin&lt;/P&gt;</description>
      <pubDate>Mon, 10 Apr 2017 09:20:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/FilterMinBorder-FilterMaxBorder/m-p/1063038#M24247</guid>
      <dc:creator>Valentin_K_Intel</dc:creator>
      <dc:date>2017-04-10T09:20:00Z</dc:date>
    </item>
    <item>
      <title>Hi Valentin,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/FilterMinBorder-FilterMaxBorder/m-p/1063039#M24248</link>
      <description>&lt;P&gt;Hi Valentin,&lt;/P&gt;

&lt;P&gt;thanks for your reply. But I&amp;nbsp;cannot find&amp;nbsp;the appropriate&amp;nbsp;function "ippiFilterMaxBorder_8u_&lt;STRONG&gt;C1IR&lt;/STRONG&gt;" in the header files.&lt;/P&gt;

&lt;P&gt;Best regards,&lt;BR /&gt;
	Norbert&lt;/P&gt;</description>
      <pubDate>Mon, 10 Apr 2017 14:11:58 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/FilterMinBorder-FilterMaxBorder/m-p/1063039#M24248</guid>
      <dc:creator>Cueppers__Norbert</dc:creator>
      <dc:date>2017-04-10T14:11:58Z</dc:date>
    </item>
    <item>
      <title>The in-place variant of the</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/FilterMinBorder-FilterMaxBorder/m-p/1063040#M24249</link>
      <description>&lt;P style="word-wrap: break-word; font-size: 12px;"&gt;The in-place variant of the functions ippiFilterMaxBorder_8u_C1R&amp;nbsp;is absent in &lt;SPAN style="font-size: 12px;"&gt;IPP 2017 Update 2&lt;/SPAN&gt;. You can submit an application via Intel(R) Premier Support to request this functionality.&lt;/P&gt;

&lt;P style="word-wrap: break-word; font-size: 12px;"&gt;Best regards,&lt;BR /&gt;
	​Valentin&lt;/P&gt;</description>
      <pubDate>Mon, 10 Apr 2017 16:17:28 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/FilterMinBorder-FilterMaxBorder/m-p/1063040#M24249</guid>
      <dc:creator>Valentin_K_Intel</dc:creator>
      <dc:date>2017-04-10T16:17:28Z</dc:date>
    </item>
  </channel>
</rss>

