[Insight-users] Problem with Multiplying Two Complex Images, and a big thanks to ITK community for this extensive body of work!
Luis Ibanez
luis.ibanez at kitware.com
Tue Dec 2 18:08:33 EST 2008
Hi Saurabh,
Please look at the example:
Insight/Examples/Filtering/
FFTImageFilterFourierDomainFiltering.cxx
It illustrates how to multiply the FFT of two images
in order to achieve in the frequency domain the
equivalent of convolution in the spatial domain.
Regareds,
Luis
---------------------
Saurabh Sethi wrote:
> Hi All,
>
> I recently started using the ITK after a lot of word of mouth publicity
> from peer groups :)
>
> And I must say that im very impressed by it.
>
> Have been going through all of the Software guide and Message Archives
> since some time now.
>
> I have a bit of problem with the FFT / IFFT implementation. There is
> some "Access Violation" that I'm unable to fix since some time.
>
> Maybe I have used the Complex Image in a wrong ( read Silly) way which
> I'm unable to debug now.
>
> It would be great if someone could help ->
>
>
>
> I need to convolve two images (one is the test image, and other is my
> data image)
>
> For this, I had thought of first doing the FFT, then Multiplying both
> the images and taking the IFFT in the end.
>
>
>
> Here is my pseudo code:
>
>
>
> read image 1 (im1)
>
> Padd the image to nearest power of 2.
>
> compute its FFT. (I'm using FFTRealToComplexConjugateImageFilter)
>
>
>
> read image 2. (im2)
>
> Padd the image to the same power of 2.
>
> compute its FFT.
>
>
>
> Multiply both the images
>
> MultiplyImageFilter->SetInput1(fft_input);
>
> MultiplyImageFilter->SetInput2(fft_weight);
>
> MultiplyImageFilter->Update();
>
>
>
> IT is here that this strange error occurs:
>
>
>
> Unhandled exception at 0x0046193a in ItkScatter.exe: 0xC0000005: Access
> violation reading location 0x61371000.
>
>
>
> And the code breaks in at this place in file
> itkDefaultPixelAccessorFunctor.h:
>
> inline const ExternalPixelType Get( const InternalPixelType & input ) const
>
> {
>
> return m_PixelAccessor.Get( input );
>
> }
>
>
>
>
>
> Below is the relevant part of the code:
>
>
>
> typedef itk::FFTRealToComplexConjugateImageFilter<pixelTypeC, dim2D>
> FFTFilterType;
>
> typedef itk::FFTComplexConjugateToRealImageFilter<pixelTypeC, dim2D>
> IFFTFilterType;
>
> typedef FFTFilterType::OutputImageType ComplexImageType;
>
> typedef itk::MultiplyImageFilter<ComplexImageType, ComplexImageType,
> ComplexImageType>MultiplyImageFilterType;//>
>
>
>
> constPadImage->SetPadLowerBound(paddin);// specifying padding options
>
> constPadImage->SetPadUpperBound(paddin);
>
> constPadImage->SetInput(inputImage_C); // set padding filter input.
>
> fftFilter->SetInput(constPadImage->GetOutput()); //set the fft.
>
> ComplexImageType::Pointer fft_input = fftFilter->GetOutput(); // fft
> filter done on image.
>
> fftFilter->Update();
>
>
>
> constPadImage2->SetPadUpperBound(paddin_wt_upper);
>
> constPadImage2->SetInput(inputImage2); // set padding filter input.
>
> fft_wtFilter->SetInput(constPadImage2->GetOutput()); //set the fft.
>
> ComplexImageType::Pointer fft_weight= fft_wtFilter->GetOutput();// fft
> filter done on image.
>
> fft_wtFilter->Update();
>
>
>
> MultiplyImageFilter->SetInput1(fft_input);
>
> MultiplyImageFilter->SetInput2(fft_weight);
>
> MultiplyImageFilter->Update() // Error occurs here.
>
> ifftFilter->SetInput(MultiplyImageFilter->GetOutput());
>
> ifftFilter->Update();
>
>
>
> Hi,Many thanks
>
> Saurabh
>
> New ITKer..
>
>
>
>
>
>
>
> 2008/11/21 chensiqi <pidanchen at hotmail.com <mailto:pidanchen at hotmail.com>>
>
>
> Hi, ITKers,
>
> Does anybody know how to load sequence items using ITK? Such as "ROI
> Contour Sequence".
> Or if you know how to do it in GDCM, and integrate into ITK, that
> will also be very helpful.
>
> Thanks
> Siqi
>
>
> ------------------------------------------------------------------------
> 更多热辣资讯尽在新版MSN首页! 立刻访问! <http://cn.msn.com/>
>
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org <mailto:Insight-users at itk.org>
> http://www.itk.org/mailman/listinfo/insight-users
>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users
More information about the Insight-users
mailing list