Opened 3 years ago

Last modified 17 months ago

#346 assigned enhancement

SESANS into GUI Design

Reported by: pkienzle Owned by: ajj
Priority: major Milestone: SasView Next Release +1
Component: SasView Keywords:
Cc: Work Package: SESANS Integration

Description (last modified by butler)

In order to include SESANS fully in all parts of the GUI with plotting and fitting need to agree on the design - first visually then code/module wise. example issue to look into:

  1. How to integrate w/ SANS fitting in GUI
  2. How to identify if data is SESANS (in correlation space) or SANS (reciprocal space) … and how to make clear graphically
  3. If correlation space models are available how to choose what models to present to user seemlessly — note that for full power scripting would always be the way to go but for GUI want to make transparent and easy for the user
  4. What modules will need to be refactored and what new modules created in order to support above?
  5. Should we start by making an independent SESANS perspective in order to explore the possibilities first without breaking trunk?

Once this is done tickets for the actual work will need to be generated

Change History (4)

comment:1 Changed 21 months ago by butler

  • Milestone changed from SasView Next Release +1 to SasView 4.0.0
  • Priority changed from minor to blocker

Clearly the start of this is labelled as core task for 4.0. Could be labelled critical since we don't have to complete, but will mark it blocker as it is the overarching ticket (need subtickets) for this code camp

comment:2 Changed 21 months ago by butler

  • Description modified (diff)
  • Owner set to ajj
  • Status changed from new to assigned
  • Summary changed from SESANS into GUI to SESANS into GUI Design

comment:3 Changed 20 months ago by krzywon

Work that has been done so far:

(1) A SESANS data reader is available so SESANS data can be loaded in to SasView using the normal loader.Load() method.
(2) SESANS data have unique attributes in the SESANS1D data to distinguish it from SANS data. A check is already done in sasmodels.direct_model.DataMixin, but would need to be integrated into the main fitting loop.
(3) To plot the data, plotting methods are built into sasmodels.data.py. The fit currently has two options and is based on the SESANS data - {z} vs. {P/P0} or {z} vs. {(Log (P/P0))/lambda2}.
(4) A general Hankel transform and one with a finite angle acceptance are written in models.sesans.py and are being tested. A Cosine2D transformation is in the works.
(5) A quick script (sasmodels.example.fit_sesans.py, which accepts a parameters.py file, calls sasmodels.example.sesansfit.py) is available that loads in a data set, model and model parameters and feeds that to the bumps gui.

Work that is needed:

(1) Add the SESANS data type check to the main loop and feed fitting through the transform in the main sasmodels fitting loop.
(2) Add a checkbox to the fit page to say if the data should be interpreted as SESANS or not to perform transforms on models for testing purposes. Default the checkbox to the appropriate value, but keep it variable.
(3) Add a section to the fit page to set the SESANS transform parameters (transform module and acceptance angle). Make defaults based on the SESANS data (already done in sesans.py) but keep all variable.
(4) Before any of this is done, make sure all available transforms are tested thoroughly.

comment:4 Changed 17 months ago by butler

  • Milestone changed from SasView 4.0.0 to SasView Next Release +1
  • Priority changed from blocker to major

This ticket was also blocker as it was the subject of one of the team's work at code camp but GUI for SESANS was never intended to be in 4.0 release. As we are well out of code camp and release 4.0 alpha is out am now moving to next +1

Paul

Note: See TracTickets for help on using tickets.