Community
cancel
Showing results for 
Search instead for 
Did you mean: 
mweissbach
Beginner
133 Views

FFT - convert "PACK"-data to halfcomplex (FFTW) and back

Hello all

I use the IPP 5.1 for several things including the FFT transform of images. For this I receive the results as "pack"-data. I also use the FFTW for running the same programs on other platforms.

My question is:
Is it possible to convert the IPP-Pack-Format to the FFTW-halfcomplex format?
It seems very hard to develop myself this conversion. Maybe there is an existing algorithm... ?

For information about the halfcomplex-format, please see:
http://www.fftw.org/fftw3_doc/Multi_002dDimensional-DFTs-of-Real-Data.html#Multi_002dDimensional-DFT...

Thank you all in advance!

M.W.
0 Kudos
3 Replies
Vladimir_Dudnik
Employee
133 Views

Hello,

there is comment from our expert:
IPP52 betacontains conversions from pack to complex and from complex to pack formats:

IPPAPI (IppStatus, ippiPackToCplxExtend_32f32fc_C1R, (const Ipp32f* pSrc, IppiSize srcSize, int srcStep, Ipp32fc* pDst, int dstStep ))

IPPAPI(IppStatus,ippiCplxExtendToPack_32fc32f_C1R,(const Ipp32fc* pSrc, int srcStep, IppiSize srcSize, Ipp32f* pDst, int dstStep ))

We dont haveintention to support any other external formats - the complex format is universal one and can be used as an intermediate format for any other transforms.

Regards,
Vladimir

mweissbach
Beginner
133 Views

Hi @ all


I solved the problem. The solution is here for all that are interested:

Halfcomplex To Pack:
The block without the left border (and the right corner if the count of elements of a columns is even) can be copied. Be aware of the number of rows by regarding both cases if the count is odd or even.
Handle the left (and maybe the right) border seperatly by arranging the comlex numbers in the order that is given by the scheme in the documentation. At the end the correct values for the edges has to been set.

Pack To HalfComplex:
Copy the inner part of the block (see above). Rearrange the borders. Compute the second part of the data by the conjugated complex numbers of of the upper part. The handling of the borders and later the edges follow.

Only the real-part of numbers in the left and the right corner (FFTW-halfcomplex) are stored in the IPP-packed-Format and cannot be restored by the inverse transform.

I hope this will help, if you face this problem.

Greetings

MW
Vladimir_Dudnik
Employee
133 Views

Thanks a lot for your contribution to the community

Regards,
Vladimir

Reply