Ticket #5121 (closed: fixed)

Opened 8 years ago

Last modified 5 years ago

[IDA] FuryFit - Include User-Defined "Fix" Values in Sequential Fits

Reported by: Peter Parker Owned by: Samuel Jackson
Priority: major Milestone: Release 3.2
Component: Indirect Inelastic Keywords: IDA
Cc: Blocked By: #8739, #9199
Blocking: #8284 Tester: Jay Rainey

Description (last modified by Samuel Jackson) (diff)

Both tabs have Sequential Fit buttons as well as allowing the user to "fix" certain property values.

  • Check that the fixed values are used in the single spectrum fit (pressing the "Run" button fits a single spectrum).
  • Change the code underlying the "Sequential Fit" button to include the "fixed" value information when passing the fitting function string to furyfitseq in IndirectDataAnalysis.py.
  • Add a sample log for FuryFit stating if the intensity was constrained or not.

Change History

comment:1 Changed 8 years ago by Nick Draper

  • Milestone changed from Release 2.1 to Release 2.2

Moved at end of release 2.1

comment:2 Changed 8 years ago by Nick Draper

  • Milestone changed from Release 2.2 to Release 2.3

Moved at the end of release 2.2

comment:3 Changed 8 years ago by Peter Parker

  • Keywords IDA added

comment:4 Changed 8 years ago by Nick Draper

  • Milestone changed from Release 2.3 to Release 2.4

Moved to milestone 2.4

comment:5 Changed 8 years ago by Nick Draper

  • Milestone changed from Release 2.4 to Release 2.5

Moved at the code freeze for release 2.4

comment:6 Changed 7 years ago by Nick Draper

  • Milestone changed from Release 2.5 to Release 2.6

Moved to r2.6 at the end of r2.5

comment:7 Changed 7 years ago by Nick Draper

  • Component changed from Mantid to Framework

comment:8 Changed 7 years ago by Nick Draper

  • Milestone changed from Release 2.6 to Backlog

Moved to backlog at the code freeze for R2.6

comment:9 Changed 7 years ago by Samuel Jackson

  • Owner changed from Peter Parker to Samuel Jackson
  • Description modified (diff)

comment:10 Changed 7 years ago by Samuel Jackson

  • Component changed from Framework to Indirect Inelastic

comment:11 Changed 7 years ago by Samuel Jackson

It appears that this has already been implemented for ConvFit, but not for FuryFit...

comment:12 Changed 7 years ago by Samuel Jackson

  • Milestone changed from Backlog to Release 3.2

comment:13 Changed 7 years ago by Samuel Jackson

  • Description modified (diff)

comment:14 Changed 7 years ago by Samuel Jackson

  • Summary changed from [IDA] FuryFit / ConvFit - Include User-Defined "Fix" Values in Sequential Fits to [IDA] FuryFit - Include User-Defined "Fix" Values in Sequential Fits

comment:15 Changed 7 years ago by Nick Draper

  • Status changed from new to assigned

Bulk move of tickets out of triage (new) to assigned at the introduction of the triage state

comment:16 Changed 7 years ago by Samuel Jackson

  • Blocked By 8739 added

There is a function I created in ticket #8739 that would be useful in this ticket. Verify the other one first, then use the code for that ticket here.

comment:17 Changed 7 years ago by Samuel Jackson

  • Status changed from assigned to inprogress

Refs #5121 Convert FuryFit to use PlotPeakByLogValue

This will make it easier to implement fixing parameters as we don't have to create the function twice. It also means that it is consistent with ConvFit.

Changeset: cdef53cbf9f2cc695b979c9ee437ca6a0f0914d3

comment:18 Changed 7 years ago by Samuel Jackson

Refs #5121 Make function/property names consistent.

Changeset: f26fe4b70b0d629c03af6b5c975917e7cbca727a

comment:19 Changed 7 years ago by Samuel Jackson

Refs #5121 Update setting ties to actually work.

Changeset: e0a1aaf865b88d50641fd01e09b76283d105b50a

comment:20 Changed 7 years ago by Samuel Jackson

Refs #5121 Make fixed props play nice with constraining intensities.

Changeset: beb69b778586b12f1a08efbca0ecdf073771c348

comment:21 Changed 7 years ago by Samuel Jackson

Refs #5121 pass back correct workspace name.

Changeset: a40f2d6bf9307436e744c5624d82ba3ca581b039

