Open yudhapane opened 10 years ago
Fixed, can you check it now @forcaeluz ?
@forcaeluz I won't merge this one now. I'll give you the freedom to merge this at your convenience. There doesn't seem to be a problem in terms of the functionality but more in terms of programming.
@yudhapane: I cannot merge this branch as it is now. See the comments. (And take a look at the dm_controller branch). And another question, how can I increase the impact of the DM? It seems that if the aberration is too big, the mirror has too little effect to actually see it on the simulation.
@forcaeluz: I am working on correcting every comment you gave now. So please give me more time until this evening to integrate my branch with the current master. If you create another branch for dm, it means my work this entire time would mean nothing.
No worries. It is still your algorithm only organised in a different way, so that it can be easily used in the main. And the analysis you made of the mirror is also important. Let me know when you are ready. Also take a look at my last pull request for suggestions how to separate the code, and make it more readable. If you have questions please ask them.
@forcaeluz, I have modified the code to make it as the same structure (more or less) to your suggestion. However, when I try to run, it is still not working (perhaps you can check). In the main.py script, the wfs accepts an input of wfRes, which I think is not possible because wfRes comes after dm. What do you think @NKant13 ?
To the question about the wfs funtction accepting wfRes in the main, this is oke because it is the phase of the incoming wavefront only adjusted by the DM, which is normal.
@yudhapane: Replying your question. If you interpolate the data to have the same size as the wavefront generated by wfg, then you can subtract one wavefront from the other. I cannot run your code right now because I'm at my work, and not at home, but I suspect that your wRes cannot be calculated as your wfDM and wf are not from the same dimension.
In wfg and wfs we use only the phase of the wavefront and not the field distribution of the wavefront it self, so look out you dont switch those.
What do you mean by that?
If I'm not wrong the DM changes the phase of the wavefront. But the influence is only calculated at some points (The points given by the reconstruction algorithm). So you cannot subtract the phases from the incoming wavefront from the phases from the DM.
I agree that the naming convention can be quite confusing, but in general when we talk about wavefront subtraction, comparison, plotting, etc, we are talking about the phases of the wavefront right?
Correction i meant you shouldnt switch the field distribution with the phase, and yes to you question.
It was more a point that maybe could be going wrong for Yudha.
What's the status of this? Both #81 and #93 do not seem to work when running main.py. Which is the one I should work on?
Strange that #93 is not working. But that was only a branch I was using to try to get the controller in the loop. I have an exam on Wednesday, and will take a look after that. This branch is the officially supported by @yudhapane.
No worries. Just wanted to know which one is more advanced in terms of functionalities so that I fix the most updated one.
On 30 June 2014 15:50, forcaeluz notifications@github.com wrote:
Strange that #93 https://github.com/faitdivers/pyao/pull/93 is not working. But that was only a branch I was using to try to get the controller in the loop. I have an exam on Wednesday, and will take a look after that. This branch is the officially supported by @yudhapane https://github.com/yudhapane.
— Reply to this email directly or view it on GitHub https://github.com/faitdivers/pyao/pull/81#issuecomment-47533426.
Haven't seen updates on this branch. @yudhapane, are you still working on it?
The branch includes test file (test.py). It works fine if we use the test file (with given lenslet position). However, calling it from main.py still needs parameters from others. Furthermore, the dm function now requires additional parameter (paramsActuator) in order to work.