SasView / sasview

Code for the SasView application.
BSD 3-Clause "New" or "Revised" License
52 stars 41 forks source link

Simultaneous fitting not on same graph #1685

Open butlerpd opened 4 years ago

butlerpd commented 4 years ago

This feature needs to be reinstated.

In SasView 4.x sending several datasets to fitting simultaneously would open multiple fit pages but plot them on one graph. The number that was allowed to go to one graph was limited as I recall to 4 originally but there were demands for more and I believe, but have not tested, that 4.2.2 allows more.

The point is that, for many simultaneous fitting situations, seeing the fits on the same graph is very useful. In particular when fitting SANS and USANS or or two Q ranges where the incoherent background or the scale factor are allowed to float separately (background because of different wavelengths or scale because to allow for uncertainties in the different calibrations etc.) but also for example SAXS and SANS of the same sample. A number of users liked to use it with contrast series as well.

5.x seems to have lost that feature altogether unless it is moved to a different place? This is an important feature for many users and one which recently caused me to revert to 4.2.2 for a particular project. A feature that allows plotting fitted data on a single graph, needs to be reinstated.

RichardHeenan commented 4 years ago

The "sending simultaneously to fits" kick off for this feature seems a bit obscure unless you happen to know about it. Perhaps the simultaneous fit tab could have a check box for a master plot with all the data and fits?

But would that only update if you hit fit on that tab? Could it be updated also on hitting fit on an individual fitpage?

Simply appending say the M2 and M3 fits and data to the Graph1 plot does not of course work, as the fits are not updated after the append operation. Since we do have a "freeze results" option in the data explorer, then the fits could perhaps dynamically update, but that might cause confusion elsewhere.

wpotrzebowski commented 3 years ago

I will take a look on it but it doesn't sound like trivial thing to fix.

rozyczko commented 3 years ago

Nothing is simple with SasView plotting, especially if it involves non-standard behaviour and multiple plots on one chart... This difficulty stems from the requirement of having the state of all charts maintained and plots registering their opening/closing accordingly. This will need a single Plotter instance initialized and all simfit pages updating this one plotter. Looks like a slightly more complex issue.

butlerpd commented 3 years ago

We probably need a feature discussion (like we used to have at the old fashioned code camps :-). So probably we should shelve this issue till we can have a proper discussion on what behavior would be most useful/desired. In the meantime, some clarification on the original "request" might be useful.

Indeed this is independent from constrained simultaneous fits feature. That said it is probably true that it would mostly be used when doing such fits. in both 4.x and 5.x, if you select several data sets and click on create new plot, you will get a single plot with all the data sets on the same plot. However, while 4.x has the consistent behavior that if, instead of creating new plot, you click send to fitting, all data sets are again sent to one plot while all the tabs are created separately. This is independent of whether one then chooses simultaneous fitting. In 5.x however that has been changed and each tab has its own plot regardless of whether one sends several data sets at once or one at a time.

One issue may have to do with how a fit and the corresponding plots are linked. If they are linked through the plot ID then this may be difficult. However if they are linked through the data and the generated fit curve, these could presumably be updated in whatever plot they are associated with? Not having delved into the plotting at all this may be gibberish but thought I'd through that out anyway. Of course whether, this is the right behavior, remains a question for discussion. But I think some way of seeing several fits on a single plot is going to be important.

RichardHeenan commented 3 years ago

Is there some way that "quick plots" could be used here (if we keep the concept of having such items) - generate all the usual single plots but send a copy of the fit & data to a "quick plot" ?

rozyczko commented 3 years ago

Yes, this is something I'm working on right now, in similar scope to what Richard described.

butlerpd commented 3 years ago

Moving this to "To Discuss" Milestone as it is not clear there is a definite agreed action item beyond the quick plots Piotr is working on separately.

butlerpd commented 2 years ago

User Greg Smith at ISIS, in testing 5.0.5rc1 came back "seconding" that this feature be brought back.

butlerpd commented 2 years ago

So going back to 4.2.2 to figure out exactly what the previous behavior was I note that:

This seems reasonable to me but with our new preferences panel one might be able to also provide the option to tune the behavior for different preferences?

butlerpd commented 2 years ago

at Nov 8 2022 discussion we may leave this for longer term. Let's see about cleaning out rest of feature parity then decide if we punt, move to larger project or stick to it.