[Insight-developers] Fwd: Convolution on Complex data

Phillip George Dayan Ward pgwar1 at student.monash.edu
Mon May 6 18:49:24 EDT 2013


Hey Matt,

Thanks for the info. I'll have a look at the fixes.

I have attempted multiplying FFTs also and found issues with the FFT filter
which I am currently working through.

Cheers,
Phil


On 7 May 2013 03:36, Matt McCormick <matt.mccormick at kitware.com> wrote:

> Hi Phil,
>
> I have not tried, but in Git master there were recently fixes to
> NumericTraits for std::complex.
>
> Secondly, you may want to try multiplying FFT's instead.
>
> HTH,
> Matt
>
> On Sun, Apr 28, 2013 at 11:23 PM, Phillip George Dayan Ward
> <pgwar1 at student.monash.edu> wrote:
> > Hey ITK Dev,
> >
> > I've had no luck on the user list with this question. Does anyone have
> any
> > experience with using ConvolutionImageFilter with complex datasets and
> > complex kernels?
> >
> > I'm receiving the following error during the compile process just from
> > instantiating the filter with the type std::complex<float>
> >
> > ITK/Modules/Core/Common/include/itkPixelTraits.h:49:60: error: no member
> >       named 'Length' in 'std::complex<double>'
> >   itkStaticConstMacro(Dimension, unsigned int, TPixelType::Length);
> >
> > I'm also receiving:
> >
> > ITK/Modules/Core/Common/include/itkPixelTraits.h:52:32: error: no type
> named
> >       'ValueType' in 'std::complex<double>'
> >   typedef typename TPixelType::ValueType ValueType;
> >
> > ITK/Modules/Core/Common/include/itkNeighborhoodInnerProduct.hxx:52:7:
> error:
> >       cannot convert 'const std::complex<double>' to
> 'OutputPixelValueType'
> > (aka 'double') without a conversion
> >       operator
> >       static_cast< OutputPixelValueType >( *o_it ) *
> >
> >
> ITK/Modules/Filtering/ImageStatistics/include/itkStatisticsImageFilter.hxx:288:51:
> > error:
> >       invalid operands to binary expression ('RealType' (aka
> > 'complex<double>') and 'int')
> >              / ( static_cast< RealType >( count ) - 1 );
> >
> >
> ITK/Modules/Filtering/ImageStatistics/include/itkStatisticsImageFilter.hxx:329:16:
> > error:
> >       invalid operands to binary expression ('PixelType' (aka
> > 'std::complex<double>') and 'PixelType')
> >     if ( value > max )
> >
> > code:
> >           typedef itk::Image< std::complex<double>, 4> ComplexImageType;
> >
> >           ComplexImageType::RegionType region;
> >           region.SetSize(0,15);
> >           region.SetSize(1,30);
> >           region.SetSize(2,100);
> >           region.SetSize(3,100);
> >
> >           ComplexImageType::RegionType kernelRegion;
> >           kernelRegion.SetSize(0,1);
> >           kernelRegion.SetSize(1,30);
> >           kernelRegion.SetSize(2,100);
> >           kernelRegion.SetSize(3,100);
> >
> >           ComplexImageType::Pointer image = ComplexImageType::New();
> >           image->SetRegions(region);
> >           image->Allocate();
> >           image->FillBuffer(std::complex<double>(1.0,1.0));
> >
> >           ComplexImageType::Pointer kernel = ComplexImageType::New();
> >           kernel->SetRegions(kernelRegion);
> >           kernel->Allocate();
> >           kernel->FillBuffer(std::complex<double>(1.0,1.0));
> >
> >           typedef itk::ConvolutionImageFilter<ComplexImageType>
> > ConvolutionFilterType;
> >           ConvolutionFilterType::Pointer convolutionFilter =
> > ConvolutionFilterType::New();
> >           convolutionFilter->SetInput(image);
> >           convolutionFilter->SetKernelImage(kernel);
> >           convolutionFilter->Update();
> >
> > I have the same errors in 3D, 2D and 1D.
> >
> > Cheers,
> > phil
> >
> >
> >
> > _______________________________________________
> > Powered by www.kitware.com
> >
> > Visit other Kitware open-source projects at
> > http://www.kitware.com/opensource/opensource.html
> >
> > Kitware offers ITK Training Courses, for more information visit:
> > http://kitware.com/products/protraining.php
> >
> > Please keep messages on-topic and check the ITK FAQ at:
> > http://www.itk.org/Wiki/ITK_FAQ
> >
> > Follow this link to subscribe/unsubscribe:
> > http://www.itk.org/mailman/listinfo/insight-developers
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-developers/attachments/20130507/7814aa7d/attachment.htm>


More information about the Insight-developers mailing list