Ticket #11289 (closed: fixed)

Opened 6 years ago

Last modified 5 years ago

Create a GUI for HFIR powder reduction

Reported by: Wenduo Zhou Owned by: Wenduo Zhou
Priority: major Milestone: Release 3.4
Component: Framework Keywords:
Cc: petersonpf@…, saviciat@… Blocked By:
Blocking: Tester: Andrei Savici

Description (last modified by Wenduo Zhou) (diff)

Create a GUI for HFIR GUI reduction. It should be able to provide the user with at least similar features as Graffiti does.

Graffiti (powder version) is the only data reduction and visualization software that is used by HFIR powder diffractometer's instrument scientists and users.

A screenshot of Graffiti is attached in this ticket.

Attachments

image002.png (119.6 KB) - added by Wenduo Zhou 6 years ago.
Graffiti screenshot

Change History

Changed 6 years ago by Wenduo Zhou

Graffiti screenshot

comment:1 Changed 6 years ago by Wenduo Zhou

  • Description modified (diff)

comment:2 Changed 6 years ago by Wenduo Zhou

  • Status changed from new to inprogress

Refs #11289. Added scripts and qt design file to work.

Changeset: 0a318508ba4793385237a91a90a110503fb4fcee

comment:3 Changed 6 years ago by Wenduo Zhou

Refs #11289. Rename the python script.

On branch feature/11289_hfir_pdr_gui

  • renamed: HfirPDReduction.py -> HfirPDReductionGUI.py

Changeset: 9772f1d4e35cb62c8a354f0cbafffde58f58e1f9

comment:4 Changed 6 years ago by Wenduo Zhou

Checkpointing progress on GUI design. Refs #11289.

Changeset: 09070d477292e03ce1c0e007b73b81c1c04fb1c7

comment:5 Changed 6 years ago by Wenduo Zhou

Refs #11289. Checkpointing progress on main.

Changeset: b7aea61c28d8df5356c9423bc371c274680eb3e8

comment:6 Changed 6 years ago by Wenduo Zhou

Put new widgets to grid. Refs #11289.

Changeset: 11993d675105da3acd5d422acca19bd4a3c018ae

comment:7 Changed 6 years ago by Wenduo Zhou

Refs #11289. Checkpointing progress on event handling.

Changeset: 9055dc3922642aed9d44e7bb4ca899979a36d82f

comment:8 Changed 6 years ago by Wenduo Zhou

Tried to make GUI look nicer. Refs #11289.

Changeset: e44f7f6f52bd5157f7b760d6d689610206f09c58

comment:9 Changed 6 years ago by Wenduo Zhou

Fixed some issue during debug. Refs #11289.

Changeset: 2ed6cde0f256c57004389b46cb558b4792c44348

comment:10 Changed 6 years ago by Wenduo Zhou

Added an out-of-mantid test script. Refs #11289.

Changeset: 3a54017b7c69e8dd11c7edcfe9a78187a89a2a6d

comment:11 Changed 6 years ago by Wenduo Zhou

Refs #11289. Implemented raw detector tab.

Changeset: 8b339001f6966c2fd82c3e3a7cc80a2b84915045

comment:12 Changed 6 years ago by Wenduo Zhou

Checkpointing improvements on GUI control. Refs #11289.

Changeset: 45470857fe54b2328f126baf8acab012c809461b

comment:13 Changed 6 years ago by Wenduo Zhou

Refs #11289. Added matplotblit canvas class.

And fixed issues during testing.

new file: MplFigureCanvas.py

Changeset: 989d7862e3a89032c9f8a936afb8f797810685c9

comment:14 Changed 6 years ago by Wenduo Zhou

Fixed some issues during testing. Refs #11289.

Changeset: 421291f617b949127a54efa5cabe92f593188945

comment:15 Changed 6 years ago by Wenduo Zhou

Checkpointing improvements. Refs #11289.

Changeset: 409a918f37cb3c4199bb97e07efeccd0b6f854f3

comment:16 Changed 6 years ago by Wenduo Zhou

Refs #11289. Checkpointing improvements on gui including.

  • Shall add button to load 'next' and 'previous'
  • Make 'Ge 113 In Config' and etc a comboBox for wavelength 1
  • Add x-label for plot

