Ticket #11551 (closed: fixed)

Opened 5 years ago

Last modified 5 years ago

Automatically determine starting parameters for Poldi 2D Pawley fit

Reported by: Michael Wedel Owned by: Michael Wedel
Priority: major Milestone: Release 3.4
Component: Diffraction Keywords:
Cc: Blocked By:
Blocking: Tester: Roman Tolchenov

Description (last modified by Michael Wedel) (diff)

Pawley fits with POLDI 2D-data (#9992) turned out to be quite sensitive to starting parameters.

It's possible to refine lattice parameters using pairs of HKL and d-value, taking into account the crystal system.

To this end I would like to introduce a new function and domain type which operate on HKLs (in the form of V3D) instead of doubles. The function values on the other hand are double-values (d-values). Essentially, the function should use UnitCell to calculate these d-values and expose the appropriate parameters.

It should be possible to create a domain from an IPeaksWorkspace, but also ITableWorkspaces like they are already used in PawleyFit and the Poldi algorithms.

Integration into Fit ensures that this functionality can be used by other algorithms as well, such as PawleyFit or PoldiFitPeaks2D. These algorithms would profit directly from better starting values for the profile fit.

Change History

comment:1 Changed 5 years ago by Michael Wedel

  • Description modified (diff)

comment:2 Changed 5 years ago by Michael Wedel

  • Status changed from new to inprogress

Refs #11551. Added LatticeDomain

Changeset: f22490c45bc45e850efbe9c8ea38d2b13154417a

comment:3 Changed 5 years ago by Michael Wedel

Refs #11551. Added ILatticeFunction

Changeset: f8f4d1905c4291370ab9483379783184cb7fc749

comment:4 Changed 5 years ago by Michael Wedel

Refs #11551. Added implementation of ILatticeFunction.

Added LatticeFunction in CurveFitting. Large parts of PawleyParameterFunction are re-used, so this is actually very little code.

Changeset: d360b2885bdddc464bf48db2c0ea0ad0e9b76913

comment:5 Changed 5 years ago by Michael Wedel

Refs #11551. HKL from table extraction is now separate from PawleyFit

Changeset: 9f138a55f3f51f067ddf3fd813f4f91b672ffc55

comment:6 Changed 5 years ago by Michael Wedel

Refs #11551. Adding unweighted least squares cost function

Changeset: be2e693c439d00267fea1f919ff42ddae7603d6e

comment:7 Changed 5 years ago by Michael Wedel

Refs #11551. Added LatticeDomainCreator

Creates a LatticeDomain from IPeaksWorkspace or ITableWorkspace.

Changeset: 227b327b5b74b0e3e269df54bbfb64460206d14d

comment:8 Changed 5 years ago by Michael Wedel

Refs #11551. Adapt Fit to use domain/function

Changeset: d27843e14435f279c0dbd89a32691f06df8c32a9

comment:9 Changed 5 years ago by Michael Wedel

Refs #11551. Calculating function values in createOutputWorkspace

Changeset: f60aeffbe23b976aa207eee42d82567cd6723a51

comment:10 Changed 5 years ago by Michael Wedel

Refs #11551. Added test for LatticeFunction using Fit

Changeset: f9d638268b50e62760e68bbfa754a560332a0ce8

comment:11 Changed 5 years ago by Michael Wedel

Refs #11551. Adding comments to LatticeDomainCreator

Changeset: 26468df5a926965156f6e4d1333f0073d8a1b238

comment:12 Changed 5 years ago by Michael Wedel

Refs #11551. Adding default constraints to PawleyParameterFunction

Adding meaningful default constraints to cell parameters.

Changeset: 6118d55622d00179d5709c631f23aee2a46d3eca

comment:13 Changed 5 years ago by Michael Wedel

Refs #11551. Added documentation page for LatticeFunction

Changeset: e80b8a905d7eb2600271e65cdbf30dd205e0ed6a

comment:14 Changed 5 years ago by Michael Wedel

Refs #11551. Added system test for unweighted least squares

Added 3 test sets from the NIST page. This could be extended later on.

Changeset: 91bc9c28aeab38df3a791403c48081a9cb7d4df3

comment:15 Changed 5 years ago by Michael Wedel

Refs #11551. Added LatticeFunction to CodeConventions

Changeset: 511df42649dbdc991c6c7b21adcceb375d34bafe

comment:16 Changed 5 years ago by Michael Wedel

Refs #11551. Adding better unit cell access to ILatticeFunction

Changeset: c78b7a5b98456da677b66d7e0ddd155766daf1b3

comment:17 Changed 5 years ago by Michael Wedel

Refs #11551. Adding indices to Poldi test helper peaks

Changeset: a54c968f6400119cb7f9f5e6eb144e80bc802fe2

comment:18 Changed 5 years ago by Michael Wedel

Refs #11551. Extending PoldiFitPeaks2D to refine initial cell

Changeset: aa08724bea6dc54a6f6c2a2badba0d1eaabef2ba

comment:19 Changed 5 years ago by Michael Wedel

  • Summary changed from Automatically determine starting parameters for PawleyFit to Automatically determine starting parameters for Poldi 2D Pawley fit

comment:20 Changed 5 years ago by Michael Wedel

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

This is being verified as pull request #610.

comment:21 Changed 5 years ago by Michael Wedel

Refs #11551. Fixing ILatticeFunctionTest

Changeset: 1ba76b8db2dc177b14c1903b6d2f407b9ab07d14

comment:22 Changed 5 years ago by Michael Wedel

Refs #11551. Adding cmath header for certain systems

Changeset: daf058f2d7e0f2e914f7598ced7c5bb979ac3c24

comment:23 Changed 5 years ago by Michael Wedel

Refs #11551. Fixing system test

The system test is now using the same number of peaks as the doc test.

Changeset: 16eb5037ab9cae5245bb5257220fcc832355cd6f

comment:24 Changed 5 years ago by Michael Wedel

Refs #11551. Fixing case where HKL is (000).

Changeset: 35f847d20f541eaf30cf872a6ca259896a48bd5a

comment:25 Changed 5 years ago by Roman Tolchenov

  • Status changed from verify to verifying
  • Tester set to Roman Tolchenov

comment:26 Changed 5 years ago by Roman Tolchenov

  • Status changed from verifying to closed

Merge pull request #610 from mantidproject/11551_refine_lattice_from_hkl_and_d

Use HKL/d values to get better starting parameters for PoldiFitPeaks2D

Full changeset: 877e81b6f865a0d375f9b1bad479487d81d6d96b

comment:27 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 12389

Note: See TracTickets for help on using tickets.