Ticket #10878 (closed: fixed)

Opened 6 years ago

Last modified 5 years ago

Peak Shape

Reported by: Owen Arnold Owned by:
Priority: critical Milestone: Release 3.4
Component: Diffraction Keywords:
Cc: Blocked By: #10875
Blocking: #10647, #10904, #10998 Tester: Federico M Pouzols

Description

Build PeakShape functionality into the PeaksWorkspaces of Mantid.

  • The ISAW peak format will not be updated, but the NeXus format should be.
  • Saving routines for PeaksWorkspaces should include the new shape information
  • For persistence, remember that changes to Loading routines following file format changes should be robust to loading existing PeaksWorkspaces.

This ticket is not yet concerned with using PeakShape objects as part of the the integration algorithms. That is an additional step.

Change History

comment:1 Changed 6 years ago by Owen Arnold

  • Priority changed from major to critical
  • Status changed from new to assigned
  • Component changed from Framework to Diffraction
  • Milestone changed from Backlog to Release 3.4

comment:2 Changed 6 years ago by Owen Arnold

  • Status changed from assigned to inprogress

refs #10878. Spherical peak shape.

Changeset: d465449ed138937d7561fedaf6a61ecf0b3cc4d5

comment:3 Changed 6 years ago by Owen Arnold

refs #10878. Factory for spherical peaks.

Changeset: 75043a344a64416bb064986842b144dcbd43ead8

comment:4 Changed 6 years ago by Owen Arnold

refs #10878. Mock out behaviour.

Changeset: c9264e51f5f89cde570037ce7f7706a329dd3dca

comment:5 Changed 6 years ago by Owen Arnold

refs #10878. No peak possibility

Add an type for representing no peak shape (position only). Also refactor to move common working code into a PeakShapeBase class. This is useful for serialization to ensure that there are no two diverging methods for serializing types of PeakShape.

Changeset: dcc092df1dcb4d3bf146dd960f8076c5d2559501

comment:6 Changed 6 years ago by Owen Arnold

refs #10878. No Shape option redone.

Changeset: 80546aceee648702651ffdbf77ba9abb148ed4d4

comment:7 Changed 6 years ago by Owen Arnold

refs #10878. Peak type has a shape

Changeset: 3e7341a83c74b736ce464d360e8a2b73f80a7954

comment:8 Changed 6 years ago by Owen Arnold

refs #10878. NoShape factory

Changeset: 72ba5a0d2f376982dfc873d09b3ae125ea0ad5d6

comment:9 Changed 6 years ago by Owen Arnold

refs #10878. Read and write shapes to NeXus format

Changeset: 3d4836d9a4046c27cd0dd59b4a553f8cc347ee08

comment:10 Changed 6 years ago by Owen Arnold

refs #10878. Test loading.

Added a legacy file as well as a new style peaks workspace nxs format file. The same loader handles both. Added 'unit tests' for both.

Changeset: 5a82a73a8acdbd39d32c972ffffe30acfc7fd21d

comment:11 Changed 6 years ago by Owen Arnold

Tester. There's not a lot of change to external behaviour at this point. The peaks workspace columns do not contain the shape information, as I'm not sure yet what should go in that column so cautioned on the side of not adding anything yet. Nevertheless all points on the ticket description have been addressed.

  • Review the code
  • Check that the unit tests are running
  • Check that the LoadLotsOfFiles system test has been run on these changes. This is done as part of the general system test runs.

comment:12 Changed 6 years ago by Owen Arnold

  • Blocking 10904 added

comment:13 Changed 6 years ago by Owen Arnold

  • Blocking 10647 added

comment:14 Changed 6 years ago by Owen Arnold

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

This is being verified as pull request #133.

comment:15 Changed 6 years ago by Owen Arnold

refs #10878. Fix warnings.

Because json.h is exporting types with dll_export set, which in-turn export types without dll_export set, I have had to disable those specific warnings. We do not have control of this third-party component, so cannot fix the headers.

Changeset: 7865ec57170f6057d8007b2f1e11bc81e6c6050a

comment:16 Changed 6 years ago by Owen Arnold

test this please

comment:17 Changed 6 years ago by Owen Arnold

test this please

comment:18 Changed 6 years ago by Federico M Pouzols

  • Status changed from verify to verifying
  • Tester set to Federico M Pouzols

comment:19 Changed 6 years ago by Federico M Pouzols

Tests have been passing, including the sys test LoadLotsOfFiles. It comes with new tests/test cases and the code looks well organized and documented.

The only irregularity that I could spot is that some of the data members of the Peak class don't have the 'm_' prefix, but that's not related to this ticket and could be fixed in follow-up tickets, if we want to be fussy about it.

comment:20 Changed 6 years ago by Owen Arnold

  • Status changed from verifying to closed

Merge branch 'master' into feature/10878_peak_shape

Full changeset: d611801b4d6ab1def2de43fe26ba2891257fa0f8

comment:21 Changed 6 years ago by Federico M Pouzols

Merge pull request #133 from mantidproject/feature/10878_peak_shape

All is fine, Feature/10878 peak shape

Full changeset: e281ef626125b81afcf034178a4376c98869f2c1

comment:22 Changed 6 years ago by Federico M Pouzols

Oops, it seems that valgrind has detected some leaks in PeakShapeSpherical, etc. (http://builds.mantidproject.org/job/valgrind_develop_core_packages/308/valgrindResult/pid=17860/).

comment:23 Changed 6 years ago by Owen Arnold

  • Blocking 10998 added

comment:24 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 11717

Note: See TracTickets for help on using tickets.