Ticket #10532 (closed: fixed)

Opened 6 years ago

Last modified 5 years ago

Separate Property manager from Direct inelastic reduction script

Reported by: Alex Buts Owned by: Alex Buts
Priority: major Milestone: Release 3.3
Component: Framework Keywords:
Cc: Blocked By:
Blocking: #10677, #10681, #10684 Tester: Ian Bush

Description (last modified by Alex Buts) (diff)

This is the part of agreed work for unifying ISIS direct reduction scripts.

The class responsible for ISIS reduction should be separated into property managed and executive part.

This will also make it much close to SNS reduction bearing in mind possible merging them in a future.

Change History

comment:1 Changed 6 years ago by Alex Buts

  • Description modified (diff)

comment:2 Changed 6 years ago by Alex Buts

  • Status changed from new to assigned

comment:3 Changed 6 years ago by Alex Buts

  • Status changed from assigned to inprogress

Re #10532 Initial separation

Changeset: 072b1f1be1660ffd62b8113f1ce88960c4dc1746

comment:4 Changed 6 years ago by Alex Buts

Re #10532 Further small steps

Changeset: 7fce5d29b646f67dce972fc89f2f32cc082a14e5

comment:5 Changed 6 years ago by Alex Buts

refs #10532 Defined generic operations over reduction parameters.

Changeset: 7782b6888550995b456220d9bb83f35ab7d8d81d

comment:6 Changed 6 years ago by Alex Buts

refs #10532 More steps in defining property manager

Changeset: 789b2ddb0faa0c35cba452d0698b9221d1066e33

comment:7 Changed 6 years ago by Alex Buts

refs #10532 Initial property manager code

Changeset: f001162c880ac336378e5f938e1c8d5cd8858329

comment:8 Changed 6 years ago by Alex Buts

refs #10532 reimplemented parts of the property manager

using descriptors

Changeset: a8663ac4f015b06014be10aa14cdfa8a41dd7e54

comment:9 Changed 6 years ago by Alex Buts

refs #10532 New class ComplexProperty and started binging

simple and complex reduction properties.

Changeset: aacd44fc6386ccbac834192760a76417d715dfd6

comment:10 Changed 6 years ago by Alex Buts

refs #10532 Main functionality moved to separate property manager

Changeset: 77f4ab6d1c3c438ca521b60ecb254117ae1074de

comment:11 Changed 6 years ago by Alex Buts

refs #10532 Old interface added for verification

necessary for transition period

Changeset: 13f365043eead1e56512b6e6e25cc4674b5c1b75

comment:12 Changed 6 years ago by Alex Buts

refs #10532 minor comments

Changeset: fac2fe30167cb5fba0a618aa074b48e07b3be136

comment:13 Changed 6 years ago by Alex Buts

Re #10532 DirectEnergyConversion modified to use DirectPropertyManager

Changeset: 6b99c42a0f34f3ae0c9edf49e34fa36efcdf1f72

comment:14 Changed 6 years ago by Alex Buts

refs #10532 further separation in DirectEnergyConversion.

Changeset: 4ee842466af2c23b03057ad4b67cec9296db5ada

comment:15 Changed 6 years ago by Alex Buts

Re #10532 minor changes related to changes in diagnose interface

Changeset: f645a8beb50d6808449e1749b12f5c550eaf74f8

comment:16 Changed 6 years ago by Alex Buts

refs #10532 Intermediate checkout

walking through DirectEnergyConversion and using PropertyManager everywhere

Replaced all in diagnostics but need to deal with wb integrals next.

Changeset: 9725d89e2d129f4f48e0dea8da8b2ef2699dcafa

comment:17 Changed 6 years ago by Alex Buts

Re #10532 Modified and briefly tested do_white and diagnose methods

in DirectEnergyConversion

Changeset: d2f44cd8dcd1bded13efc8a746d00ea2d60f36d7

comment:18 Changed 6 years ago by Alex Buts

Re #10532 Fixed diagnose system test

Changeset: 4d4352c39e0ec1c54a249264b213c2838ca53aec

comment:19 Changed 6 years ago by Alex Buts

Re #10532 Formally started to run.

system tests are still failing

Changeset: b7e120f1d5a97ac71934960d1ccdad0169e60a46

