<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
</style>
</head>
<body class='hmmessage'>
As always, thank you very ... very much Even. Just to make sure I understood your reply correctly,<br>I do the following to set the source_0 and the nodatavalue (passed as argument) <br>after creating the XML for the VRTKernelFilteredSource and set it in the papszMetadata array. <br>The poBand is the RasterBand I get from the VRT dataset.<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; poBand-&gt;SetNoDataValue(noDataValue); <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; poBand-&gt;SetMetadata( papszMetadata, "vrt_sources" );<br><br>Is this right place to set the NoDataValue of the VRTRasterBand?<br><br>For the normalization effect (normalized=1), does it mean that:<br>1- The no data value pixels are ignored <b>AND</b><br>2- The coefficients of valid pixels only are adjusted so that their sum  is equal to 1? <br>If this is the case, then it is exactly the behavior I want! <br><br>With best regards.<br>~Belaid.<br><br>&gt; Date: Sun, 30 Aug 2009 10:12:04 +0200<br>&gt; From: even.rouault@mines-paris.org<br>&gt; To: belaid_moa@hotmail.com<br>&gt; CC: gdal-dev@lists.osgeo.org<br>&gt; Subject: Re: [gdal-dev] VRT KernelFilteredSource and NoDataValue<br>&gt; <br>&gt; Selon Belaid MOA &lt;belaid_moa@hotmail.com&gt;:<br>&gt; <br>&gt; Belaid,<br>&gt; <br>&gt; First, the VRTKernelFilteredSource will only recognize the nodata value if you<br>&gt; set it on the VRTRasterBand (it will not fetch it directly from the<br>&gt; &lt;SourceFilename&gt;)<br>&gt; <br>&gt; When a nodata value is set and found in one of the values in a NxN square, the<br>&gt; value will be ignored. The effect of this depends whether normalized="1" is set<br>&gt; on &lt;Kernel&gt; or not. If normalized=1, the sum of the coefficients is not<br>&gt; incremented for that nodata value, so the normalization will operate only on<br>&gt; valid pixel values. If normalized=0, the nodata value is just ignored<br>&gt; <br>&gt; As far as what happens in the borders is concerned, the code says that : "Fill<br>&gt; in missing areas.  Note that we replicate the edge valid values out.  We don't<br>&gt; using "mirroring" which might be more suitable for some times of filters.  We<br>&gt; also don't mark these pixels as "nodata" though perhaps we should."<br>&gt; <br>&gt; Best regards,<br>&gt; <br>&gt; Even<br>&gt; <br>&gt; &gt;<br>&gt; &gt; Hi everyone,<br>&gt; &gt;     I am using VRT KernelFilteredSource to implement an average filter as<br>&gt; &gt; done in the VRT tutorial. However, I am still unclear on how it handles the<br>&gt; &gt; NoDataValue pixels. Are they too averaged or does it leave them as they are?<br>&gt; &gt; If they are masked,  does do an adjustment for the kernel coefficients to<br>&gt; &gt; compensate for their absence? Another related question, is how does it handle<br>&gt; &gt; the pixels on the borders and the kernel coefficients for those pixels?<br>&gt; &gt;<br>&gt; &gt;    Thank you very very much in advance for any help on these issues.<br>&gt; &gt;<br>&gt; &gt;    With best regards.<br>&gt; &gt; ~Belaid.<br>&gt; &gt;<br>&gt; &gt; _________________________________________________________________<br>&gt; &gt; Stay on top of things, check email from other accounts!<br>&gt; &gt; http://go.microsoft.com/?linkid=9671355<br>&gt; <br>&gt; <br><br /><hr />Faster Hotmail access now on the new <a href='http://go.microsoft.com/?linkid=9677399' target='_new'>MSN homepage.</a></body>
</html>