Ticket #4158 (closed: fixed)

Opened 9 years ago

Last modified 5 years ago

Modify fitting to be able to fit to large data sets

Reported by: Roman Tolchenov Owned by: Roman Tolchenov
Priority: major Milestone: Release 2.1
Component: Mantid Keywords:
Cc: Blocked By:
Blocking: Tester: Alex Buts

Description

Currently the fitting algorithm uses unnecessarily too much memory which is unworkable in the case of MD workspaces.

Change History

comment:1 Changed 9 years ago by Roman Tolchenov

Re #4158. Started gradual change to a new function interface.

Changeset: 5740f22d23f11d7114597af0a8728c72adee13cd

comment:2 Changed 9 years ago by Roman Tolchenov

Re #4158. Fixing the builds.

Changeset: 3695bd1613ea7ca376e2b21bb30c4c7ed8cb924b

comment:3 Changed 9 years ago by Russell Taylor

The changes above have caused a number of Intel compiler warnings. Can these be addressed please? See http://download.mantidproject.org/jenkins/view/Nightly%20Builds/job/isis_clean_snowleopard/warnings

comment:4 Changed 9 years ago by Roman Tolchenov

Re #4158. Clearing compiler warnings.

Changeset: 17d74b69af07976c6aad94c158047add6254c9e2

comment:5 Changed 9 years ago by Mathieu Doucet

Re #4158 Fix warnings

Changeset: 0c9b1f00f946c1dc81fb54951fffe86c95bc6eca

comment:6 Changed 9 years ago by Roman Tolchenov

Re #4158. Added an experimental fitting algorithm.

Changeset: 2971e0e805cda666fac724b9106406102860fc9f

comment:7 Changed 9 years ago by Roman Tolchenov

Re #4158. Fixing the builds.

Changeset: 1e8aa8fbb20b641184dc611678d37eaf6d50f606

comment:8 Changed 9 years ago by Roman Tolchenov

Re #4158. Fixing the builds.

Changeset: 71ffb0f664d6f134a2c5b43ac9504c09a02045e5

comment:9 Changed 9 years ago by Nick Draper

  • Milestone changed from Iteration 32 to Iteration 33

Moved to iteration 33 at iteration 32 code freeze

comment:10 Changed 9 years ago by Roman Tolchenov

  • Status changed from new to accepted

comment:11 Changed 9 years ago by Roman Tolchenov

Re #4158. Started refactoring functions

Changeset: e612429d06b3b79c4aace6cb1a9682d947912dfb

comment:12 Changed 9 years ago by Roman Tolchenov

Re #4158. Refactored function interfaces to use domains and Values.

Changeset: df62d67a6d3297fe2a1ef379ce63a2b964fcdb9c

comment:13 Changed 9 years ago by Roman Tolchenov

Re #4158. Writing FunctionTest

Changeset: 76255b25bc8cf7487c648919689ba36ab975079b

comment:14 Changed 9 years ago by Roman Tolchenov

Re #4158. Added domain and values tests.

Changeset: b39dfad9d3854955c3b9c9c4f6b2123563798586

comment:15 Changed 9 years ago by Roman Tolchenov

Re #4158. Changed FunctionFactory to return shared pointers

Changeset: 3cd9798c17f1a27d4421c539cce6e393a36a7720

comment:16 Changed 9 years ago by Roman Tolchenov

Re #4158. Changed functions in CurveFitting

Changeset: 93647cdb6207b2c23657db87187ed912fab9adbd

comment:17 Changed 9 years ago by Roman Tolchenov

Re #4158. Changed the way active parameters are indexed.

They are indexed from 0 to nParams(). Any fitting code will have to check if they are actually active with isActive() method. isActive() could be not equal to !isFixed() if active parameters are overriden.

Changeset: 98930b36ccdb57ed29dffff7ba2fcd6d20846551

comment:18 Changed 9 years ago by Roman Tolchenov

Re #4158. Changed SimplexMinimizer.

Changeset: ecf0c2adb868a2a934da591416976ba55a5eb022

comment:19 Changed 9 years ago by Roman Tolchenov

Re #4158. Changed BFGS_Minimizer.

Changeset: f3faf895cfbc24b54553c382efaee6606f76a8b8

comment:20 Changed 9 years ago by Roman Tolchenov

Re #4158. Changed the least squares.

Changeset: fad7867dd207cb2579afbc7fcfd10d25867231ea

comment:21 Changed 9 years ago by Roman Tolchenov

Re #4158. Added FitMW algorithm.

Changeset: 1b5d9b9c068b03c00ca49f3243742c6b94615abc

comment:22 Changed 9 years ago by Roman Tolchenov

