-
Notifications
You must be signed in to change notification settings - Fork 47
Description
While plugin models are now available (though hidden, see #3544 (comment)), they are unusable for fitting using anything but the rather slow Differential Evolution optimization algorithm. The issue is that the points generated to approximate the shape are random for each iteration, thus breaking all gradient-based algorithms.
The solution to this issue is to rethink how points are generated. One possibility is to fill a large space with randomly generated points once at initialization, and then "choose" only those points within the volume occupied by the shapes at each iteration. Though this will still lead to discrete jumps in the gradient, it will at least make it deterministic and likely once again make fits possible with the gradient-based algorithms.
A number of other suggestions / features that would be useful to have:
- Separate the constraints GUI into multiple windows (imports, available parameters, constraint code; see shape2sas plugin models #3544 (comment)).
- Somehow visualize the constraints. Perhaps by making a small animation where each parameter is shifted by +-10% or something like that?
- Ability to directly link parameters in the right-hand parameter table. Example: "| COMX2 | R1 |" to easily make COMX2 equal to R1 (and similarly for delta-parameters).
- Automatically open the newly generated model in the FitPanel (see e.g. how it is done in the SAXS model: Support for SAXS fitting (v2) #3786)
- Display a warning if the user selects too many points for their calculations, as the window will freeze and be unresponsive until the external scattering calculations are finished.
- Model preview visualization is quite small and has a few issues: i) it is not resizable with the mouse, ii) the zoom factor is unusable because it may be blocked by text, iii) user interaction is generally not great. See shape2sas plugin models #3544 (review)