Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Azimuthal Fourier transform #201

Open
zubairy opened this issue Apr 15, 2019 · 5 comments
Open

Azimuthal Fourier transform #201

zubairy opened this issue Apr 15, 2019 · 5 comments
Labels
documentation Hacktoberfest beginner friendly task / part of Hacktoberfest question/support

Comments

@zubairy
Copy link

zubairy commented Apr 15, 2019

Postpic version v0.4 run on python 2.7.15 (Anaconda), GCC 7.3.0

Dear developers,

I‘ve seen this repo for a long time but only recently started using it. I found it very convenient for my epoch data processing, especially the fft() calculating the high-harmonic spectrum. I open this issue for wondering that does this fft() can by somehow handling the orbital angular momentum (OAM) spectrum, as described by Eq. (1)-(3) in this reference.

I've tried to transfer the EM field to polar coordinate, and then do the fft(), but seems haven't got the expected OAM spectrum yet.

Regards,
Lingang ZHANG

@Ablinne
Copy link
Collaborator

Ablinne commented Apr 16, 2019

I had no trouble implementing Eq. (3) from your reference using fft(), see
FFT.pdf. Maybe your problem lies elsewhere?

@zubairy
Copy link
Author

zubairy commented Apr 19, 2019

@Ablinne Hi, sorry for response late. Inspired by your comment, these days I tried and got the reasonable azimuth fft spectrum of the field, thanks!

@zubairy zubairy changed the title Angular Fourier transform Azimuthal Fourier transform Apr 19, 2019
@zubairy zubairy closed this as completed Apr 19, 2019
@skuschel
Copy link
Owner

@zubairy I was wondering if you azimuth fft spectrum of the field is something we should permanently add to postpic. I assume you have used your function by now repeatedly. If its too much work for you to contribute to the postpic codebase directly, you can also add a demo python file or jupyter notebook directly to this issue. So we could discuss if it should be added and where. Thanks a lot!

@zubairy
Copy link
Author

zubairy commented Apr 16, 2021

Dear Stephan,

Thank you for considering amending this into postpic. I attached a demo python script azimuthal_fft_demo.txt, in which an electric field containing two Laguerre-Gaussian modes (ref to https://doi.org/10.1364/AOP.3.000161) is constructed and then filter one of them out by azimuth fft and inverse fft. We done this by transform the field to polar, do fft in polar coordinate, and then transform back to Cartesian (Issue #203).

As you can see in the demo, this can only process the 2D data. For the 3D field, I use loop to select slices and repeat this process. Please check if my demo file runs correctly and consider if it is worth to be added into postpic.

Regards,
Lingang

pp.version: v0.4+150.g59b1823.dirty
image

@skuschel
Copy link
Owner

Dear Lingang, thanks a lot for the script and the plots! Thats pretty interesing. Since there is no 3D version, I will need to see if there is much benefit to add it directly, but it can definitely become an exampe file in https://github.com/skuschel/postpic-examples

Best Regards
Stephan

@skuschel skuschel reopened this Apr 16, 2021
@skuschel skuschel added the Hacktoberfest beginner friendly task / part of Hacktoberfest label May 30, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Hacktoberfest beginner friendly task / part of Hacktoberfest question/support
Projects
None yet
Development

No branches or pull requests

3 participants