Ticket #10451 (closed: fixed)

Opened 6 years ago

Last modified 5 years ago

IDR: S(Q,w) should not be using Python

Reported by: Dan Nixon Owned by: Dan Nixon
Priority: major Milestone: Release 3.3
Component: Indirect Inelastic Keywords:
Cc: Blocked By:
Blocking: #10306 Tester: Federico M Pouzols

Description

This tab is using Python to call algorithms, at the very least all it needs Python for is to create the contour plot.

Change History

comment:1 Changed 6 years ago by Dan Nixon

  • Status changed from new to assigned

comment:2 Changed 6 years ago by Dan Nixon

  • Status changed from assigned to inprogress

Refactoring and replace contour plot code

Refs #10451

Changeset: 793f4eafd26372f77534b517e9df1d43c35cda3a

comment:3 Changed 6 years ago by Dan Nixon

Added S(Q, w) reduction using batch runner

Refs #10451

Changeset: 96d3d7ea3674d99ea2bbd0b097918b065c9de99c

comment:4 Changed 6 years ago by Dan Nixon

Result plotting working again

Refs #10451

Changeset: 4406ad8d8f67aefdc87729f4faaccc21157925be

comment:5 Changed 6 years ago by Dan Nixon

To test:

  • Open Indirect > Data Reduction > S(Q, w)
  • Load a reduced file (e.g. irs26176_graphite002_red.nxs)
  • Click Plot Input, a contour plot should be shown
  • Enter Q rebinning: 0.5, 0.1, 1.8
  • Plot Output: Contour
  • Run, contour of S(Q, w) workspace will be shown
  • Enable rebin in energy
  • Enter E rebinning: -0.6, 0.01, 0.6
  • Run, contour should show change in energy bin and range
  • Repeat for all Rebin Types

Optional (to prove that this fixes the original problem):

  • Build/download a copy of develop branch
  • Repeat above steps
  • Run button should change to Running... and be disabled when running and revet to Run when complete, this did not happen previously as SQw tab used Python.
  • Now the button should revet to Run and be re-enabled when complete.
  • (note on a fast PC you may not see the button change for very long as the algorithm chain executes relatively fast)

comment:6 Changed 6 years ago by Dan Nixon

  • Status changed from inprogress to verify
  • Resolution set to fixed

comment:7 Changed 6 years ago by Federico M Pouzols

  • Status changed from verify to verifying
  • Tester set to Federico M Pouzols

comment:8 Changed 6 years ago by Federico M Pouzols

  • Status changed from verifying to closed

This is working well. It runs and the output looks fine:

  • changes in bin widths and range are very visible
  • I tested this with develop, this ticket may have actually fixed other potential issues, as I got a crash related to multi-threading and Qt.

A comment: the code still uses python for plotting (plot2D). This could be added as a lowish priority ticket, or discussed/documented somewhere to at least be aware of the issue and keep it under control, as there might be changes to the python plotting interface in future releases. Not sure how common this (using python when it's not necessary) is in Mantid.

comment:9 Changed 6 years ago by Federico Montesino Pouzols

Merge remote-tracking branch 'origin/bugfix/10451_idr_sqw_use_algorithm_runner'

Full changeset: 56759bd6be2cd9a3c4edbfa6c976f0cf864a5d75

comment:10 Changed 6 years ago by Dan Nixon

In a perfect world Python should not even be needed for plotting, I have created a ticket for this (#10257) which I plan to have a look at but it is relatively low priority for me.

comment:11 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 11293

Note: See TracTickets for help on using tickets.