Ticket #10802 (closed: fixed)

Opened 6 years ago

Last modified 5 years ago

Data comparison UI

Reported by: Dan Nixon Owned by: Dan Nixon
Priority: major Milestone: Release 3.4
Component: GUI Keywords:
Cc: Blocked By:
Blocking: Tester: Raquel Alvarez Banos

Description

Add a UI that allows comparison of two of more matrix workspaces.

This should have a single plot that has some basic pan and zoom features (similar to multi data fitting) that displays the data form multiple matrix workspaces on a single plot.

There should be options to offset each workspace relative to each other (i.e. have WS1 spec 1 "line up" with WS2 spec 4) if required.

You should be able to scroll through the spectra using the mouse wheel (similar to apply corrections preview UI).

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

Added skeleton UI files

Refs #10802

Changeset: 1d7e56c7ef7ebdc70fc13c7af628bc97c6ecd2d8

comment:3 Changed 6 years ago by Dan Nixon

Added basic UI layout and some skeleton functions

Refs #10802

Changeset: d6aa3c1b9ab042e3c8593e13c153654bb8fdd72a

comment:4 Changed 6 years ago by Dan Nixon

Load data, display on table, plot

Refs #10802

Changeset: 23a4d32691a901b1b45f4cd366bb5c3575621bee

comment:5 Changed 6 years ago by Dan Nixon

Small UI improvements

Refs #10802

Changeset: fded6de9d0664de2ec2c1484671de710dacf4817

comment:6 Changed 6 years ago by Dan Nixon

Added remaining columns, fixed multiple deletion

Refs #10802

Changeset: 51e85db7e1f11bd5ad3e35c2a0ad54d8da69ff38

comment:7 Changed 6 years ago by Dan Nixon

Added spectra offsets and selection

Refs #10802

Changeset: 4f3383f84d0d3c7fa73e91b5e11cf4478c89890f

comment:8 Changed 6 years ago by Dan Nixon

Add selectable curve colours

TODO: should add more colours, and automatically pick an unused one when a new WS is added

Refs #10802

Changeset: 5ec4ba5253ac4b87fe268ee11198e40a4ecd3ae2

comment:9 Changed 6 years ago by Dan Nixon

Add remaining Qt pre defined colours

Refs #10802

Changeset: 13da67730c7f97039e0a1c3da28016ff4ca237ac

comment:10 Changed 6 years ago by Dan Nixon

Add normalise spectra offsets

Refs #10802

Changeset: f07e1d68c5750acb138f3435934942655cdbdba1

comment:11 Changed 6 years ago by Dan Nixon

Use a spin box for spectrum offset

Refs #10802

Changeset: 9a8394feb3d3c8bd9a042c5a78b4f89ce7bc0db1

comment:12 Changed 6 years ago by Dan Nixon

Pick an unused colour when adding data

Refs #10802

Changeset: ea4e5fba54a5e3bf6dde2a14d7570dc7aa7ebe23

comment:13 Changed 6 years ago by Dan Nixon

Implement spectra diff

Refs #10802

Changeset: fdf43db3c2fddb2f7aab3952ceb4fd0d0698b5d0

comment:14 Changed 6 years ago by Dan Nixon

Minor improvements to diff, remove diff when data is removed

Refs #10802

Changeset: a516aeb6fcc6f63b56318d6e42b1f489249724cd

comment:15 Changed 6 years ago by Dan Nixon

Added docs page, fix diff out of spec range

Refs #10802

Changeset: b0e611998835a2d019e8a4053742c99e1962ba5c

comment:16 Changed 6 years ago by Dan Nixon

Add a zoomer and panner to the UI

Zooming not working properly yet, cannot zoom using mouse wheel with pan

Refs #10802

Changeset: fa711bd27cbebc77c649a36fcd319dc9d393e1a7

comment:17 Changed 6 years ago by Dan Nixon

Properly implement plot manipulation tools

Refs #10802

Changeset: e94afeaf98e7056db7482c733ee5b23975c5a9ab

comment:18 Changed 6 years ago by Dan Nixon

Document View section

Refs #10802

Changeset: 49a3f85812d6c7a617ac6b10db8859e9695bfa58

comment:19 Changed 6 years ago by Dan Nixon

To test:

  • Build the documentation and have a look over the page for the interface
  • Open General > Data Comparison
  • Load some data
  • Have a play with the options

comment:20 Changed 6 years ago by Dan Nixon

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

comment:21 Changed 6 years ago by Martyn Gigg

  • Status changed from verify to reopened
  • Resolution fixed deleted

