Version 2 (modified by butler, 13 months ago) (diff)

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 #17.

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

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