Ticket #6279 (closed: fixed)

Opened 8 years ago

Last modified 5 years ago

PlotOverlay For Non-integrated Peaks Workspaces

Reported by: Owen Arnold Owned by: Owen Arnold
Priority: critical Milestone: Release 2.4
Component: Mantid Keywords:
Cc: Blocked By:
Blocking: Tester: Martyn Gigg

Description

Pascal wants to be able to visualise any type of PeaksWorkspace in the SliceViewer, including those that have not be run through IntegratePeaksMD. Pascal want's a cross placed over each peak position in the case that the integrated radius is not known.

We'll have to add this feature in order to release the new PeakOverlay features with confidence. Otherwise it's not going to be very valuable to the users.

My inital thoughts are that I can add this flexibility into the PeakOverlay and PeakOverlayFactory, and then let the ConcretePeaksPresenter decide how to render the IPeaksWorkspace.

Attachments

AnyPeaksWorkspace.png (61.3 KB) - added by Owen Arnold 8 years ago.

Change History

comment:1 Changed 8 years ago by Owen Arnold

  • Status changed from new to accepted

comment:2 Changed 8 years ago by Owen Arnold

refs #6279. Fix. Should return to consistent state.

Changeset: 588a2bd26b02938b7612f01f3585ccd296e9ed86

comment:3 Changed 8 years ago by Owen Arnold

refs #6279. Rename PeakOverlay to be more specific.

This will allow me to slot in a new type of PeakOverlayView for representing non-integrated peaks.

Changeset: c6d5686b86b8ac79c46997dc0474890890186dcf

comment:4 Changed 8 years ago by Owen Arnold

refs #6279. ConcretePeaksPresenter chooses factory.

Redesign so that the ConcretePeaksPresenter uses a different PeakOverlayViewFactory if the PeaksWorkspace has not been integrated. This used to just throw in the past.

Changeset: 1f8e3f224df1c3cf4ccd1c3801d6ff8b0ca3a2db

comment:5 Changed 8 years ago by Owen Arnold

refs #6279. Refactor PeakOverlayViewFactory hierachy.

Add a new base class for common methods. Rename PeakOverlayFactory -> PeakOverlaySphereFactory. Create new type of factory PeakOverlayCrossFactory. PeakOverlayCrossFactory is not producing a new product of a PeakOverlayCross yet. This is the next stage.

Changeset: 352c104c8a12a8aaab8365ae045acc5f9abdb118

comment:6 Changed 8 years ago by Owen Arnold

refs #6279. Can now visualise non-integrated peaks wokspaces.

Changeset: c4d762d54da64319b204be56485fcd7a8f5f73d0

comment:7 Changed 8 years ago by Owen Arnold

refs #6279. Fix warnings

Changeset: e33a8b8559ba8618340f5b4e295012994443f216

comment:8 Changed 8 years ago by Owen Arnold

refs #6279. Deadlock issue in Gmock 1.6.0

Changeset: 4f7d065adae8ada53cf9a67d890ea59668c22805

comment:9 Changed 8 years ago by Owen Arnold

refs #6279. Fix. Should return to consistent state.

Changeset: aa786a395c1959094406f450f6893bc3cc4d2518

comment:10 Changed 8 years ago by Owen Arnold

refs #6279. Rename PeakOverlay to be more specific.

This will allow me to slot in a new type of PeakOverlayView for representing non-integrated peaks.

Changeset: 884c03b5140ae096c6e273b132ce8527d801f9e5

comment:11 Changed 8 years ago by Owen Arnold

refs #6279. ConcretePeaksPresenter chooses factory.

Redesign so that the ConcretePeaksPresenter uses a different PeakOverlayViewFactory if the PeaksWorkspace has not been integrated. This used to just throw in the past.

Changeset: 373691b9346e28e04411657969190072a9c26c55

comment:12 Changed 8 years ago by Owen Arnold

refs #6279. Refactor PeakOverlayViewFactory hierachy.

Add a new base class for common methods. Rename PeakOverlayFactory -> PeakOverlaySphereFactory. Create new type of factory PeakOverlayCrossFactory. PeakOverlayCrossFactory is not producing a new product of a PeakOverlayCross yet. This is the next stage.

Changeset: cf27410c5d7317301ba2822518a0b642ab043d41

comment:13 Changed 8 years ago by Owen Arnold

refs #6279. Can now visualise non-integrated peaks wokspaces.

Changeset: b40403df3173f459de89db8bf1455c5f5f53f399

comment:14 Changed 8 years ago by Owen Arnold

refs #6279. Fix warnings

Changeset: 9d20f58ff43eadaf123956b45478e5241d1a5e7a

comment:15 Changed 8 years ago by Owen Arnold

refs #6279. Deadlock issue in Gmock 1.6.0

Changeset: 2411bb614d30ea7e61a4bfda9abdad1edd33e894

comment:16 Changed 8 years ago by Owen Arnold

refs #6279 remove unused vars

Changeset: 54e9e1395820a496dda5883142a5f058da9ecef4

comment:17 Changed 8 years ago by Owen Arnold

refs #6279. Further fix to patch.

Need to put platform depenedent switch in while we wait for a proper fix and release from Google Mocks.

Changeset: 89c28f2939344fab1fbfec3663beb2524b6f56f4

