The function NormalizedCorrelationImageFilter::SetTemplate accepts a OutputNeighborhoodType&amp; .<div><br></div><div><a href="http://www.itk.org/Doxygen/html/classitk_1_1NormalizedCorrelationImageFilter.html#a162b8d1f6412e4466fb39ffb85a4fa74">http://www.itk.org/Doxygen/html/classitk_1_1NormalizedCorrelationImageFilter.html#a162b8d1f6412e4466fb39ffb85a4fa74</a></div>
<div><br></div><div>That type doesn&#39;t make sense, as this is an input argument. Shouldn&#39;t it be an InputNeighborhoodType (though that type doesn&#39;t seem to be defined).<br><br>I ran into this problem when doing:</div>
<div><br></div><div><div>  typedef itk::CovariantVector&lt;float, 3&gt; FloatVectorType;</div><div>  typedef itk::Image&lt;FloatVectorType, 2&gt; FloatVectorImageType;</div><div><br></div><div><div>  itk::ImageKernelOperator&lt;FloatVectorType&gt; kernelOperator;</div>
<div>  kernelOperator.SetImageKernel(extractFilter-&gt;GetOutput());</div><div>  kernelOperator.CreateToRadius(radius);</div></div><div><br></div><div>  typedef itk::NormalizedCorrelationImageFilter&lt;FloatVectorImageType, MaskType,</div>
<div>                                                FloatImageType&gt; CorrelationFilterType;</div><div>  CorrelationFilterType::Pointer correlationFilter = CorrelationFilterType::New();</div><div>  correlationFilter-&gt;SetInput(reader-&gt;GetOutput());</div>
<div>  correlationFilter-&gt;SetTemplate(kernelOperator); // Compiler error: no matching function call to SetTemplate(itk::ImageKernelOperator&lt;itk::CovariantVector&lt;float, 3u&gt; &gt;&amp;)</div><div>  correlationFilter-&gt;Update();</div>
<div><br></div><div>The compiler thinks OutputNeighborhoodType = itk::Neighborhood&lt;float, 2u, itk::NeighborhoodAllocator&lt;float&gt; &gt;] because &#39;float&#39; is the output pixel type.</div><div><br></div><div>Can someone confirm that this seems like a bug?</div>
<div><br></div>David</div>