comment:22 Changed 7 years ago by Samuel Jackson

Refs #5121 Crop workspace around energy range before fitting.

Changeset: 199741ebf914679139b9065d659d2a77ed902fd2

comment:23 Changed 7 years ago by Samuel Jackson

  • Blocked By 9199 added

comment:24 Changed 7 years ago by Samuel Jackson

Refs #5121 Convert result to use to string instead of workspace.

Changeset: 86b680dacadff2803c7a98364f39558b5b702e01

comment:25 Changed 7 years ago by Samuel Jackson

Refs #5121 Update reference results for Fury.

These where originally wrong as FuryFit crops the input workspace, modifying the resulting workspace. FuryFit now doesn't crop the input directly and so these results test the direct output of Fury.

Changeset: 24ba61f14d5ed7ec296615dbd2b90843d5f13083

comment:26 Changed 7 years ago by Samuel Jackson

Refs #5121 Update reference results for FuryFitSeq

FuryFit results now have slightly shifted x values because of the swap to use ConvertSpectrumAxis.

Changeset: 0cec790fc1296f445c068b2503be0ca4b16cf70c

comment:27 Changed 7 years ago by Samuel Jackson

Refs #5121 Add system test for FuryFitMulti

Changeset: 53b3a75a1e55da822e9fb38da526c5b2f5659c6d

comment:28 Changed 7 years ago by Samuel Jackson

Refs #5121 Remove debugging statement.

Changeset: c7a29b9692eabf686763146c7fee2b139ac7f4f3

comment:29 Changed 7 years ago by Samuel Jackson

Refs #5121 Share common functions in IndirectCommon.

These functions are either shared between different routines or are generic enough to potentially be used by other routines.

Changeset: 8f833da37485f7ed3e0d0900eae17bf8b4eea673

comment:30 Changed 7 years ago by Samuel Jackson

Refs #5121 Remove generic functions from IDA to IndirectCommon.

Changeset: 4c486ae9365b51c90dd4d41ab9d40652bda21729

comment:31 Changed 7 years ago by Samuel Jackson

Refs #5121 Make FuryFitMulti fit against function from GUI.

To fully finish this we need to pull in the changes from #9199 to get the proper fit output.

Changeset: 76a9b2e470e824aa7709bf7241f1b27d56c9646b

comment:32 Changed 7 years ago by Samuel Jackson

Refs #5121 Move adding sample logs to a more generic function.

Changeset: 0214b75797e50b7b2ec59c8586529289f818edd1

comment:33 Changed 7 years ago by Samuel Jackson

Refs #5121 Remove redundant code from FuryFitMult

This code is no longer needed because we can get Fit to output the individual results of a multi-domain fit.

Changeset: 76d3aa1b34b9b5d86d3544e7433f1b24a698e444

comment:34 Changed 7 years ago by Samuel Jackson

Refs #5121 Convert x-axis to be in momentum transfer.

Changeset: b44a8e8893a0d1ef20e6b807663e8125ee06958c

comment:35 Changed 7 years ago by Samuel Jackson

Refs #5121 Add return value to FuryFitMult for system tests.

Changeset: cb4c0d9bac4869c075f4d80e63a9ecee6ac7a89f

comment:36 Changed 7 years ago by Samuel Jackson

Merge branch 'feature/5121_furyfit_fix_params' into develop

Refs #5121

Conflicts:

Code/Mantid/scripts/Inelastic/IndirectCommon.py Code/Mantid/scripts/Inelastic/IndirectDataAnalysis.py

Changeset: 94acbf679062097c03ee86a9d7c02aed5c00d744

comment:37 Changed 7 years ago by Samuel Jackson

Refs #5121 Modify convertElasticQ to work with SQW files.

Changeset: 2689e7862e3bbc693a4056dccd73c24ae8887cf4

comment:38 Changed 7 years ago by Samuel Jackson

Refs #5121 Update ref results with better fit for other platforms.

Changeset: a2189c474847b8e1e0f06bbc639d92cbeabe8f7b

comment:39 Changed 6 years ago by Samuel Jackson

  • Description modified (diff)

To Tester

A lot of the functionality for this ticket was already written in FuryFit, but it just didn't work. Now you should be able to fix any parameter for the fit by right clicking on it (like you can in ConvFit).

Generic instructions for running FuryFit can be found at:

http://www.mantidproject.org/Indirect:Indirect_Data_Analysis