Looks like DataComparison.cpp is causing a few build failures - http://builds.mantidproject.org/job/develop_incremental/label=rhel6-build/3156/console

comment:22 Changed 6 years ago by Dan Nixon

  • Status changed from reopened to inprogress

Fix build errors with boos pointers

Refs #10802

Changeset: 52fbe4a7d4a211e1a61d04702728f0bfab0938d1

comment:23 Changed 6 years ago by Dan Nixon

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

comment:24 Changed 6 years ago by Raquel Alvarez Banos

  • Status changed from verify to verifying
  • Tester set to Raquel Alvarez Banos

comment:25 Changed 6 years ago by Dan Nixon

Do not try to add no data

Refs #10802

Changeset: 85a6176152351ad0d65473fbafcfbfa874a49aac

comment:26 Changed 6 years ago by Raquel Alvarez Banos

Ok, I see you are working on this. Just to let you know other issues I found:

  • It seems that there is a problem when adding data from a group of workspaces. I tried loading EMU00006745 and argus0026577 and mantid crashed in both cases.
  • Also there seems to be a problem with spectra with different number of bins. I get the following exception: X arrays must match when performing this operation on a 2D workspace. The spectra I was playing with are EMU00006473 and argus0031800_1

comment:27 Changed 6 years ago by Dan Nixon

  • Status changed from verifying to reopened
  • Resolution fixed deleted

comment:28 Changed 6 years ago by Dan Nixon

It also does not handle renaming or deleting workspaces that well, this should be simple enough to add now.

comment:29 Changed 6 years ago by Dan Nixon

  • Status changed from reopened to inprogress

Rebin the diff workspaces before minus

Refs #10802

Changeset: 9a3ff9ef2999978ca0c6e906037cff387973092b

comment:30 Changed 6 years ago by Dan Nixon

Handle workspace events from ADS

Refs #10802

Changeset: 8d9a8bc3efbccbc3b3127caa7db6235cd6c3403f

comment:31 Changed 6 years ago by Dan Nixon

Allow adding all workspaces from a group

Refs #10802

Changeset: d373aab393454749663237f1d4752de2df16d2d6

comment:32 Changed 6 years ago by Dan Nixon

Do not add duplicate workspaces

Refs #10802

Changeset: d0803f28a134b98d2288db219777a9d248866b86

comment:33 Changed 6 years ago by Dan Nixon

Added more tool tips.

Refs #10802

Changeset: 62a9530407a2144f8b98348eb57f21196ec7165b

comment:34 Changed 6 years ago by Dan Nixon

Additions to testing:

  • Select a WorkspaceGroup, all should be plotted.
  • Select anything other than a MatrixWorkspace, an error will be given
  • Diff workspaces with different binning
  • Rename, update and delete workspaces after adding them to the UI

comment:35 Changed 6 years ago by Dan Nixon

Doxygen fix, RST doc update

Refs #10802

Changeset: dc79c4b6c47321a2ea7cbc187f4e7651aa7e47df

comment:36 Changed 6 years ago by Dan Nixon

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

comment:37 Changed 6 years ago by Raquel Alvarez Banos

  • Status changed from verify to verifying

comment:38 Changed 6 years ago by Raquel Alvarez Banos

  • Status changed from verifying to reopened
  • Resolution fixed deleted

Hi Dan, issues reported previously are working now, however I am reopening this ticket as I noticed the following:

  • Load argus0026577
  • Load emu00006473
  • Select one of the argus workspaces + emu workspace
  • Hitting "Diff Selected" causes Mantid to crash. The error I get is something like:

Run-Time Check Failure # 3 - The variable 'ok' is being used without being initialized.

The problem seems to be in line 497 in DataComparison.cpp

comment:39 Changed 6 years ago by Dan Nixon

  • Status changed from reopened to inprogress

Ensure booleans are initialised

Refs #10802

Changeset: 27fc1259d1ddd2311e82886ec83a092b4a8bf480

comment:40 Changed 6 years ago by Dan Nixon

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

comment:41 Changed 6 years ago by Raquel Alvarez Banos

  • Status changed from verify to verifying

comment:42 Changed 6 years ago by Raquel Alvarez Banos

  • Status changed from verifying to closed

Merge remote-tracking branch 'origin/feature/10802_data_comparison_ui'

Full changeset: c72ea52a17dd972b3d0617145bf08c3805ffd5bd

comment:43 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 11644

Note: See TracTickets for help on using tickets.