-
Notifications
You must be signed in to change notification settings - Fork 41
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
QT GUI - complex constraints (master ticket) (Trac #1135) #1376
Comments
Trac update at Issues 2. and 3. are both based on the initial decision to support two models for intermodel constraints. I agree with 1., as discussed with Torin elsewhere. |
Trac update at |
Trac update at
to:
Replying to [comment:1 piotr]:
For 3. it still only uses 2 models, it would just be nice to have a 'generic' dialog box in which you can select the 2 models you want to use. Re issue 2., even if you use 2 parameters from the same model on the right-hand side it breaks, e.g. |
Trac update at Replying to [comment:3 tcbennun]:
Hmm One potential scenario this could be useful is when there are many model pages displayed and the user wants to navigate between them without having to ctrl-click in the list potentially making mistakes by mis-clicking.
with the checkbox disabled.
This is much less confusing than separate dialogs with different content.
Again, wrong initial assumption on what the requirements were. Yes - this needs to be fixed. |
Trac update at Sounds good! This is kinda just details, but I was also thinking that the ctrl-click interface is possibly a little unnecessary. Maybe simply clicking a fit page in the list could select it, while retaining the previous selection. (Also might be necessary to forcibly limit the number of selected fit pages to two, i.e. if two are already selected, selecting another one would automatically deselect the 'oldest' selected page. Currently if you select more than two fit pages, the dialog simply doesn't appear.) |
Trac update at Replying to [comment:5 tcbennun]:
I would like to retain multiple selections for the "Select/deselect pages for fitting" functionality. |
Trac update at Replying to [comment:6 piotr]:
|
Trac update at OK to summarise, there are two functionalities which both involve selecting Fitpages, which both have to be obvious to the user: (a) which of possibly many Fitpages are to be included in the simultaneous fit when they hit the Fit button on the simultaneous fit tab. (b) which two fitpages are involved in a constraint that a user wants to set up. [ Note, due to horrible issues with polydispersity integrals we do not allow a constraint within a single Fitpage, and suggest instead that the user writes a custom version of the model to acheive this.] Personally I like the idea that by use of drop downs etc an equation appears in an editable box e.g.
which can then be further customised by the user e.g to become
with an "OK" or "add this constraint" button when finished editing. [Note, suspect inequality constraints need some further work in fitting engines, so should not actually appear in 5.0, see #560] |
A few of us ought to test constraints in sasview 5, both within a single fit page and between fit pages when fitting simultaneous data sets. Then the new system will need some documentation. |
[ASIDE - I am also curious as to how sasview appiles the constraints when doing e.g. L-M fit, does it find the derivatives of I(Q) for all parameters involved, then tie the derivatives, or does it apply the constraints after shifting a parameter value to find that derivative of I(Q) in one shot? ] |
Here is a project with core, drop & shell microemuslions contrasts, and polydispersity on some of the radii, rename .txt to .json The chi2 values should be 42.163, 52.486, 24.009 respectively. Continuing previous list of requests & observations:
|
L-M finds Jacobian using numerical differentiation at every Q point independently, each wrt to the fitted parameters, whatever they are. That is to say, the constraints are automatically included in the derivative calculation. Similarly for DREAM: the constraints are part of the model, and so their effects are included in the posterior distribution. - Good, as I expected, thank you! |
Don't know where this JSON is coming from (some sort of json pickler?), but you may want to set it so that it saves numpy array data as lists of numbers rather than binary. That will allow you to process the data using a variety of JSON tools and languages rather than specifically python with numpy. |
Here is a project with core, drop & shell microemuslions contrasts, and polydispersity on some of the radii, rename .txt to .json Don't know where this JSON is coming from (some sort of json pickler?), but you may want to set it so that it saves numpy array data as lists of numbers rather than binary. That will allow you to process the data using a variety of JSON tools and languages rather than specifically python with numpy. The json is of course a "save project" from 5.0 - suggest we ask Piotr & Wojtek. However the messy binary is some meta data, not used in sasview, specifically here for tof transmissions, as pulled in from the cansas format xml data file, see for example AOT_Microemulsion-Core_contrast.xml in the sasview test data folder. |
Closing this as out of date now, need to test constrained multi-set projects again. |
See #1588 mentioned above for a more up to date test data set. |
In the QT GUI, there are some issues with the complex constraints functionality.
Possible solutions to the above problems are, respectively:
I have some agreement with Richard and Piotr on this, so far, and will add updates to this ticket in the next few days.
(I'm putting this in the beta approx. work package but feel free to move it, I'm not sure where it should go...!)
Migrated from http://trac.sasview.org/ticket/1135
The text was updated successfully, but these errors were encountered: