Ticket #6730 (closed: fixed)
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: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