Changeset: ea583ce445a2c847fcdcc5dc9779b2aec3ffa151

comment:17 Changed 6 years ago by Wenduo Zhou

Added navigation bar to canvas. Refs #11289.

Changeset: b8442183e082de458080708edbaa3181bde140ed

comment:18 Changed 6 years ago by Wenduo Zhou

Added gui for merge scans. Refs #11289.

Changeset: f44381bb3f248ad44e0acc162023ae21978f59b7

comment:19 Changed 6 years ago by Wenduo Zhou

Checkpointing improvement on apply van peak strip. Refs #11289.

Changeset: 72df1a1f822995629b3e9937e76b745444fcc823

comment:20 Changed 6 years ago by Wenduo Zhou

Refs #11289. Checkpointing on development of merging scans.

And fixed some issues on strip vanadium peaks.

Changeset: f821a6cd4b840c3986637cd0ea34b87f343e0ceb

comment:21 Changed 6 years ago by Wenduo Zhou

Refs #11289. Refactoring the Mainwindow.

As it grows too large. Plan to move all the Mantid reduction alogirithm to a new module HfirPDReductionControl.

Changes to be committed:

  • new file: HfirPDReductionControl.py
  • modified: HfirPDReductionGUI.py
  • modified: MplFigureCanvas.py

Changeset: 8ceb816226ee85a04c0ccd05792fc2e0d781bedf

comment:22 Changed 6 years ago by Wenduo Zhou

Checkpointing refactoring. Refs #11289.

Changeset: f4b77ec61333251a354ffc20fe5bf60c2b830cab

comment:23 Changed 6 years ago by Wenduo Zhou

Implemented merge runs in GUI. Refs #11289.

Changeset: de5fa605fabb71074f07190833bd0e11aad9028a

comment:24 Changed 6 years ago by Wenduo Zhou

Minor modifications for merge data. Refs #11289.

Changeset: 1f1ffe7c6553c7ec20d8cc289857a6e8095ec381

comment:25 Changed 6 years ago by Wenduo Zhou

Checkpointing progress on 2D plot for merged runs. Refs #11289.

Changeset: 38bbed525d076fb0c6e00f964cb70b68a46ce174

comment:26 Changed 6 years ago by Wenduo Zhou

Added a README. Refs #11289.

Changeset: fcfef9852bdb9e7390dee4eda117ceaee2df0c68

comment:27 Changed 6 years ago by Wenduo Zhou

Checkpointing work on 2 new tabs. Refs #11289.

Changeset: af1222b29c6143f99b38775fe4ef657c4f3beaa0

comment:28 Changed 6 years ago by Wenduo Zhou

Refs #11289. Checkpointing work on vanadium peak strip.

Changeset: 9626d51f1fd640edc151b8c85913bc4e1f4e26e8

comment:29 Changed 5 years ago by Wenduo Zhou

Refs #11289. Checkpointing progress on 3 tabs.

Changeset: 0125ebedf606471142289acfeb43987002dc06c7

comment:30 Changed 5 years ago by Wenduo Zhou

Checkpointing progress on vanadium peak strip. Refs #11289.

Changeset: a970a39ff123c220d97ccd3967c226844e100e2b

comment:31 Changed 5 years ago by Wenduo Zhou

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

This is being verified as pull request #607.

comment:32 Changed 5 years ago by Wenduo Zhou

Checkpointing progress on all tabs. Refs #11289.

Changeset: 7fdd05795688dadc7e6dad8f842698ba63287d2f

comment:33 Changed 5 years ago by Wenduo Zhou

Resolved conflict. Refs #11289.

Changeset: ba106d43067c824a8b13be7c41e659ddd4fd719e

comment:34 Changed 5 years ago by Wenduo Zhou

Refs #11289. Started to implement auto correction file.

Changeset: 3e2d360f0301759d8a7e2d6dce29cdb48b231e68

comment:35 Changed 5 years ago by Wenduo Zhou

Refs #11289. Implementing auto correction finder.

And started to refactor some codes to load and reduce SPICE data; and modified the GUI for common options to binning data.

On branch feature/11289_hfir_pdr_gui Your branch is up-to-date with 'origin/feature/11289_hfir_pdr_gui'.