Re #4158. Debugged new Levenberg-Marquardt minimizer.

Changeset: de87dc8621caf3c9c88e9cdc8919072b442eaa0d

comment:23 Changed 9 years ago by Roman Tolchenov

Re #4158. Improvements to new Leveberg-Marquardt.

Changeset: b9202da9f34d5169fd925698770abd61d2addb01

comment:24 Changed 9 years ago by Roman Tolchenov

Re #4158. Returned the old Levenberg-Marquardt minimizer.

Changeset: c4bc0c546be261fc1d48089db011adb181fc319e

comment:25 Changed 9 years ago by Roman Tolchenov

Re #4158. MantidPlot compiles now.

Changeset: 5d42b851f59423a9133bb1f9ffaa70ebc44c7fa9

comment:26 Changed 9 years ago by Roman Tolchenov

Re #4158. Optimized LeastSquares for use in MD fitting

Changeset: bb99dcb9dc4de4992977e20c361218802adbb122

comment:27 Changed 9 years ago by Roman Tolchenov

Re #4158. Added FitMD algorithm.

Changeset: 866fd4242674640288906e3ecb3f70805292a36b

comment:28 Changed 9 years ago by Roman Tolchenov

Re #4158. Added MultiDomainFunction

Changeset: 31424928f7d90c5b6e671f97726de8dad643aa2c

comment:29 Changed 9 years ago by Roman Tolchenov

Re #4158. Made MultiDomainFunction initialization in FunctionFactory.

Changeset: e343fdb9bc76d4d88d72e12f074889c8afdd9a8b

comment:30 Changed 9 years ago by Roman Tolchenov

Re #4158. Added generic Fit algorithm.

Changeset: 988e79015df9a1da8d7c5f54c8f5138b5facfef0

comment:31 Changed 9 years ago by Roman Tolchenov

Re #4158. Made Fit work via AlgorithmProxy

Changeset: da4eb1a8259089f4c27557349326bf1b456496ff

comment:32 Changed 9 years ago by Roman Tolchenov

Re #4158. MultiDomainFunction works with Fit algorithm.

Changeset: 78931465211cf8ad6bc9cdff0769dead3d32e261

comment:33 Changed 9 years ago by Roman Tolchenov

Re #4158. Added custom FitDialog which needs more improvements

Changeset: 6f8754e5b6403d6a815b8ed29c90877d2c747fdb

comment:34 Changed 9 years ago by Roman Tolchenov

Re #4158. Removed remaining references to GenericFit

Changeset: 90afdb24b10107547da9a4fa389e3f4e12fef589

comment:35 Changed 9 years ago by Roman Tolchenov

Re #4158. Started refactoring functions

Changeset: 125eb674307866fa7b07037ab149c1566ee60dac

comment:36 Changed 9 years ago by Roman Tolchenov

Re #4158. Refactored function interfaces to use domains and Values.

Changeset: a5af579740d2dd45d64ab65eabd07647b9f4d644

comment:37 Changed 9 years ago by Roman Tolchenov

Re #4158. Writing FunctionTest

Changeset: a58c45e72bd35f916e1ad57d3464592bf9d09495

comment:38 Changed 9 years ago by Roman Tolchenov

Re #4158. Added domain and values tests.

Changeset: c7ce1969ed655904bbc751b0d95b2afdf78920ba

comment:39 Changed 9 years ago by Roman Tolchenov

Re #4158. Changed FunctionFactory to return shared pointers

Changeset: 1b02431b1fca40af4f784d0919548e1ecd9c3aac

comment:40 Changed 9 years ago by Roman Tolchenov

Re #4158. Changed functions in CurveFitting

Changeset: cd16b573b4e6364c164699cb27f91fdd3eb52bb9

comment:41 Changed 9 years ago by Roman Tolchenov

Re #4158. Changed the way active parameters are indexed.

They are indexed from 0 to nParams(). Any fitting code will have to check if they are actually active with isActive() method. isActive() could be not equal to !isFixed() if active parameters are overriden.

Changeset: 18d2aa5faf4faa473374c7755b55cbecf9194987

comment:42 Changed 9 years ago by Roman Tolchenov

Re #4158. Changed SimplexMinimizer.

Changeset: 4ace6a03b314dc784061886b888c42b485aade86

comment:43 Changed 9 years ago by Roman Tolchenov

Re #4158. Changed BFGS_Minimizer.

Changeset: 4ec88f1d1c52ab895eb08d2049deaf70328c559e

comment:44 Changed 9 years ago by Roman Tolchenov

Re #4158. Changed the least squares.

Changeset: e8c2d034466cfae56af79dff1061bab692bc29d9

