-
Notifications
You must be signed in to change notification settings - Fork 61
Description
Hi,
Do not take this as a real feature request but more as a discussion.
Is your feature request related to a problem? Please describe.
It is not related to a problem, but my goal is to be able to use DFTFringe as a system that analyzes igrams without the user directly its GUI. I know that the code is very deeply linked to the UI and generally very stateful, and that using DFTFringe as a library would be a major refactor, which is too big to be suggested here.
Describe the solution you'd like
Leverage QT's websockets system to expose stateful manipulation of the program through a websocket, single-consumer, the websocket process acting as a mutex.
Describe alternatives you've considered
- Command-line use of DFTFringe without instantiating the GUI (absolutely major changes)
- Major refactor to make the code more stateless and independent of the QT GUI (same)
My idea would be able to remotely control DFTFringe to build a system that automates an XYZ table, photographic shots, and analysis, while being usable from a smartphone to keep the user in the loop.
QT's websockets are the "most straightforward" way to get a POC running since it allows to just deal with the stateful nature of the program, and run it on a full linux distro without a screen, while a coordinating system interacts with it through a socket. But it isn't the best engineering solution, more like the most feasible one in the current state.
Would you be interested in a POC ? Or is this so out of scope that I can just do it on my side without taking your time ?
Honestly this is a bit of an XY problem. The real problem would be to be able to leverage DFTFringe's analysis process without the GUI parts. Note that the batch processing feature is already a step in this direction : the code already orchestrates the successive steps that need to be done for analysis.
In any case, happy new year and thanks for all your maintaining and evolution efforts !
I am happy to work on a POC to feed this discussion in any direction