Changes to be committed:

modified: HfirPDReductionControl.py modified: HfirPDReductionGUI.py modified: HfirUtility.py modified: MplFigureCanvas.py modified: README.md modified: Ui_MainWindow.py modified: Ui_MainWindow.ui modified: testGUI_IndvDet.py modified: testGUI_RawDetect.py modified: testGUI_VanadiumPeaks.py

Changeset: f667b15a8964c11fe7df001b6d09cfd4a5c2003f

comment:36 Changed 5 years ago by Wenduo Zhou

Refs #11289. Refactored loading and reducing data's workflow.

And make tab 'Individual detector' work.

Changeset: 93f8c09ccc898ef46a6b28b565424238e079337f

comment:37 Changed 5 years ago by Wenduo Zhou

Refs #11289. Started to implement canvas history management.

Changeset: ff04f691d5a623bb73c481585d29fbb84e0d105d

comment:38 Changed 5 years ago by Wenduo Zhou

Checkpointing progress on fixing coding errors. Refs #11289.

Changeset: 331855f29e84949ef42229cd440f59ed65d29d85

comment:39 Changed 5 years ago by Wenduo Zhou

Checkpointing progress on parsing van corr file. Refs #11289.

Changeset: ca5412128394dc5a0521a53639eec7a1a4864e70

comment:40 Changed 5 years ago by Wenduo Zhou

Checkpointing progress on fixing some issues. Refs #11289.

Changeset: 8ef6d41723e3a63cdf30fd1749ed7c287c7150eb

comment:41 Changed 5 years ago by Wenduo Zhou

Modified workflow for 2 tabs. Refs #11289.

Changeset: a81d8f57c1ac44f06a226e5e3543714c747684ea

comment:42 Changed 5 years ago by Wenduo Zhou

Fixed issues with vanadium data processing. Refs #11289.

Changeset: b9e045d4cbfe1f9fdc0dfb123c858f92dbbfa9bb

comment:43 Changed 5 years ago by Wenduo Zhou

Fixed issues about merging scans. Refs #11289.

Changeset: 42f91d1ef0a3308f002885764327648a3c8d0f5d

comment:44 Changed 5 years ago by Wenduo Zhou

Fixed some pylint warnings. Refs #11289.

Changeset: 8a2c94779d60877ccaae94007c7c2995cf47469f

comment:45 Changed 5 years ago by Wenduo Zhou

Refs #11289. Fixed some pylint warnings.

Including all warning for line ends with while space. And supressed warnings in pyqt gui file.

Changeset: 081d591b57e94c3a9c454fe1e5f221994b2496b4

comment:46 Changed 5 years ago by Wenduo Zhou

Refs #11289. Checkpointing progress on fixing pylint warnings.

Changeset: dd2529503878516bd77092f7fba4866b86c51029

comment:47 Changed 5 years ago by Wenduo Zhou

Fixed some pylint warnings. Refs #11289.

Changeset: f0c4caf9e059fd86e158408d6f5b6109358179fe

comment:48 Changed 5 years ago by Wenduo Zhou

Refs #11289. Removed testing scripts.

Changeset: 27ef3427be85227a0da9b135d516a352e71b706a

comment:49 Changed 5 years ago by Wenduo Zhou

Refs #11289. Fixed some issues in tab 3 and 4.

  1. Tab *Normalized*: Normalization Monitor is not parsed;
  2. Tab *Normalized*: apply reduction record to binning push buttons and avoid plotting one data twice on same plot with *Prev Scan* and *Next Scan*;
  3. Tab *Normalized*: Save does not work well with option *gsas and fullprof*;
  4. Tab *vanadium*: implement Smooth Data;
  5. Tab *vanadium*: implement Save;

Changeset: 4d2ecada1f003d5b61446e99c0bca82fa342adb1

comment:50 Changed 5 years ago by Wenduo Zhou

Fixed issues with saving file of multi-scan. Refs #11289.

Changeset: 159892c29b9b05b82e00b3e8f0c9dfca8b6aabf1

comment:51 Changed 5 years ago by Wenduo Zhou

Checkpointing progress on fixing pylint warnings. Refs #11289.

Changeset: f0e434803fb25fc0d2fb6b632e402c0136749071

