Ticket #6730 (closed: fixed)

Opened 8 years ago

Last modified 5 years ago

Redesign PeakOverlayViewFactory

Reported by: Owen Arnold Owned by: Owen Arnold
Priority: major Milestone: Release 2.5
Component: VATES Keywords:
Cc: Blocked By:
Blocking: #6727 Tester: Nick Draper

Description

The PeaksViewer on the SliceViewer is currently limited by the fact that the application assumes the same 'shape' for all the peaks. This will prevent us from displaying such things as ellipsoid peaks, because the parameters, which would allow the shape of each peak to vary on a peak by peak basis cannot be controlled.

Fundamentally, this is a problem with the PeaksOverlayViewFactory. With the current behaviour, the client sets the radius or z-depth (setRadius(), setRangeZ()), and then iterates over a PeaksWorkspace AND the PeakOverlayViewFactory in order to create all the widgets used for display. A better design would be to internalise this behaviour. Each PeakOverlayViewFactory instance should hold a reference to a peaks workspace, then all the client should need to do is request a peak corresponding to a given index in the peaks workspace. In addition to these changes, we should also make things more flexibile w.r.t the types of PeakOverlayFactory the ConcretePeaksPresenter can accept. Currently this is almost hard-coded. A better solution would be to use a figure of merit (FOM) to determine a winning PeakOverlayViewFactory to use.

Outwardly, the user should see no change in the functionality, however, this ticket is a necessary step towards the more sophisticated Peak Reporting that Pascal has requested.

Change History

comment:1 Changed 8 years ago by Owen Arnold

  • Status changed from new to accepted
  • Owner set to Owen Arnold

comment:2 Changed 8 years ago by Owen Arnold

refs #6730. Rough redesign working.

Changeset: 5b038041c7871096d203fd665d74176ea2f00cdf

comment:3 Changed 8 years ago by Owen Arnold

refs #6730 Fix call to pure virtual method.

Changeset: 248da34914706a478b909612b077ade6cb8cd0df

comment:4 Changed 8 years ago by Owen Arnold

refs #6730. Implement selector.

Changeset: e33fccde708d5b53259adf256fe6806d6ad45a83

comment:5 Changed 8 years ago by Owen Arnold

refs #6730. Pipe selector choice into presenter.

Changeset: 7f2cdec02355cebd79bf18932439f2f057ac4fec

comment:6 Changed 8 years ago by Owen Arnold

refs #6730. Rough redesign working.

Changeset: 5b038041c7871096d203fd665d74176ea2f00cdf

comment:7 Changed 8 years ago by Owen Arnold

refs #6730 Fix call to pure virtual method.

Changeset: 248da34914706a478b909612b077ade6cb8cd0df

comment:8 Changed 8 years ago by Owen Arnold

refs #6730. Implement selector.

Changeset: e33fccde708d5b53259adf256fe6806d6ad45a83

comment:9 Changed 8 years ago by Owen Arnold

refs #6730. Pipe selector choice into presenter.

Changeset: 7f2cdec02355cebd79bf18932439f2f057ac4fec

comment:10 Changed 8 years ago by Owen Arnold

refs #6730. Fix warnings.

Changeset: 0df91583f3fe333e6c762337e1a7b97c43e2e511

comment:11 Changed 8 years ago by Owen Arnold

refs #6730. Fix warnings.

Changeset: 0df91583f3fe333e6c762337e1a7b97c43e2e511

comment:12 Changed 8 years ago by Owen Arnold

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

Tester:

  • You should still be able to view peaks workspaces in the sliceviewer/peaksviewer exactly the same as you could previously. Try doing this with integrated (via IntegratePeaksMD) AND no-integrated peaks workspaces. See http://www.mantidproject.org/PeaksViewer, for more on the expected outputs of these operations. Running the DiffactionWorksflow system test, would be one way of generating some suitable input workspaces.
  • The unit tests should all pass, they have been updated and extended as part of the refactoring
  • Look at PeakOverlayViewFactory, it has been redesigned so that uses the peaks workspace internally to create each peak widget for display. This means that the peak widgets can be created on a peak by peak basis, Note that the setRadius and setRangeZ methods have been removed.
  • Selection of which PeakOverlayViewFactory to used is done by finding the maximum Figure Of Merit for each candidate factory.

Branch for testing is https://github.com/mantidproject/mantid/tree/feature/6730_factory_redesign

comment:13 Changed 8 years ago by Owen Arnold

  • Blocking 6727 added

comment:14 Changed 8 years ago by Nick Draper

  • Status changed from verify to verifying
  • Tester set to Nick Draper