comment:20 Changed 6 years ago by Alex Buts

Re #10532 Minor changes to run separated reduction version.

Changeset: b86b9552493602351370921efdcd1160254cfba3

comment:21 Changed 6 years ago by Alex Buts

Re #10532 separated DirectReductionProperties into two

as it become too big to be convenient.

Changeset: 64fb148da3a5bc49b68c18aeed5b2ab220530801

comment:22 Changed 6 years ago by Alex Buts

Re #10532 written and tested option to write changed properties

to HDD and load them back.

Changeset: 66e5eedf6756b2cf3714b791e13ec93a2da46a17

comment:23 Changed 6 years ago by Alex Buts

Re #10532 Test version of ReductionWrapper (will be abstract and mod

later)

Changeset: 3499986aae721a4f9dc164c889dad61eb32267e9

comment:24 Changed 6 years ago by Alex Buts

Re #10532 minor bug fixes.

Changeset: 8aa5c3444ce1a6caeb8ccb37512b88df75ab7bfc

comment:25 Changed 6 years ago by Alex Buts

Re #10532 Changing in default log levels and better logging

Changeset: 1ee8235ebe22f619ee3e0fa1061d28e096903e42

comment:26 Changed 6 years ago by Alex Buts

Re #10532 fixed simple tests for MARI

and modified ReductionWrapper according to Marcus suggestions (minor)

Changeset: 0b13082d61f22aff7c9dc3834f51b1b3fc5cdf16

comment:27 Changed 6 years ago by Alex Buts

Re #10532 Fixing system test for summation

and fixing long standing error in dgreduce (thanks good nobody used internal reduction procedure)

Changeset: cea7d0fed02e813df070d79fe2677debf12190c8

comment:28 Changed 6 years ago by Alex Buts

Re #10532 Fixing system tests for summation

and amendments to other tests for Mari appearing due to WB integrals done differently.

Changeset: 71ac4c6ba347fe94cab522d7e32aa4a17f5dc683

comment:29 Changed 6 years ago by Alex Buts

Re #10532 fixed system tests for MARI

Changeset: 28985db02c0843e4aa3b2c363dd1dc0813fb8bdb

comment:30 Changed 6 years ago by Alex Buts

Re #10532 Fixed Merlin and Maps system tests

Modified property managed to allow it MonovanIntegrationRange accepting absolute energy range (used by MAPS system test)

Changeset: c573b4853895f51b657050668e9ad984839387fe

comment:31 Changed 6 years ago by Alex Buts

Re #10532 Minor modifications to fix system tests

Changeset: 98ed67351985876f50cafeab27b774a533a63252

comment:32 Changed 6 years ago by Alex Buts

  • Blocking 10676 added

comment:33 Changed 6 years ago by Alex Buts

  • Blocking 10677 added

comment:34 Changed 6 years ago by Alex Buts

Re #10532 all working, all fixed.

Changeset: bcc791341cbf8ec1e2cd639d4c582033183eed58

comment:35 Changed 6 years ago by Alex Buts

Re #10532 changes to fix ISIS system tests

Changeset: e05b8aa04e7937ecbb01f30d5fb6dca4e4122d38

comment:36 Changed 6 years ago by Alex Buts

Re #10532 updated SNS code (not if anybody uses it anyway)

Changeset: becaea1a07d4e64a112ab037771def0b1be22680

comment:37 Changed 6 years ago by Alex Buts

  • Blocking 10681 added

comment:38 Changed 6 years ago by Alex Buts

The changes are both in Mantid and System test branch and are python only.

Difficult ticket to test in details if you are not familiar with ISIS direct inelastic and nobody probably are well enough and the ticket deals with the re-factoring of the code not introducing any new functionality.

But not much testing is needed as doing it I have intentionally not introduced any new functionality (except fixing couple of bugs, which nobody used anyway) but just separated three years of subsequent maintenance changes to interface of ISIS direct inelastic (which caused initial file to grow from ~1K rows to ~3K) into separate classes.

The interface classes are written following the description, outlined in Lutz; Learning Python 2011, mainly chapters 37-38.

The changes are intended to made interface dependent on Instrument_Parameters.xml file only and prohibit access and creation of any properties, not described there.