You will also probably need to run Fury first to generate a workspace you can use with FuryFit.

Specifically, to test this you should:

  • Run FuryFit with each of the available fit functions.
  • Test that the "constrain beta over all Q" option works for a stretched exponential.
  • Try both the above again, but with fixing some of the values for the fit.

Finally, FuryFit always has some default constraints set:

  • The intensity should always be equal to 1-background (A0)
  • If the "Constrain beta over all Q" option is chosen, every beta parameter should remain tied.

Check that both of these constraints still hold even when fixing some of these values.

comment:40 Changed 6 years ago by Samuel Jackson

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

comment:41 Changed 6 years ago by Samuel Jackson

  • Blocking 8284 added

(In #8284) The changes in this ticket are conflicting with the changes in #5121. The easiest way to fix this is to merge the changes from that ticket into this ticket. Therefore #5121 MUST be tested and merged with master before this ticket.

comment:42 Changed 6 years ago by Samuel Jackson

Refs #5121 Fix FuryFit plotting.

Changeset: 4e2c46c84022b1a90d18010770a12110249c5144

comment:43 Changed 6 years ago by Samuel Jackson

  • Status changed from verify to reopened
  • Resolution fixed deleted

comment:44 Changed 6 years ago by Samuel Jackson

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

comment:45 Changed 6 years ago by Jay Rainey

  • Status changed from verify to verifying
  • Tester set to Jay Rainey

comment:46 Changed 6 years ago by Samuel Jackson

Merge branch 'feature/5121_furyfit_fix_params' of github.com:mantidproject/mantid into feature/5121_furyfit_fix_params

Refs #5121

Conflicts:

Code/Mantid/scripts/Inelastic/IndirectCommon.py Code/Mantid/scripts/Inelastic/IndirectDataAnalysis.py

Changeset: e0c43f6251bbea60e6d7be3197ad442968960d9a

comment:47 Changed 6 years ago by Samuel Jackson

Merge branch 'feature/5121_furyfit_fix_params' into develop

Refs #5121

Conflicts:

Code/Mantid/scripts/Inelastic/IndirectCommon.py

Changeset: 3d42142804ec1e36f7c580548fa944ccc616b064

comment:48 Changed 6 years ago by Jay Rainey

  • Status changed from verifying to closed

I verified that the issues existed using a Mantid 3.2 install, and then built the branch locally for verifying that changes made address the issues noted in the comment:description and comment:39. The FuryFit interface's functionality is now similar to ConvFit.

Code changes are sensible, and the build servers are happy. Closing.

Note: There are several commits in this ticket that refer to this system test branch. Having discussed this with Sam, it seems he needed changes from #8284, so merged those into this branch. The related system test branch will be reviewed in #8284.

comment:49 Changed 6 years ago by Samuel Jackson

Merge branch 'feature/5121_furyfit_fix_params' of github.com:mantidproject/mantid into feature/5121_furyfit_fix_params

Full changeset: c872b29df31d8ecc6a86feb715f37755c6a0bbaa

comment:50 Changed 6 years ago by Samuel Jackson

Merge branch 'feature/5121_furyfit_fix_params' of github.com:mantidproject/mantid into feature/5121_furyfit_fix_params

Refs #5121

Conflicts:

Code/Mantid/scripts/Inelastic/IndirectCommon.py Code/Mantid/scripts/Inelastic/IndirectDataAnalysis.py

Full changeset: e0c43f6251bbea60e6d7be3197ad442968960d9a

comment:51 Changed 6 years ago by Jay Rainey

Merge remote-tracking branch 'origin/feature/5121_furyfit_fix_params'

Full changeset: 4339b4232a6d45f297bca0df0fa250073d1e16d5

comment:52 Changed 6 years ago by Samuel Jackson

Merge branch 'feature/5121_furyfit_fix_params' into feature/8284_fury_convfit_data_selector

Refs #8284

Conflicts:

Code/Mantid/scripts/Inelastic/IndirectCommon.py Code/Mantid/scripts/Inelastic/IndirectDataAnalysis.py

Full changeset: 154ab421d07018a8b9b9ead26d560d65a5114708

comment:53 Changed 6 years ago by Samuel Jackson

Merge branch 'feature/5121_furyfit_fix_params' into feature/8284_fury_convfit_data_selector

Full changeset: ec8c549e7346f4620cb62b8580ae9479d5bc9159

comment:54 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 5967

Note: See TracTickets for help on using tickets.