comment:15 Changed 8 years ago by Owen Arnold

refs #6730. Rough redesign working.

Changeset: 5b038041c7871096d203fd665d74176ea2f00cdf

comment:16 Changed 8 years ago by Owen Arnold

refs #6730 Fix call to pure virtual method.

Changeset: 248da34914706a478b909612b077ade6cb8cd0df

comment:17 Changed 8 years ago by Owen Arnold

refs #6730. Implement selector.

Changeset: e33fccde708d5b53259adf256fe6806d6ad45a83

comment:18 Changed 8 years ago by Owen Arnold

refs #6730. Pipe selector choice into presenter.

Changeset: 7f2cdec02355cebd79bf18932439f2f057ac4fec

comment:19 Changed 8 years ago by Owen Arnold

refs #6730. Fix warnings.

Changeset: 0df91583f3fe333e6c762337e1a7b97c43e2e511

comment:20 Changed 8 years ago by Nick Draper

  • Status changed from verifying to closed

passed, although new ticket created for other bug #6767

comment:21 Changed 8 years ago by Owen Arnold

refs #6730. Rough redesign working.

Changeset: 5b038041c7871096d203fd665d74176ea2f00cdf

comment:22 Changed 8 years ago by Owen Arnold

refs #6730 Fix call to pure virtual method.

Changeset: 248da34914706a478b909612b077ade6cb8cd0df

comment:23 Changed 8 years ago by Owen Arnold

refs #6730. Implement selector.

Changeset: e33fccde708d5b53259adf256fe6806d6ad45a83

comment:24 Changed 8 years ago by Owen Arnold

refs #6730. Pipe selector choice into presenter.

Changeset: 7f2cdec02355cebd79bf18932439f2f057ac4fec

comment:25 Changed 8 years ago by Owen Arnold

refs #6730. Fix warnings.

Changeset: 0df91583f3fe333e6c762337e1a7b97c43e2e511

comment:26 Changed 8 years ago by Owen Arnold

refs #6730. Rough redesign working.

Changeset: 5b038041c7871096d203fd665d74176ea2f00cdf

comment:27 Changed 8 years ago by Owen Arnold

refs #6730 Fix call to pure virtual method.

Changeset: 248da34914706a478b909612b077ade6cb8cd0df

comment:28 Changed 8 years ago by Owen Arnold

refs #6730. Implement selector.

Changeset: e33fccde708d5b53259adf256fe6806d6ad45a83

comment:29 Changed 8 years ago by Owen Arnold

refs #6730. Pipe selector choice into presenter.

Changeset: 7f2cdec02355cebd79bf18932439f2f057ac4fec

comment:30 Changed 8 years ago by Owen Arnold

refs #6730. Fix warnings.

Changeset: 0df91583f3fe333e6c762337e1a7b97c43e2e511

comment:31 Changed 7 years ago by Owen Arnold

refs #6730. Rough redesign working.

Changeset: 5b038041c7871096d203fd665d74176ea2f00cdf

comment:32 Changed 7 years ago by Owen Arnold

refs #6730 Fix call to pure virtual method.

Changeset: 248da34914706a478b909612b077ade6cb8cd0df

comment:33 Changed 7 years ago by Owen Arnold

refs #6730. Implement selector.

Changeset: e33fccde708d5b53259adf256fe6806d6ad45a83

comment:34 Changed 7 years ago by Owen Arnold

refs #6730. Pipe selector choice into presenter.

Changeset: 7f2cdec02355cebd79bf18932439f2f057ac4fec

comment:35 Changed 7 years ago by Owen Arnold

refs #6730. Fix warnings.

Changeset: 0df91583f3fe333e6c762337e1a7b97c43e2e511

comment:36 Changed 7 years ago by Owen Arnold

refs #6730. Rough redesign working.

Changeset: 5b038041c7871096d203fd665d74176ea2f00cdf

comment:37 Changed 7 years ago by Owen Arnold

refs #6730 Fix call to pure virtual method.

Changeset: 248da34914706a478b909612b077ade6cb8cd0df

comment:38 Changed 7 years ago by Owen Arnold

refs #6730. Implement selector.

Changeset: e33fccde708d5b53259adf256fe6806d6ad45a83

comment:39 Changed 7 years ago by Owen Arnold

refs #6730. Pipe selector choice into presenter.

Changeset: 7f2cdec02355cebd79bf18932439f2f057ac4fec

comment:40 Changed 7 years ago by Owen Arnold

refs #6730. Fix warnings.

Changeset: 0df91583f3fe333e6c762337e1a7b97c43e2e511

comment:41 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 7576

Note: See TracTickets for help on using tickets.