Skip to content

Finish Shape2SAS plugin model functionality #3797

@klytje

Description

@klytje

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:

  1. Separate the constraints GUI into multiple windows (imports, available parameters, constraint code; see shape2sas plugin models #3544 (comment)).
  2. Somehow visualize the constraints. Perhaps by making a small animation where each parameter is shifted by +-10% or something like that?
  3. 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).
  4. 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)
  5. 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.
  6. 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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    EnhancementFeature requests and/or general improvements

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions