-
Notifications
You must be signed in to change notification settings - Fork 0
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
Refactor BostonDM to only have controlled actuator on data streams #123
Comments
To formalize nomenclature, we could rename format 2 "commands" and format 3 "maps". Additionally, we can make the DM maps 3D, with the active/controlled actuators for each map (defined by the dm_mask, also 3D) being concatenated to form the command. This would make the proxy fully data-driven as well. |
@ivalaginja Since THD2 has internal functions to convert DM maps to surface figures, I presume based on measured influence functions / calibration, would THD2 consider moving this functionality to the BMC DM proxy? |
@ehpor yes to any changes that generalize the DM proxy and sending commands to the DMs. I def want to move more things into catkit2 wherever possible, especially if it means that we do not have to write a completely new DM service for THD2. However, I have to admit you lost me a little bit in your explanations - I list a couple of questions below this paragraph to make sure I understand what exactly you are aiming at. Could you confirm that the below statements are correct?
And a question: |
@ivalaginja Answers to your questions:
|
Thanks a lot @ehpor! Sounds like a good way forward. Would you like me to get started on this? I still don't know exactly what kind of drivers we have - the current infrastructure sends separate commands for our two DMs to the dll, which communicates with two separate cards. It sounds like it's just a matter of identifying the right way to send commands, we are currently looking into it. Also, would you remind me what the latest status is on As for point 6., ah yes, I see what you mean. Raphael G and I literally talked about this today. We indeed have this (the lecture is still outstanding for me lol), but this is not used in the hardware controls. If you still think this would be useful to have in the proxy, I can certainly have a look at converting the relevant IDL code. |
I can give it a shot, moreso to flesh out some of the ideas that are only in my head atm. (Also related to extracting a DmService base class.)
As you know, we're using the Python API provided by BMC. I'm 100% certain you are not using that rn. But I'm unsure of what Raphael/Pierre/Remi are comfortable with, with switching.
I think you linked the wrong issue/PR?
I have never seen the code, only the result, so I don't know if we can reproduce something with the data we have at STScI for our DM. It would be nice to have. As such, I don't know the fidelity of that model either. But since Johan and the multiconjugate AO group at Paris have extensive experience with DM calibration, I wouldn't be surprised if it's more sophisticated than simple influence functions / gain, but also if it requires calibration data that we have never taken. A separate issue in any case. |
This would remove one of three formats for DM commands. All current DM command formats are:
After this change, only the last two would remain. This would make it simpler to distinguish between them, since one of them is 2D and the other is 1D. We use format 2 extensively for WFC and format 3 for plotting/display. However, format 1 is only used for communicating with the DM. This could be internalized inside the BMC DM service, being invisible to the outside. The conversion between active/controlled actuators and BMC command can be done purely based on data. This would also make it easier for the THD2 team to use our exact service for their BMC DMs.
The text was updated successfully, but these errors were encountered: