Ticket #6267 (closed: fixed)

Opened 8 years ago

Last modified 5 years ago

FilterByLogValue needs to handle integer-typed logs

Reported by: Russell Taylor Owned by: Russell Taylor
Priority: critical Milestone: Release 2.4
Component: Mantid Keywords:
Cc: Blocked By:
Blocking: Tester: Wenduo Zhou

Description

It can only deal with TimeSeriesProperty<double> at the moment.

Change History

comment:1 Changed 8 years ago by Russell Taylor

  • Status changed from new to accepted

comment:2 Changed 8 years ago by Russell Taylor

Re #6267. Tidy up property declarations.

Changeset: b8918ff76b7ba8bedcd22a6549a594dc72bd5e34

comment:3 Changed 8 years ago by Russell Taylor

Re #6267. I'd better not change the default LogBoundary value.

The fact that it broke the unit tests is probably a signal that it should stay at 'Centre'.

Changeset: d35e4f7a2c40ee1bbc4600c83748dce903a2ea16

comment:4 Changed 8 years ago by Russell Taylor

Re #6267. Filter should be [min,max], not [min,max).

Changeset: 0aa7d3d5cd91995b0591cb8bdd655097276ebdd3

comment:5 Changed 8 years ago by Russell Taylor

Re #6267 & Re #6152. Fix stop time for left-aligned time boundaries.

Changeset: 12e197a233c4cc35c00ed481830ef97b7354e281

comment:6 Changed 8 years ago by Russell Taylor

Re #6267. Remove unnecessary elements from header file.

Changeset: cf68af08be0a02aaab4e31c7391d98bcaa9f7bde

comment:7 Changed 8 years ago by Russell Taylor

Re #6267. Remove default argument.

I don't consider it to be sufficiently common that it is true as opposed to false, so remove a possibility of error.

Changeset: 4309c2cabb2f9562da0f2300d814723109568cf2

comment:8 Changed 8 years ago by Russell Taylor

Re #6267. Change makeFilterByValue args from template type to double.

Required to avoid truncation for integer-typed TSPs because the FilterByLogValue argument takes in the limits as doubles.

Changeset: 1f191ed69e81dc99fbf618ecde2b90b94918d03c

comment:9 Changed 8 years ago by Russell Taylor

Re #6267. Extend FilterByLogValue algorithm to handle integer logs.

Made use of the ITimeSeriesProperty method and added methods to that to facilitate this. The algorithm will now handle numeric (double or integer) TimeSeriesProperty logs, though not string ones.

Changeset: 5ef2babdc32df7c895dcbd2040aa5de9d2edb0b3

comment:10 Changed 8 years ago by Russell Taylor

Re #6267. Tidy up property declarations.

Changeset: b8918ff76b7ba8bedcd22a6549a594dc72bd5e34

comment:11 Changed 8 years ago by Russell Taylor

Re #6267. I'd better not change the default LogBoundary value.

The fact that it broke the unit tests is probably a signal that it should stay at 'Centre'.

Changeset: d35e4f7a2c40ee1bbc4600c83748dce903a2ea16

comment:12 Changed 8 years ago by Russell Taylor

Re #6267. Filter should be [min,max], not [min,max).

Changeset: 0aa7d3d5cd91995b0591cb8bdd655097276ebdd3

comment:13 Changed 8 years ago by Russell Taylor

Re #6267 & Re #6152. Fix stop time for left-aligned time boundaries.

Changeset: 12e197a233c4cc35c00ed481830ef97b7354e281

comment:14 Changed 8 years ago by Russell Taylor

Re #6267. Remove unnecessary elements from header file.

Changeset: cf68af08be0a02aaab4e31c7391d98bcaa9f7bde

comment:15 Changed 8 years ago by Russell Taylor

Re #6267. Remove default argument.

I don't consider it to be sufficiently common that it is true as opposed to false, so remove a possibility of error.

Changeset: 4309c2cabb2f9562da0f2300d814723109568cf2

comment:16 Changed 8 years ago by Russell Taylor

Re #6267. Change makeFilterByValue args from template type to double.

Required to avoid truncation for integer-typed TSPs because the FilterByLogValue argument takes in the limits as doubles.

Changeset: 1f191ed69e81dc99fbf618ecde2b90b94918d03c

comment:17 Changed 8 years ago by Russell Taylor

Re #6267. Extend FilterByLogValue algorithm to handle integer logs.

Made use of the ITimeSeriesProperty method and added methods to that to facilitate this. The algorithm will now handle numeric (double or integer) TimeSeriesProperty logs, though not string ones.

Changeset: 5ef2babdc32df7c895dcbd2040aa5de9d2edb0b3

comment:18 Changed 8 years ago by Russell Taylor

Re #6267. Minimum and maximum value can be the same.

Changeset: fa22af8c366eb18c3fcf4398daa5bcee7e0a0768

comment:19 Changed 8 years ago by Russell Taylor

  • Keywords PatchCandidate added
  • Milestone changed from Release 2.4 to Release 2.3.2

comment:20 Changed 8 years ago by Russell Taylor

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

To test:

Find an event file containing and integer typed time-series log and try filtering based on the value of that log. Such files/logs are hard to find, but LET00006278.nxs in the systemtests/Data directory is one (integer logs in there include total_counts). ADARA HYSPEC files (HYSA) also have some integer logs.

Previously, filtering on such logs would silently remove all events regardless of the filter values entered. Now it should do the right thing.

comment:21 Changed 8 years ago by Martyn Gigg

  • Status changed from verify to verifying
  • Tester set to Martyn Gigg

comment:22 Changed 8 years ago by Martyn Gigg

  • Status changed from verifying to closed
Last edited 8 years ago by Martyn Gigg (previous) (diff)

comment:23 Changed 8 years ago by Michael Reuter

  • Status changed from closed to reopened
  • Resolution fixed deleted
  • Milestone changed from Release 2.3.2 to Release 2.4

This actually hadn't been ported to the branch yet and it requires changes from another ticket. Russell and I agreed that it's too big for a patch release, so it will go back to the main milestone.

comment:24 Changed 8 years ago by Russell Taylor

Re #6267. Add a validateInputs method and tests.

Adds cross-checking of parameters, such as the log actually existing in the given workspace and being of a valid type.

Changeset: 86d622e224c4bbdb0fade03d4869c16068c916e5

comment:25 Changed 8 years ago by Russell Taylor

Re #6267. Allow default values for min/max log value.

Can now leave MinimumValue or MaximumValue empty in FilterByLogValue and the filter will be one-sided on the value that is given.

Required addition of minValue & maxValue methods on TimeSeriesProperty.

Changeset: be398aa9a963f9dc9a8800fd9af338cc90188704

comment:26 Changed 8 years ago by Russell Taylor

Re #6267. Suppress compiler warnings.

They come from template instantiations for types for which these methods are never called.

Changeset: 14bc0850273a69e64d093ffecaa66cdedd9fd11e

comment:27 Changed 8 years ago by Russell Taylor

Re #6267. gcc 4.4 doesn't understand 'diagnostic push/pop'.

Changeset: 225875b19882d37a1b406d1de31968a5ba95b62b

comment:28 Changed 8 years ago by Russell Taylor

Re #6267. Minimum and maximum value can be the same.

Changeset: f55b2d46f54c66d62d9049915783335b1b748cea

comment:29 Changed 8 years ago by Russell Taylor

Re #6267. Add a validateInputs method and tests.

Adds cross-checking of parameters, such as the log actually existing in the given workspace and being of a valid type.

Changeset: 305110b67c3ae3533e103a3f1f23cd43c8237837

comment:30 Changed 8 years ago by Russell Taylor

Re #6267. Allow default values for min/max log value.

Can now leave MinimumValue or MaximumValue empty in FilterByLogValue and the filter will be one-sided on the value that is given.

Required addition of minValue & maxValue methods on TimeSeriesProperty.

Changeset: 7d52f76eb28440cb0c206559dddda399be708f99

comment:31 Changed 8 years ago by Russell Taylor

Re #6267. Suppress compiler warnings.

They come from template instantiations for types for which these methods are never called.

Changeset: cf5619c0251be36cfc2f15bd66d0410fa82bbb71

comment:32 Changed 8 years ago by Russell Taylor

Re #6267. gcc 4.4 doesn't understand 'diagnostic push/pop'.

Changeset: 0c61284ebe228ad037f19c1c05b47b6b21290498

comment:33 Changed 8 years ago by Russell Taylor

  • Status changed from reopened to accepted

comment:34 Changed 8 years ago by Russell Taylor

  • Keywords PatchCandidate removed
  • Status changed from accepted to verify
  • Resolution set to fixed

See comment:20 for how to test.

comment:35 Changed 8 years ago by Wenduo Zhou

  • Status changed from verify to verifying
  • Tester changed from Martyn Gigg to Wenduo Zhou

comment:36 Changed 8 years ago by Wenduo Zhou

  • Status changed from verifying to closed

comment:37 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 7113

Note: See TracTickets for help on using tickets.