comment:45 Changed 9 years ago by Roman Tolchenov

Re #4158. Added FitMW algorithm.

Changeset: 5dbc09a1bf8a628b6b5d59ab881dbd7430d14843

comment:46 Changed 9 years ago by Roman Tolchenov

Re #4158. Debugged new Levenberg-Marquardt minimizer.

Changeset: d9ba1b5bbf3c7762f63507c4fd576ede87fd95ee

comment:47 Changed 9 years ago by Roman Tolchenov

Re #4158. Improvements to new Leveberg-Marquardt.

Changeset: 4f44d761afdce0d4601737abd5f0aec09d51eb07

comment:48 Changed 9 years ago by Roman Tolchenov

Re #4158. Returned the old Levenberg-Marquardt minimizer.

Changeset: aa9b24704d7458d8865020cc3af02bcacc333c72

comment:49 Changed 9 years ago by Roman Tolchenov

Re #4158. MantidPlot compiles now.

Changeset: 985a35b9dd61ff2c56a6548117ce0d538c2de7b6

comment:50 Changed 9 years ago by Roman Tolchenov

Re #4158. Optimized LeastSquares for use in MD fitting

Changeset: f8d19602ffd6bf341aced55442ba044f67519146

comment:51 Changed 9 years ago by Roman Tolchenov

Re #4158. Added FitMD algorithm.

Changeset: 12892a02ce78c4b44ea83d2f9463e5bae5319354

comment:52 Changed 9 years ago by Roman Tolchenov

Re #4158. Added MultiDomainFunction

Changeset: c542f000b9c2e54b2861bd7fef3fcd53f514dc6c

comment:53 Changed 9 years ago by Roman Tolchenov

Re #4158. Made MultiDomainFunction initialization in FunctionFactory.

Changeset: a02b0748a7838bd825f7301d114cb465848cfdcf

comment:54 Changed 9 years ago by Roman Tolchenov

Re #4158. Added generic Fit algorithm.

Changeset: 5f540436d99f5b046d9f1de9074d29cfac643a8d

comment:55 Changed 9 years ago by Roman Tolchenov

Re #4158. Made Fit work via AlgorithmProxy

Changeset: c4d5887f46ba2b6ac625ac09ae09e7d30337f27d

comment:56 Changed 9 years ago by Roman Tolchenov

Re #4158. MultiDomainFunction works with Fit algorithm.

Changeset: 637f9ebbe84b253f36dff93cefb6ab16e562e6f8

comment:57 Changed 9 years ago by Roman Tolchenov

Re #4158. Added custom FitDialog which needs more improvements

Changeset: 53b5dc5b7302f94a1796fe9c14a265e4ed9f5423

comment:58 Changed 9 years ago by Roman Tolchenov

Re #4158. Removed remaining references to GenericFit

Changeset: ed24efb3ccdf27db024f3a243e9789265681f05d

comment:59 Changed 9 years ago by Roman Tolchenov

Re #4158. Merged curve_fitting into master.

Changeset: f97ef8f48fb56d8f68d93050e5a86674fa828422

comment:60 Changed 9 years ago by Roman Tolchenov

Re #4158. Fixed tests

Changeset: 59187a3cb9490a3a6cd3a859ad6bff826b1634fa

comment:61 Changed 9 years ago by Roman Tolchenov

Re #4158. Fixing the builds

Changeset: 8ec6c3fd2733954a5c4e1840d212e55adea840b4

comment:62 Changed 9 years ago by Roman Tolchenov

Re #4158. Fixing the builds

Changeset: 023f7fb30b855a987c96755a4e94e5423fda95cf

comment:63 Changed 9 years ago by Roman Tolchenov

Re #4158. More fixing

Changeset: bdebc4c453c996dd9c574e2b6a0f066c549bd592

comment:64 Changed 9 years ago by Roman Tolchenov

Re #4158. Trying to make lambda functions work

Changeset: a11e8dafcda2c535ec78d547d75fd7f479405dc8

comment:65 Changed 9 years ago by Roman Tolchenov

Re #4158. Replaced my lambda functions

Changeset: 35fb59b1156f21e5e7fe078f15a7529dc004f7fa

comment:66 Changed 9 years ago by Roman Tolchenov

Re #4158. Changed nullptr -> NULL

Changeset: 33cfea8ec8b49500637b28ca67301c732cab7384

comment:67 Changed 9 years ago by Roman Tolchenov

Re #4158. Missed a lambda

Changeset: 7f54ceae702986d01d41ebda70ad7a4829b5271f

comment:68 Changed 9 years ago by Roman Tolchenov

Re #4158. Fixing the tests