comment:18 Changed 8 years ago by Owen Arnold

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

Tester. Using the test instructions in #5167 as a guide, create an MDWorkspace and a corresponding PeaksWorkspace. Do not run IntegratePeaksMD on the PeaksWorkspace.

  • Open MDWorkspace in the SliceViewer.
  • using the star peaks button, open the PeaksWorkspace in the SliceViewer.
  • The Peaks in the PeaksWorkspace should be plotted as crosses (see attachement). Moving the Slider for the other dimension should result in the cross fading in-out.
  • You should be able to zoom in on the Peak/Cross, but the peak should have a constant aspect ratio.

Changed 8 years ago by Owen Arnold

comment:19 Changed 8 years ago by Owen Arnold

refs #6279. Fix. Should return to consistent state.

Changeset: 26047c891cb80c99851fb8b480a4d4dcd0c1b3fb

comment:20 Changed 8 years ago by Owen Arnold

refs #6279. Rename PeakOverlay to be more specific.

This will allow me to slot in a new type of PeakOverlayView for representing non-integrated peaks.

Changeset: fa1fdf19c8fa9d9f9fdaeef3e3e2c6f5f3dd30a9

comment:21 Changed 8 years ago by Owen Arnold

refs #6279. ConcretePeaksPresenter chooses factory.

Redesign so that the ConcretePeaksPresenter uses a different PeakOverlayViewFactory if the PeaksWorkspace has not been integrated. This used to just throw in the past.

Changeset: 97e9230a9b5334510233776af559645651941846

comment:22 Changed 8 years ago by Owen Arnold

refs #6279. Refactor PeakOverlayViewFactory hierachy.

Add a new base class for common methods. Rename PeakOverlayFactory -> PeakOverlaySphereFactory. Create new type of factory PeakOverlayCrossFactory. PeakOverlayCrossFactory is not producing a new product of a PeakOverlayCross yet. This is the next stage.

Changeset: 95c2d9bc5507d0c7cccdc0784d905e30cc2c07e9

comment:23 Changed 8 years ago by Owen Arnold

refs #6279. Can now visualise non-integrated peaks wokspaces.

Changeset: 46e0df7b07b7b9adac3a5f830a434ef5f4d0c29a

comment:24 Changed 8 years ago by Owen Arnold

refs #6279. Fix warnings

Changeset: c940ad9cf1ff0d2f67d59576e309cd49261013e2

comment:25 Changed 8 years ago by Owen Arnold

refs #6279. Deadlock issue in Gmock 1.6.0

Changeset: 81f53243a05f2394b0e9f4f0dace5b1813681674

comment:26 Changed 8 years ago by Owen Arnold

refs #6279 remove unused vars

Changeset: 70b19aea7b3f8ba87e0a867f1e2d9900ae5d1a37

comment:27 Changed 8 years ago by Owen Arnold

refs #6279. Further fix to patch.

Need to put platform depenedent switch in while we wait for a proper fix and release from Google Mocks.

Changeset: d26d834347c10bf954fa69ee0b3d90f30eebfda6

comment:28 Changed 8 years ago by Martyn Gigg

  • Status changed from verify to verifying
  • Tester set to Martyn Gigg

comment:29 Changed 8 years ago by Martyn Gigg

  • Status changed from verifying to closed

Seems to work as expected. Used this script to produce the workspace

ws = "TOPAZ_3132"
filename = ws+"_event.nxs"
LoadEventNexus(Filename=filename,OutputWorkspace=ws,FilterByTofMin='3000',FilterByTofMax='16000')

# Load optimized DetCal file
#LoadIsawDetCal(InputWorkspace=ws,Filename="/SNS/TOPAZ/shared/Spectra/TOPAZ_8Sept11.DetCal")

# Spherical Absorption and Lorentz Corrections
AnvredCorrection(InputWorkspace=ws,OutputWorkspace=ws,LinearScatteringCoef="0.451",LinearAbsorptionCoef="0.993",Radius="0.14")

# Convert to Q space
ConvertToDiffractionMDWorkspace(InputWorkspace=ws,OutputWorkspace=ws+'_MD2',LorentzCorrection='0',
        OutputDimensions='Q (lab frame)', SplitInto='2',SplitThreshold='150')
# Find peaks (Reduced number of peaks so file comparison with reference does not fail with small differences)
FindPeaksMD(InputWorkspace=ws+'_MD2',MaxPeaks='20',OutputWorkspace=ws+'_peaksLattice')
# 3d integration to centroid peaks
CentroidPeaksMD(InputWorkspace=ws+'_MD2',CoordinatesToUse='Q (lab frame)',
        PeakRadius='0.12',PeaksWorkspace=ws+'_peaksLattice',OutputWorkspace=ws+'_peaksLattice')
# Find the UB matrix using the peaks and known lattice parameters
FindUBUsingLatticeParameters(PeaksWorkspace=ws+'_peaksLattice',a='10.3522',b='6.0768',c='4.7276',
               alpha='90',beta='90',gamma='90', NumInitial='20', Tolerance='0.12')
# And index to HKL
IndexPeaks(PeaksWorkspace=ws+'_peaksLattice', Tolerance='0.12')

A couple of very minor issues have been noted in #6482

comment:30 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 7125

Note: See TracTickets for help on using tickets.