Doing that I have also tried to maintain and support all functionality, introduced during number of years of maintaining these scripts -- just separated the interface from the code responsible for the reduction itself.

This is mainly successful, though number of small ticket is still necessary to polish the changes.

The proof that the changes work are system tests, verifying the reduction validity.

Tester welcome to look through PropertyManager which is mainly complete but should not bother with DirectEnergyConversion, as this one has been intentionally changed as small as possible to provide all previous functionality.

Last edited 6 years ago by Alex Buts (previous) (diff)

comment:39 Changed 6 years ago by Alex Buts

Re #10532 Minor comments

Changeset: 7c0908a5f8367b490821ca365c9b87b36ea4714c

comment:40 Changed 6 years ago by Alex Buts

  • Blocking 10684 added

comment:41 Changed 6 years ago by Alex Buts

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

comment:42 Changed 6 years ago by Ian Bush

  • Status changed from verify to verifying
  • Tester set to Ian Bush

comment:43 Changed 6 years ago by Alex Buts

  • Blocking 10681 removed

comment:44 Changed 6 years ago by Alex Buts

  • Blocking 10681 added

comment:45 Changed 6 years ago by Martyn Gigg

Fix LoadInstrument usage test

The parameter count has changed. Refs #10532

Changeset: 86331033884bb7b6d688df1db2b1c49b32edbc6f

comment:46 Changed 6 years ago by Martyn Gigg

After the mass build breakages I'm trying to get them green.

I've fixed the LoadInstrument usage test, so please update your local copy before merging to master.

comment:47 Changed 6 years ago by Martyn Gigg

  • Status changed from verifying to reopened
  • Resolution fixed deleted

Please don't merge this yet.

There are two usage test failures:

  • GetEi
  • DgsReduction

See http://builds.mantidproject.org/view/Wall%20display/job/develop_doctest/lastCompletedBuild/testReport/

It looks to me that the parameter names for the Ei monitor spectra have been changed but GetEi2 is still looking for the old ones. It also looks like the changes to the parameter names have NOT been applied to SNS instruments so that GetEi fails there too.

Is there any need to change the parameter names?

comment:48 Changed 6 years ago by Alex Buts

This ticket does not touch anything in C++ and I do not see why it should.

Does it picks up monitor's parameters names from IDF? A unit test in C++ should verify this feature in such case.

Parameter names have changes to allow assignment from Python by the same names and python does not support minus in properties. There is way to substitute names in Python, so I am reverting change to monitor names, but separate changes are necessary to make this feature more obvious.

comment:49 Changed 6 years ago by Alex Buts

  • Status changed from reopened to inprogress

Re #10532 Renamed ei monitors names to names with dashes.

Changeset: 7228c3b7000bfa83ac207fec347cfbfa8b552c81

comment:50 Changed 6 years ago by Alex Buts

Re #10532 Change to unit tests caused by changes in properties

Changeset: 4d20e6a671b31b75ddd27fe7d6579df7a911069b

comment:51 Changed 6 years ago by Alex Buts

Re #10532 Fixed conflicts with develop

Merge branch 'feature/10532_separatePropertyManager' into develop

Conflicts:

Code/Mantid/scripts/Inelastic/DirectReductionProperties.py

Changeset: ea828d464efbb1c1c91a0cefe6db8dae4736bf26

comment:52 Changed 6 years ago by Alex Buts

Re #10532 modified deltaE-mode to have dash rather then _

Changeset: 6672970d576d84f88ac48ae952a48575e0f80c77

comment:53 Changed 6 years ago by Alex Buts

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

comment:54 Changed 6 years ago by Ian Bush

  • Status changed from verify to closed

Merge remote-tracking branch 'origin/feature/10532_separatePropertyManager'

Full changeset: c4ada99cdce54ceba0e571bd37d14a6b48e88519

comment:55 Changed 6 years ago by Ian Bush

Merge remote-tracking branch 'origin/feature/10532_separatePropertyManager'

Full changeset: e7e67016f963645a0620d0545e19b33f82f03f9b

comment:56 Changed 6 years ago by Alex Buts

  • Blocking 10676 removed

comment:57 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 11374

Note: See TracTickets for help on using tickets.