Changeset: b8922dc4d1863cf0c84828148d064c264fee64df

comment:69 Changed 9 years ago by Roman Tolchenov

Re #4158. Renamed a test file

Changeset: 5a175eced7fda6ae4cabee7532d919e5b4fa5716

comment:70 Changed 9 years ago by Roman Tolchenov

Re #4158. Fixing some warnings

Changeset: b3f1d9c7c78ca038c68e2e05c8fa6ee7179af8d0

comment:71 Changed 9 years ago by Roman Tolchenov

Re #4158. Temporarily removed failing test

Changeset: 4bbb63f0a8c4118f9543d35a01863119f890055c

comment:72 Changed 9 years ago by Roman Tolchenov

Re #4158. Removed tests failing on Mac only.

I'll try to fix them tomorrow.

Changeset: 746217c0667a99328dd5373246031102662e93dd

comment:73 Changed 9 years ago by Roman Tolchenov

Re #4158. Fixing a windows 7 test

Changeset: 1f63aaeda7c0d1b611a0603200cb0a6142bfe07f

comment:74 Changed 9 years ago by Roman Tolchenov

Re #4158. Trying to find out what's wrong with windows7 build

Changeset: c2ac6ce77e75ccb39fff07fca6f5abd902137163

comment:75 Changed 9 years ago by Roman Tolchenov

Re #4158. Found the real bug

Changeset: 9a0d9064973757891cd18db65784bae6c753cd37

comment:76 Changed 9 years ago by Roman Tolchenov

Re #4158. Renaming setValue method to fix warnings

Changeset: f7321d6d811d29172ae1bfbc378a8b85bdbbc4aa

comment:77 Changed 9 years ago by Roman Tolchenov

Re #4158. Fixing some warnings

Changeset: be0540d51dc55e6181a4c45b3b8e960e7ba23ab7

comment:78 Changed 9 years ago by Roman Tolchenov

Re #4158. Fixing more warnings

Changeset: 1906c9e498844043b0ff7bfa86cfe20c304cb2ba

comment:79 Changed 9 years ago by Roman Tolchenov

Re #4158. Fixing errors now

Changeset: 27ee20cfde304ac5a4bc6a8049921405d4aeabdf

comment:80 Changed 8 years ago by Roman Tolchenov

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

In this ticket the curve fitting was refactored to allows MD fitting work more efficiently. More work on MD fitting will be done in separate tickets. Testers of this ticket should expect all usual Mantid fitting functionalities to work.

comment:81 Changed 8 years ago by Vickie Lynch

Refs #4158 calibrations generate thousands of warnings

Changeset: 5c76daba61216cd092463929a911c8f3db83c926

comment:82 Changed 8 years ago by Vickie Lynch

Refs #4158 calibrations generate thousands of warnings

Changeset: 5c76daba61216cd092463929a911c8f3db83c926

comment:83 Changed 8 years ago by Alex Buts

  • Status changed from verify to verifying
  • Tester set to Alex Buts

comment:84 Changed 8 years ago by Alex Buts

  • Status changed from verifying to reopened
  • Resolution fixed deleted

for the time being can not be started given md workspace throws unexpected extension

comment:85 Changed 8 years ago by Roman Tolchenov

Re #4158. A fix to the FitDialog.

Making sure that if Function property is empty/default no other property is set.

Changeset: c8ad1b7a551bea44cc1ac9b145e42724b9c7b4cf

comment:86 Changed 8 years ago by Roman Tolchenov

  • Status changed from reopened to accepted

comment:87 Changed 8 years ago by Roman Tolchenov

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

comment:88 Changed 8 years ago by Alex Buts

  • Status changed from verify to verifying

comment:89 Changed 8 years ago by Roman Tolchenov

Re #4158. Another fix do FitDialog

Changeset: e5f06f4dc5759d4bd25a34e06c2b7a73bc6fb285

comment:90 Changed 8 years ago by Alex Buts

previous functionality works (mainly tested on 1D peak functions)

Fit dialogues work too, though not very convenient as need to put good guess manually

MD functionality is not there yet.

comment:91 Changed 8 years ago by Alex Buts

  • Status changed from verifying to closed

comment:92 Changed 8 years ago by Roman Tolchenov

Re #4158. A fix to the FitDialog.

Making sure that if Function property is empty/default no other property is set.

Changeset: c8ad1b7a551bea44cc1ac9b145e42724b9c7b4cf

comment:93 Changed 8 years ago by Roman Tolchenov

Re #4158. Another fix do FitDialog

Changeset: e5f06f4dc5759d4bd25a34e06c2b7a73bc6fb285

comment:94 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 5005

Note: See TracTickets for help on using tickets.