Ticket #11102 (closed: fixed)

Opened 6 years ago

Last modified 5 years ago

IPeakFunction should expose the name of its center parameter

Reported by: Michael Wedel Owned by: Michael Wedel
Priority: major Milestone: Release 3.4
Component: Framework Keywords: Fitting
Cc: roman.tolchenov@… Blocked By:
Blocking: #11043 Tester: Roman Tolchenov

Description

IPeakFunction has special methods for accessing values of certain parameters of the function (centre, fwhm and height).

In order to access parameter errors and especially (in the context of #11043) to be able to fix the centre parameter, IPeakFunction needs to implement a way to retrieve the name of this parameter.

I would like to add a method to IPeakFunction called "getCentreParameterName". Roman suggested to make a general implementation which calculates the derivatives d(centre)/d(param_i) and looks for the largest value - that should be the correct parameter. This can possibly also be used for the other special parameters later on.

Change History

comment:1 Changed 6 years ago by Michael Wedel

Refs #11102. Added FunctionParameterDecorator

Added a new class that implements the parameter part of the IFunction-interface. It is a decorator to wrap a given function.

Changeset: 3c8085cbdeb2f8097fc7018ff430a53df2f2c2b7

comment:2 Changed 6 years ago by Michael Wedel

Refs #11102. Checkpointing work.

Changeset: 8d7bbcf862b83611d8943ee740e22beaf050f9ff

comment:3 Changed 6 years ago by Michael Wedel

Refs #11102. Implementing getCentreParameterName

Implemented getCentreParameter using FunctionParameterDecorator.

Changeset: a7a36bd29e2958b3b552a53fddd1cc50de65e932

comment:4 Changed 6 years ago by Michael Wedel

Refs #11102. Adding test for Gaussian

Changeset: 184d4c9199ba99a2f4167c580e48f20ef5c3d495

comment:5 Changed 6 years ago by Michael Wedel

Refs #11102. Added test for several IPeakFunctions

Changeset: fbab241f38da16ceb3adabb5f86ae05dd0e40504

comment:6 Changed 6 years ago by Michael Wedel

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

This is being verified as pull request #293.

comment:7 Changed 6 years ago by Roman Tolchenov

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

comment:8 Changed 6 years ago by Michael Wedel

Refs #11102. Moving function into CurveFitting.

Changeset: 576f11d36992e95c1cbc8250f91c12a08f812059

comment:9 Changed 6 years ago by Michael Wedel

Refs #11102. Adding documentation and a hook

The hook is called before the decorated function is set and can be re-implemented for example to check whether the function has a certain type.

Changeset: de94bbac90640030bdef6a38d1a0e045e0ada75a

comment:10 Changed 6 years ago by Michael Wedel

Refs #11102. Checking for IPeakFunction.

It's now checked that only IPeakFunction can be set. Additionally the pointer to IPeakFunction is stored so that it does not need to be casted on every call of function or functionDeriv.

Changeset: 55e070f035dfeda341f55eb8614d2fb42683e072

comment:11 Changed 6 years ago by Michael Wedel

Refs #11102. Adding clone method to FunctionParameterDecorator

Changeset: 368318b8f8d34dc598e73c12205f6c00858416a5

comment:12 Changed 6 years ago by Michael Wedel

Refs #11102. Adding a test that uses Fit

Added an additional test for FunctionParameterDecorator that makes sure the interface works with Fit.

Changeset: 77ebcd2eefa8989d3bc19559ca2e14ac7798eee5

comment:13 Changed 6 years ago by Michael Wedel

Jenkins retest this please

comment:14 Changed 6 years ago by Ross Whitfield

Jenkins, retest this please

comment:15 Changed 6 years ago by Michael Wedel

Refs #11102. Removed FrameworkManager dependency from APITest

This would have caused exactly the same problem as described in #11183.

Changeset: d4b5c3d3fea55f00194b469f98d7a0e1498b49a0

comment:16 Changed 6 years ago by Michael Wedel

Jenkins retest this please

comment:17 Changed 6 years ago by Roman Tolchenov

  • Status changed from verifying to closed

Merge pull request #293 from mantidproject/11102_IPeakFunction_exposes_center_parameter_name

IPeakFunction should expose the parameter name that is associated to its centre

Full changeset: 9b2ff30d948a2169ec86f80ff2503f205f9a2830

comment:18 Changed 5 years ago by Nick Draper

Somehow these slipped through without a resolution. Set to Fixed.

comment:19 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 11941

Note: See TracTickets for help on using tickets.