Ticket #330 (closed: fixed)

Opened 12 years ago

Last modified 5 years ago

Create time-of-flight fitting function Ikeda-Carpenter

Reported by: Laurent Chapon Owned by: Anders Markvardsen
Priority: critical Milestone: Iteration 20
Component: Keywords:
Cc: Blocked By:
Blocking: Tester:

Description

This function gives often a better description than the back-to-back exponential function.

Change History

comment:1 Changed 12 years ago by Nick Draper

  • Owner changed from Laurent Chapon to Anders Markvardsen
  • Milestone changed from Iteration 14 to Iteration 15

comment:2 Changed 12 years ago by Nick Draper

  • Milestone changed from Iteration 15 to Iteration 16

Batch move uncompleted tickes to next iteration

comment:3 Changed 12 years ago by Nick Draper

  • Priority changed from major to minor

dropped in priority until curve fitting algorithm base class work is complete

comment:4 Changed 11 years ago by Nick Draper

  • Milestone changed from Iteration 16 to Iteration 17

comment:5 Changed 11 years ago by Nick Draper

  • Milestone changed from Iteration 17 to Iteration 18

Moved as part of iteration end

comment:7 Changed 11 years ago by Nick Draper

  • Milestone changed from Iteration 18 to Iteration 19

Moved as part of iteration 18 end

comment:8 Changed 11 years ago by Anders Markvardsen

(In [2897]) Updated doc in code and wiki to be consistent with camel name notation for parameter names defined for the fitting functions. Refs #330.

comment:9 Changed 11 years ago by Nick Draper

  • Priority changed from minor to critical

comment:10 Changed 11 years ago by Anders Markvardsen

(In [3048]) Finished first iteration of Ikeda Carpenter, including wiki and test on mock data.

Remaining:

Implemented for now without derivative, and convergence seems to be a bit fragile in some instances (this is apparently not unexpected from conversation with Aziz) For now assumed that ?\226?\128?\152wavelength = 1?\226?\128?\153, i.e. this e.g. means alpha = 1/(alpha0+alpha1) Assume PV is 100% Guassian, need to add Lorentzian part to PV

To do:

A few more test on stability e.g. to probe if some params are more difficult to refine

Implement derivative, which may make this peakshape function more stable

Implement ?\226?\128?\152wavelength?\226?\128?\153 dependence on parameter. Before doing this make sure that the unit for wavelength in Mantid matches the wavelength unit used in the Fullprof manual Include test on a real data peak Add implementation of exponential integral function that takes complex argument and then add Lorentzian part to PV

Desirable:

Allow user to specify ?\226?\128?\152wavelength?\226?\128?\153. That way this peak shape is not tied to data for which the wavelength at each data point is know

Refs #330.

comment:11 Changed 11 years ago by Anders Markvardsen

(In [3107]) More testing on simplex Ikeda-Carpenter, and simplex seems to perform better than expected. Implemented derivative code for some of the parameters and somewhat surprisingly simplex-fitting seems to perform better than least-squared-derivative fitting (at least when fitting the I and X0 parameters). Hence for now commented out derivative code.

In this process made some minor improvements in speed to how the other fitting functions calculate derivatives and corrected a small error in the Lorentzian derivative function. Refs #330.

comment:12 Changed 11 years ago by Anders Markvardsen

(In [3123]) Modified Fit1D and IkedaCarpenter to allow for fitting parameters to depend on wavelength. Refs #330.

comment:13 Changed 11 years ago by Anders Markvardsen

(In [3142]) Modified IkedaCarpenter so workspace plot output also have some dependence on wavelength. Forgot in previous commit to this ticket to add wavelength dependence on Alpha1 parameter also, has now done this. Refs #330.

comment:14 Changed 11 years ago by Anders Markvardsen

(In [3173]) As a consequence of the wavelength dependence introduced with IkedaCarpender fitting removed method with signature double FunctionCurve.obj(...). This also reduce dublication. Refs #330.

comment:15 Changed 11 years ago by Anders Markvardsen

(In [3180]) Ups my mistake, when fitting a fit in MantidPlot fitted peak wrong way up. Fixed this. Refs #330.

comment:16 Changed 11 years ago by Nick Draper

  • Milestone changed from Iteration 19 to Iteration 20

Moved as part of the end of Iteration 19

comment:17 Changed 11 years ago by Anders Markvardsen

(In [3232]) Implemented complex Exponential Integral function based on expressions in Abramowitz and Stegun. Tested for a number of point in complex plane. Seem to perform pretty well. Refs #330.

comment:18 Changed 11 years ago by Anders Markvardsen

(In [3233]) Removed a few warning signed to unsigned int. Refs #330.

comment:19 Changed 11 years ago by Anders Markvardsen

(In [3237]) Added Lorentzian broadening to IC. Refs #330.

comment:20 Changed 11 years ago by Anders Markvardsen

(In [3241]) Added test which refine on background, intensity, gaussian and Lorentzian peak-widths simultaniously, while keeping the IC instrument parameters fixed. Refs #330.

comment:21 Changed 11 years ago by Anders Markvardsen

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

Wiki doc updated

comment:22 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 1178

Note: See TracTickets for help on using tickets.