Ticket #7310 (closed: fixed)
Make SliceViewer use PeaksInRegion
Reported by: | Owen Arnold | Owned by: | Owen Arnold |
---|---|---|---|
Priority: | major | Milestone: | Release 2.6 |
Component: | Diffraction | Keywords: | |
Cc: | petersonpf@… | Blocked By: | #7233, #7281 |
Blocking: | Tester: | Peter Peterson |
Description (last modified by Nick Draper) (diff)
This work will combine #7233 with #7281. Major benefit will be to reduce the complexity of the SliceViewer code. The algorithm PeaksInRegion performs the majority of it's work in a multi-threaded fashion. Peformance tests indicate that it can process 40 000 peaks in a fraction of a second.
There is also another reason to use PeaksInRegion, since the current calculations still calculate and daw peak positions that are outside the viewing region, as long as they are on the slice plane. This is unnecessary, and something that PeaksInRegion can already properly handle.
Change History
comment:2 Changed 7 years ago by Owen Arnold
refs #7310. Fix test.
Changeset: 3d07ec2d6dcf7773ebbac4c427c1189d005c73ef
comment:3 Changed 7 years ago by Owen Arnold
refs #7310. Fix warnings. Fix test on windows.
Changeset: e870c933fb8e9d0abf6fff7eba901cf7111fafb8
comment:4 Changed 7 years ago by Owen Arnold
Tester: Please test ALL the areas described below.
Setup: Download the last nightly build of Mantid from Master and install it then open it. This is to be used as a reference. At the same time checkout/merge this branch using the normal git test start 7310 type routine and build it in Release. You must do both. Once complete open both versions of MantidPlot (remember which one is which). In both, run the script mantid\Code\Mantid\scripts\Vates\Diffraction_Workflow.py up to the end of step1. This will create three workspaces LabQ and PeaksLattice and PeaksLattice_Integrated for you to use during testing of this feature.
- Do both look the same when plotting PeaksLattice peaks.
- Try re-ordering the axis on both using the X, Y, Z buttons. Should look the same.
- Does the peak zooming feature (click on peak) in table work the same for both?
- Try moving the sliders on both. Both should reprocess the view about as quickly and display the same result.
- Try plotting spherical integrated peaks using PeaksLattice_Integrated in both
- Try enabling show background on the integrated peaks. Should work the same for both.
- Try changing the foreground and background colours on the integrated peaks in both.
For a performance check. Load the Mandi peaks file associated with #7217 as it has many peaks. Display this on both SliceViewer instances. Zoom to the same peak on both, and then use the sliders to slice through the peaks. Performance should be similar for both.
Note: If you set the log level to debug, you will be able to see the SliceViewer running PeaksInRegion in the background.
comment:5 Changed 7 years ago by Owen Arnold
refs #7310. Fix bug and add additional tests.
Tests added which will fail in the PeakTransform names get out of sync with the options on the PeaksInRegion algorithm.
Changeset: 711a64d62a87965fbbdd1a3e48c3174a062876c0
comment:8 Changed 7 years ago by Owen Arnold
- Status changed from accepted to verify
- Resolution set to fixed
comment:9 Changed 7 years ago by Peter Peterson
- Status changed from verify to verifying
- Tester set to Peter Peterson
comment:11 Changed 7 years ago by Nick Draper
- Component changed from VATES to Diffraction
- Description modified (diff)
comment:12 Changed 5 years ago by Stuart Campbell
This ticket has been transferred to github issue 8156
refs #7310. SliceViewer now uses PeaksInRegion.
Additional work required to PeakTransform, PeakBoundingBox and PeakTransform to get this to work.
Changeset: 50113ea7a9e6ee74d5f52e5190aebb624f6dfebd