Skip to content

DevNotes_Projects_McSASIntegration

Ricardo M. Ferraz Leal edited this page Apr 11, 2019 · 6 revisions

McSAS Integration Project

There is a desire to incorporate McSAS into SasView as another optimization tool for the users without having to install and run a separate package. From the development and maintenance perspective this should also simplify keeping all the features working and updated in a consistent manner.

McSAS fits data using an MC algorithm to extract a parameter distribution. For example for a system of spheres, it will return a distribution of sphere sizes with minimal a priori information. As such it most resembles an optimizer in SasView which optimized the center and polydispersity of a parameter. The integration thus probably should involve changing the optimization framework in SasView to allow a different optimization engine per FitPage and provide McSAS as an optimizer. Care needs to be taken with how the parameters are presented in this case as McSAS always optimizes scale and background and otherwise always fits a polydispersity — so there may need to be a switching of GUI for parameter set ups. Finally the output needs to be fed back so that a fit can continue using a different optimizer but maintaining the McSAS distribution output as a fixed array polydispersity on that parameter. Of course the primary output of McSAS would be the plots of the distribution of the parameters which actually should use the underlying infrastructure created for ticket SasView/sasview#246 .

Tasks

We can take a stepwise approach where each part could be worked on independently. For example number 2 and 4 would be useful independently of integrating or not McSAS.

  1. Get McSAS running as an optimizer within SasView
  2. Build infrastructure to plot distribution of a parameter
  3. Output McSAS "population" to work as an array distribution
  4. Change UI to allow separate optimizer choice in each fit page
  5. Refine UI for ease of use of McSAS fitting and switching between regular fitting vs McSAS fitting.

Tickets

Milestone: SasView 4.2.0 (1 match)

Ticket Resolution Summary Owner Reporter
SasView/sasview#1209 fixed more problems with math in plugins pkienzle butler

Milestone: SasView 4.2.1 (1 match)

Ticket Resolution Summary Owner Reporter
SasView/sasview#1236 fixed Incorrect (and confusing) presentation of dQ from data in instrumental smearing section GitHub <[email protected]> butler

Milestone: SasView 5.0.0 (2 matches)

Ticket Resolution Summary Owner Reporter
SasView/sasview#1218 python old buffer interface deprecated in python 3 pkienzle
SasView/sasmodels#186 Expose volume calculation in SasModels pkienzle toqduj

Milestone: SasView 4.3.0 (7 matches)

Ticket Resolution Summary Owner Reporter
SasView/sasview#1259 parallelize polydispersity loops pkienzle
SasView/sasview#1253 Add warning to smearing sizer in fitpage when dq is too large butler
SasView/sasview#1249 fixed log scale 2D data with zeros and negative values not plotted correctly GitHub <[email protected]> pkienzle
SasView/sasview#1248 custom_config.py and categories.json are overwriten when running from run.py wojciech
SasView/sasview#1237 don't create .pyc files in ~/.sasview pkienzle
SasView/sasview#1222 be_polyelectrolyte model needs proper validation check butler
SasView/sasview#1207 Limit of core_shell_cylinder should be exactly the same as hollow_cylinder butler

Milestone: SasView 5.1.0 (5 matches)

Ticket Resolution Summary Owner Reporter
SasView/sasview#1289 Add McSAS as optimizer ibressler ibressler
SasView/sasview#1288 build fitting options from optimizer defaults automatically ibressler ibressler
SasView/sasview#1287 abstract optimizer handling ibressler ibressler
SasView/sasmodels#187 Allow "polydispersity" to be defined by series/sets of uncorrelated, discrete points toqduj
SasView/sasview#246 fixed Ability to plot the distribution functions from polydispersity ajjackson

Milestone: SasView Next Release +1 (1 match)

Ticket Resolution Summary Owner Reporter
SasView/sasview#1213 array distribution not respecting hard limits on parameter pkienzle

Milestone: sasmodels 1.0 (1 match)

Ticket Resolution Summary Owner Reporter
SasView/sasview#1227 improve implementation of Si and JN pkienzle
Clone this wiki locally