comment:52 Changed 5 years ago by Wenduo Zhou

Checkpointing progress on fixing pylint warnings (2). Refs #11289.

Changeset: 2a69ede19058fe668c29cea208d6ff1ce15aca78

comment:53 Changed 5 years ago by Wenduo Zhou

Refs #11289. Checkpointing progress on fixing pylint warning (3).

Changeset: 74bbd7bb251700a5a5fbdd39407f6982adf97ae8

comment:54 Changed 5 years ago by Wenduo Zhou

Checkpointing progress on pylint warning fix. Refs #11289.

Changeset: 47afbc9751cf54b42b790cc8e1954d5b158d5a52

comment:55 Changed 5 years ago by Wenduo Zhou

Reduced some pylint warnings. Refs #11289.

Changeset: 8639c8f4b0a0166a43608155e7bf140a9de26fb6

comment:56 Changed 5 years ago by Wenduo Zhou

Killed the pylint warnings. Refs #11289.

Changeset: 06d09daa2880f6058c91ebcab1b6be397a50ec2b

comment:57 Changed 5 years ago by Wenduo Zhou

Fixed some issues and added doc. Refs #11289.

Changeset: 909937c8a554faceaf3e76ce7a45642811c04d8a

comment:58 Changed 5 years ago by Wenduo Zhou

For testers:

  1. Launch Mantid and open GUI from Interfaces/Diffraction/HFIR Powder Diffraction Reduction;
  2. Give an experiment number and scan number . For example you can set 'Exp No' to 380 and 'Scan No' to 2 respectively; Check 'Detector Efficiency Correction' and 'Using Exclusion File';
  3. Push button 'Load Data';
  4. In tab 'Raw Detectors', give a Pt. value such as 4 to plot the detectors' counts of that experiment point;
  5. In tab 'Individual Detector', specify a detector ID ranging from 1 to 44. And then plot;
  6. In tab 'Multiple Scans', specify bin size as 0.1. And bin to 2theta. If you want to bin to dSpacing or Q, then you need to set a finer bin size such as 0.01 or 0.005;
  7. In tab 'Multiple Scans', give a range of scans to load, such as from 1 to 10. Push button 'Load All'. Give a bin size and specify the unit, and push button 'Bin Data'. After it is done, you can toggle between View1D and View2D. You can also push 'Merge' to merge all of them together.

Be noticed that if the wavelength of these runs are not same, the merging may not be correction.

  1. In tab 'Vanadium', load a vanadium run, e.g., Exp 379, Scan 11. Then bin the data, strip peak and smooth it;

The GUI is not perfect. All corrections and improvements shall be under follow-up tickets.

comment:59 Changed 5 years ago by Wenduo Zhou

Refs #11289. Fixed some issues during test.

Changeset: 41867e14b0f38fa66e61d7cd096569a39a1eb47e

comment:60 Changed 5 years ago by Pete Peterson

  • Status changed from verify to verifying
  • Tester set to Pete Peterson

comment:61 Changed 5 years ago by Wenduo Zhou

  • Status changed from verifying to verify
  • Tester Pete Peterson deleted

comment:61 Changed 5 years ago by Andrei Savici

  • Tester changed from Pete Peterson to Andrei Savici

comment:63 Changed 5 years ago by Wenduo Zhou

Fixed an issue with merging and plot2d. Refs #11289.

Changeset: ad3aae77ece874bd177700c0e39fa21d6c93ecc4

comment:64 Changed 5 years ago by Wenduo Zhou

Fixed some pylint disable issue. Refs #11289.

Changeset: 0f261abd78e71bd8465342fba75c164f2de79f1d

comment:65 Changed 5 years ago by Andrei Savici

There are some minor annoyances.

  1. Tooltips: they just show up as black rectangles
  2. If there is any error, there is a segmentation fault on exit

comment:66 Changed 5 years ago by Andrei Savici

  • Status changed from verify to closed

Merge pull request #607 from mantidproject/feature/11289_hfir_pdr_gui

Implementing a GUI to reduce HFIR powder diffraction data

Full changeset: 15daa0e937b6c9f2e2b0bb3099b09456bac1627e

comment:67 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 12128

Note: See TracTickets for help on using tickets.