Skip to content
gonzalezma edited this page Mar 20, 2020 · 11 revisions

Goal: Define priorities, current status and prepare working plan for ILL internship.

Agenda:

  1. Presentation Nicolas Martinez (background, current admin situation, internship dates: April-September 2020?)

  2. Current issues/demands from ILL:

2.1 Thorough testing of UI for constraints, as there are frequent glitches (although not always reproducible). But a clear bug is that once that a constraint has been defined once, the corresponding parameter appears highlighted in the interface even after 'deactivating' the constraint (note that this is only a GUI problem, as the constraint is not applied in the fit). A clear problem with this is when the user decides to add all the constraints before removing those not needed. Furthermore, doing this also sets to 'fittable' those parameters that had not been selected to fit. Related to this, the added parameters that are then deactivated disappear from the 'Complex Constraint' box, so it is not possible to add them again. Conclusion: Need to check and if needed implement an updating mechanism for the whole interface when a constraint is deselected.

2.2 Editing the constraints that appear in the constraint list does not have any effect. This is quite confusing, because the list is editable, but any change is not taken into account (the initial constraint as set in the Complex Constraint box remains in place). An active update is also needed here (otherwise the list should not be editable, except for the possibility of activating/deactivating a constraint).

2.3 Setting many and/or complex constraints through the UI is cumbersome and error prone. Need to add the possibility of uploading a file where the user has defined the desired constraints. Discuss format/style of such file.

2.4 Would like to have relative constraints, e.g: M2.thickness < M1.thickness * 0.9. Is this possible (with a reasonable effort)? Otherwise this can be done using the reparameterization and adding extra factors (as in lmfit). E.g: M2.thickness = M1.thickness * factor, and 0 < factor < 0.9.

2.5 Would like to have several parameters ‘encompassed’ into a single global parameter to which polydispersity is applied. E.g. I have thickness1, thickness2, thickness3, but I don’t want to have 3 independent polydispersity loops. Instead I would define a total polydispersed thickness and the 3 thickness will change accordingly. Again, possibly the easiest way is to use the reparameterization.

  1. Other work / needs (Richard, ISIS, etc.)

3.1 Reparameterize works and it has been used by Richard to e.g. rewrite core_shell_ellipsoid to vary radius and thickness inside a single polydispersity loop (i.e. point 2.5). The bug that made that non-translated params did not appear in the UI has been solved now. To do - see also Richard's mail or Notes: Further testing / Simple enough for average user? / This creates multiple models. Should we have a single model with sub-levels to choose the preferred form? (See https://github.com/SasView/sasmodels/issues/215)

3.2 S(Q), beta approximation and constraints.

  1. Related issues:

https://github.com/SasView/sasview/issues/1376 --> Pull request (DONT MERGE) https://github.com/SasView/sasview/pull/1373

https://github.com/SasView/sasmodels/pull/211 (reparameterize, done)

https://github.com/SasView/sasmodels/pull/211 (pegylated vesicle model, new model, S(Q)?)

https://github.com/SasView/sasmodels/issues/215 (point 3.1)

https://github.com/SasView/sasview/issues/1470 (point 3.2)

https://github.com/SasView/sasmodels/issues/182 (pass non-fitted params back from models)

https://github.com/SasView/sasview/issues/978 (doable with reparameterize, close?)

https://github.com/SasView/sasview/issues/621 (relational operator vs assignment operator, document clearly and close?)

Clone this wiki locally