The function NormalizedCorrelationImageFilter::SetTemplate accepts a OutputNeighborhoodType& .<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't make sense, as this is an input argument. Shouldn't it be an InputNeighborhoodType (though that type doesn't seem to be defined).<br><br>I ran into this problem when doing:</div>
<div><br></div><div><div> typedef itk::CovariantVector<float, 3> FloatVectorType;</div><div> typedef itk::Image<FloatVectorType, 2> FloatVectorImageType;</div><div><br></div><div><div> itk::ImageKernelOperator<FloatVectorType> kernelOperator;</div>
<div> kernelOperator.SetImageKernel(extractFilter->GetOutput());</div><div> kernelOperator.CreateToRadius(radius);</div></div><div><br></div><div> typedef itk::NormalizedCorrelationImageFilter<FloatVectorImageType, MaskType,</div>
<div> FloatImageType> CorrelationFilterType;</div><div> CorrelationFilterType::Pointer correlationFilter = CorrelationFilterType::New();</div><div> correlationFilter->SetInput(reader->GetOutput());</div>
<div> correlationFilter->SetTemplate(kernelOperator); // Compiler error: no matching function call to SetTemplate(itk::ImageKernelOperator<itk::CovariantVector<float, 3u> >&)</div><div> correlationFilter->Update();</div>
<div><br></div><div>The compiler thinks OutputNeighborhoodType = itk::Neighborhood<float, 2u, itk::NeighborhoodAllocator<float> >] because 'float' 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>